From 65451087a96329fb0b1c52777b4b1d605d50230c Mon Sep 17 00:00:00 2001 From: roethke Date: Wed, 11 Mar 2026 14:15:38 -0700 Subject: [PATCH 1/2] add faq entry for fb index exceeding 10 --- docs/base-chain/flashblocks/faq.mdx | 18 ++++++++++++++++-- 1 file changed, 16 insertions(+), 2 deletions(-) diff --git a/docs/base-chain/flashblocks/faq.mdx b/docs/base-chain/flashblocks/faq.mdx index 04da7e3e2..5ae635d52 100644 --- a/docs/base-chain/flashblocks/faq.mdx +++ b/docs/base-chain/flashblocks/faq.mdx @@ -28,7 +28,7 @@ For a comprehensive introduction to how Flashblocks work, see the [Flashblocks O Transactions with large gas limits (> ~18.75M gas, which is 1/10 of the ~187.5M block limit) may have longer inclusion times. This is because the builder allocates gas cumulatively—each Flashblock `j` can use up to `j/10` of the total block gas limit. Large transactions can be included once enough cumulative capacity exists. - See [Gas Allocation](/base-chain/flashblocks/overview#gas-allocation) for the full breakdown. + See [Gas & Transaction Sizing](/base-chain/flashblocks/app-integration#gas--transaction-sizing) for the full breakdown. @@ -87,6 +87,20 @@ For a comprehensive introduction to how Flashblocks work, see the [Flashblocks O This is expected. When the previous block takes longer to build, the system compensates by allocating less time to the next block, resulting in fewer Flashblocks. + + **No, it is not a bug.** Seeing indices of 10, 11, or higher is expected behavior. + + The standard math — 2-second block time ÷ 200ms per Flashblock — gives exactly 10 Flashblocks (indices 0–9). In practice, however, the transition from one full L2 block to the next is not always perfectly synchronized with the 200ms timer. Two things can cause extra indices: + + 1. **Sequencer delay:** If the sequencer takes slightly longer than 2000ms to finalize and seal the full block, the Flashblock stream continues emitting incremental updates for the current block to keep the stream live. + 2. **Timing drift:** If the internal 200ms clock drifts or starts early relative to the L2 block's canonical start time, an extra update can fit within the 2-second window. + + **What this means for your implementation:** + - Do not hardcode `9` or `10` as the final index — the last Flashblock for a given block is not predictable by index alone. + - Watch the `payloadId` instead. The most reliable signal that a block has finished is when `payloadId` changes, or when the full block is confirmed via standard RPC. All Flashblocks sharing the same `payloadId` belong to the same block, regardless of how high the index goes. + - Once the sequencer advances to the next block, `payloadId` resets and `index` returns to `0`. + + Transaction data in the [`diff.transactions`](/base-chain/flashblocks/api-reference#diff-object) array is Recursive Length Prefix (RLP) encoded. @@ -128,7 +142,7 @@ For a comprehensive introduction to how Flashblocks work, see the [Flashblocks O | `eth_subscribe` | Stream Flashblock data in real-time (Beta) | | `base_transactionStatus` | Check if transaction is in mempool (Beta) | - See [App Integration](/base-chain/flashblocks/app-integration#rpc-api-reference) for full examples. + See the [Flashblocks API Reference](/base-chain/flashblocks/api-reference) for full method details and examples. From 3e70afc54e13c47fd4e0315ec20c06264ac3ca82 Mon Sep 17 00:00:00 2001 From: roethke Date: Wed, 11 Mar 2026 14:17:54 -0700 Subject: [PATCH 2/2] fix ref anchor --- docs/base-chain/flashblocks/faq.mdx | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/docs/base-chain/flashblocks/faq.mdx b/docs/base-chain/flashblocks/faq.mdx index 5ae635d52..5b01edfe5 100644 --- a/docs/base-chain/flashblocks/faq.mdx +++ b/docs/base-chain/flashblocks/faq.mdx @@ -28,7 +28,7 @@ For a comprehensive introduction to how Flashblocks work, see the [Flashblocks O Transactions with large gas limits (> ~18.75M gas, which is 1/10 of the ~187.5M block limit) may have longer inclusion times. This is because the builder allocates gas cumulatively—each Flashblock `j` can use up to `j/10` of the total block gas limit. Large transactions can be included once enough cumulative capacity exists. - See [Gas & Transaction Sizing](/base-chain/flashblocks/app-integration#gas--transaction-sizing) for the full breakdown. + See [Gas & Transaction Sizing](/base-chain/flashblocks/app-integration#gas-&-transaction-sizing) for the full breakdown.