Skip to content

newFlashblocks

Subscribe via eth_subscribe to receive full block state updates as each Flashblock is built. Each message contains the accumulated pre-confirmed state for the block in progress.

Only available on Flashblocks WebSocket endpoints: wss://mainnet-preconf.base.org and wss://sepolia-preconf.base.org.

Requires base/base minimum client version v0.3.1.

Each subscription emits one Flashblock object per WebSocket message, with events arriving roughly every 200ms. If your handler does heavy work per event, throttle or debounce it to avoid blocking.

NameTypeRequiredDescription
subscriptionTypestringYesMust be "newFlashblocks".
FieldTypeDescription
resultstringHex-encoded subscription ID. Each event notification delivers a Flashblock object — not a standard block object. The payload contains payload_id, index, diff, and (on index 0) base. See the infrastructure stream schema for the full structure.
{"jsonrpc": "2.0", "id": 1, "method": "eth_subscribe", "params": ["newFlashblocks"]}
{"jsonrpc": "2.0", "id": 1, "result": "0x3b8cd9e5f4a7b2c1d0e3f4a5b6c7d8e9"}
import WebSocket from 'ws';
// Use a Flashblocks-enabled provider WSS endpoint in production
const ws = new WebSocket('wss://mainnet-preconf.base.org');
ws.on('open', () => {
ws.send(JSON.stringify({
jsonrpc: '2.0',
method: 'eth_subscribe',
params: ['newFlashblocks'],
id: 1
}));
});
ws.on('message', (data) => {
const msg = JSON.parse(data.toString());
if (msg.method === 'eth_subscription') {
// Fires every ~200ms with the latest Flashblock state
console.log('Flashblock update:', msg.params.result);
}
});