You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
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
| 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)|
18
18
19
19
## Configurations
20
20
@@ -38,15 +38,44 @@ And so on for subsequent Flashblocks
38
38
39
39
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.
40
40
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
+
41
71
### Vanilla
42
72
43
73
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)).
45
75
46
76
## Changelog
47
77
48
78
* 7th July: Enabled Flashblocks on Base Mainnet
49
79
* 15th May: Ended testing Flashblocks on Base Mainnet
50
80
* 15th May: Started testing Flashblocks on Base Mainnet
0 commit comments