Flashblocks
What is Flashblocks?
Flashblocks lets you get transaction and network state faster by using the current in-progress block state before the block is finally confirmed. You can check information at shorter intervals than waiting for the block to be fully produced, which is useful for latency-sensitive applications.
This feature does not replace block confirmation; it aims to give fast feedback based on pre-confirmation state. You can see the latest state before confirmation—such as whether a transaction is included in a block, account balance and nonce changes, event logs, and call results. This is not final confirmed state, but it can be used as fast, meaningful feedback for user experience.
Supported JSON-RPC methods
Flashblocks is available with the pending block tag on the following standard JSON-RPC methods, so you can query results that reflect pre-confirmation state. State queried with pending reflects the current in-progress block after the last confirmed block (the latest tag).
- eth_call
- eth_estimateGas
- eth_getBalance
- eth_getTransactionCount
- eth_getLogs
- eth_getBlockByNumber
- eth_getTransactionByHash
- eth_getTransactionReceipt
Usage examples
Below are simple examples of querying state with the pending block tag via JSON-RPC.
eth_call example
curl https://giwa-sepolia.nodit.io/{{API-KEY}} \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"method":"eth_call",
"params":[
{ "to": "0x...", "data": "0x..." },
"pending"
],
"id":1
}'
eth_getBlockByNumber example
curl https://giwa-sepolia.nodit.io/{{API-KEY}} \
-X POST \
-H "Content-Type: application/json" \
-d '{
"jsonrpc":"2.0",
"method":"eth_getBlockByNumber",
"params":["pending", true],
"id":1
}'
Responses for pending reflect state before block confirmation and may change as blocks are produced and confirmed. They are not final; for logic that requires consistency and finality, use confirmed block state.
Official documentation
For more on Flashblocks on GIWA, see the GIWA official documentation.