Skip to content

Commit 5ef30ed

Browse files
authored
Add per-transaction gas limit to block building docs (#181)
* Add per-transaction gas limit to block building docs * Add a warning about the upcoming change with a timeline * Reorganize to convey that max-tx-gas is a block building configuration change * Make the headings in the warning callout legible in dark mode
1 parent 81874ed commit 5ef30ed

2 files changed

Lines changed: 38 additions & 4 deletions

File tree

docs/base-chain/network-information/block-building.mdx

Lines changed: 33 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,8 @@ The Base networks are currently configured in the following ways:
1313

1414
| Network | Current Configuration | Upcoming Deployments |
1515
|--------------|-----------------------------|------------------------|
16-
| Base Mainnet | [Flashblocks](#flashblocks) | None |
17-
| Base Sepolia | [Flashblocks](#flashblocks) | None |
16+
| Base Mainnet | [Flashblocks](#flashblocks) | Sep 10: [Flashblocks](#flashblocks) + [Per-Transaction Gas Max](#per-transaction-gas-maximum) |
17+
| Base Sepolia | [Flashblocks](#flashblocks) | Sep 3: [Flashblocks](#flashblocks) + [Per-Transaction Gas Max](#per-transaction-gas-maximum) |
1818

1919
## Configurations
2020

@@ -38,15 +38,44 @@ And so on for subsequent Flashblocks
3838

3939
Consequently, transactions with large gas requirements must wait for later Flashblocks with sufficient gas capacity. For example, a transaction exceeding 1/10 of the block's gas limit cannot be included in Flashblock 1 and must wait for Flashblock 2 or later.
4040

41+
### Per-Transaction Gas Maximum
42+
43+
<Warning>
44+
On **September 10**, we’ll begin enforcing a per‑transaction gas cap of 16,777,216 gas (2^24) on Base. This aligns Base with the [in‑flight L1 proposal](https://eips.ethereum.org/EIPS/eip-7825), improves network predictability, and has no effect on fees for typical users. We’ll activate it first on Base Sepolia on **September 3**, then activate it on Base mainnet temporarily for one day on **September 10** as a warning. This will be activated permanently on Base mainnet on **September 17**.
45+
46+
#### What’s changing
47+
48+
Today, a single transaction can request any gas up to the block gas limit. With this change, transactions that specify gas > 16,777,216 will be rejected by the mempool before inclusion.
49+
50+
#### Why we’re doing this
51+
52+
* Predictability & resilience. Bounding single‑tx execution reduces extreme outliers and makes block building more stable.
53+
* Consistency with Ethereum. The L1 community is converging on a 2^24 per‑tx cap; we’re aligning early so builders don’t have to juggle different rules across layers.
54+
* No practical impact for most builders. The overwhelming majority of Base transactions are far below this cap.
55+
56+
#### Action items for developers
57+
58+
* If you manually set large gas limits, update your code to stay ≤ 16,777,216.
59+
* For batch jobs or complex on‑chain work, split large jobs into smaller calls.
60+
* If you maintain custom tooling, surface a clear message when the cap hits.
61+
62+
63+
#### FAQ
64+
65+
* **Does this change the block gas limit or fees?** No. This is a per‑transaction guardrail.
66+
* **Will contract deployments break?** Typical deployments are well below the cap. If yours isn’t, consider slimming bytecode or chunking initialization.
67+
</Warning>
68+
69+
Base enforces a per-transaction gas maximum of **16,777,216 gas (2^24)**. Transactions that specify a gas limit above this value are **rejected by the mempool before inclusion**. `eth_sendTransaction` or `eth_sendRawTransaction` will return a JSON-RPC error (for example: `exceeds maximum per-transaction gas limit`). This cap does **not** change the block gas limit or the block validity conditions (that will come later with [EIP 7825](https://eips.ethereum.org/EIPS/eip-7825)).
70+
4171
### Vanilla
4272

4373
Blocks are built every 2s by [op-geth](https://github.com/ethereum-optimism/op-geth). Transactions within those blocks are ordered by
44-
priority fee, see the ([code](https://github.com/ethereum-optimism/op-geth/blob/optimism/miner/worker.go#L627).
74+
priority fee, see the ([code](https://github.com/ethereum-optimism/op-geth/blob/optimism/miner/worker.go#L627)).
4575

4676
## Changelog
4777

4878
* 7th July: Enabled Flashblocks on Base Mainnet
4979
* 15th May: Ended testing Flashblocks on Base Mainnet
5080
* 15th May: Started testing Flashblocks on Base Mainnet
5181
* 25th Feb: Enabled Flashblocks on Base Sepolia
52-

docs/custom.css

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,3 +32,8 @@
3232
.home_header div p {
3333
margin-top: 10px;
3434
}
35+
36+
/* Callout heading contrast in dark mode */
37+
.dark .callout :is(h1, h2, h3, h4, h5, h6) {
38+
color: inherit;
39+
}

0 commit comments

Comments
 (0)