Ink now on Substreams and Firehose with Extended Blocks

Ink, Kraken’s OP Stack L2 for DeFi, is now supported on the Substreams Extended block model. Posting the details here for anyone building on Ink or indexing it:

Why the block model matters: A chain onboarded to Substreams gets one of two block models. A base block comes from an RPC Poller integration and carries what a standard endpoint exposes: blocks, transactions, receipts, and logs. An extended block comes from full node instrumentation and carries the complete internal record of each block. Ink is on the extended model, so the instrumentation-only fields are populated rather than empty.

What extended support adds on Ink:

  • Internal calls: the full call tree for every transaction. On a DeFi chain, value moves through internal calls: lending on Aave and Tydro, multi-hop routing, liquidations. Extended blocks let you attribute every transfer instead of inferring it from top-level transactions.

  • Balance changes: every change to a native-token balance. Exact balance history for any address without re-deriving it from transactions and gas math.

  • Storage changes: the storage slots that change in each block, so you can index and verify contract state that never emits an event. Keccak preimages are recorded too, so a hashed storage key can be walked back to its mapping key when you know the contract’s storage layout.

  • Code changes: every contract deployment, including the pools, markets, and vaults a factory creates through internal calls that never appear as a top-level transaction.

Why this beats RPC: Internal calls, balance changes, storage diffs, and code changes are not in the standard JSON-RPC surface. Pulling them means debug_traceTransaction, the trace_ namespace, or state-diff tracers across archive state, which are expensive, rate-limited, and often gated or disabled. Extended blocks capture that data at execution time, for every block, and Substreams serve it with parallel replay, determinism, and reorg awareness.

Get started with Ink using Pinax: https://app.pinax.network
The Graph’s Ink Docs: https://thegraph.com/docs/en/supported-networks/ink/
How Extended Blocks work: https://thegraph.com/blog/extended-blocks-for-substreams
More on Extended Blocks: Base vs Extended EVM Blocks: A Developer Guide · Pinax App