Flashblocks
Flashblocks lets you receive early transaction confirmation signals without waiting for the next block to be produced. This enables real-time responsiveness for apps that require fast user feedback.
What is Flashblocks?
When you submit a transaction on GIWA, it is normally confirmed once it is included in a block. Since GIWA produces a block roughly every 1 second, this confirmation time can take up to one full block interval. (and may be longer during network congestion.)
Flashblocks improves this experience by providing preconfirmations—instant signals that arrive up to ~200ms after you send a transaction. Instead of waiting for the next block to be produced, users can receive fast feedback about whether their transaction is likely to be included.
Flashblocks does not create blocks faster. It simply gives you an earlier view of transaction status before the block is sealed.
This makes Flashblocks especially useful for:
Wallets and web services that want immediate transaction feedback
Payment services that want fast checkout experiences
Games and real-time applications that require responsive UX
Using Flashblocks
Flashblocks RPC works just like the standard Ethereum JSON-RPC interface. To use it, your RPC provider must support Flashblocks mode—these are called Flashblocks-aware RPC endpoints.
Flashblocks-aware RPC
GIWA provides Flashblocks-aware RPC endpoints for development and testing:
GIWA Testnet (Sepolia)
GIWA Mainnet
🚧 Coming soon
The endpoint above is intended for development and testing and is rate-limited. For production applications, we recommend using an external node provider or running your own Flashblocks-aware RPC node.
Supported RPC Methods
Below are common RPC methods that support Flashblocks. Most methods use the pending block tag to return data from the latest flashblock state.
eth_call
eth_callExecutes a smart contract call against the latest flashblock state using the pending tag.
Request
Response
eth_estimateGas
eth_estimateGas Estimates gas usage based on the latest flashblock state using the pending tag.
Request
Response
eth_getBalance
eth_getBalance Returns an address’s balance in the latest flashblock state using the pending tag.
Request
Response
eth_getBlockByNumber
eth_getBlockByNumber Retrieves the most recent flashblock when pending is used.
Request
Response
eth_getLogs
eth_getLogs Retrieves logs from the latest flashblock state using the pending tag.
Request
Response
eth_getTransactionCount
eth_getTransactionCount Returns the nonce of an address from the latest flashblock state using the pending tag.
Request
Response
eth_getTransactionByHash
eth_getTransactionByHash Returns transaction information based on a hash, including flashblock-specific details.
Request
Response
eth_getTransactionReceipt
eth_getTransactionReceipt Returns a transaction receipt from the flashblock state (preconfirmed).
Request
Response
eth_simulateV1
eth_simulateV1Simulates transactions using the latest flashblock state.
Request
Response
Learn more
Check out the OP Stack developer docs for further details.
Last updated