Full execution data for Kraken’s DeFi Layer 2, now in the Pinax app.
Ink is back on Pinax. Starting today, our Firehose and Substreams endpoints serve Ink as extended blocks, so you can index not just what contracts logged, but everything they did. On a chain built for DeFi, that’s the data that matters.
Base blocks vs extended blocks
Both block types use the same schema, sf.ethereum.type.v2.Block. The difference is where the data comes from.
- Base blocks are rebuilt by polling a standard JSON-RPC node: block headers, transactions, receipts and event logs.
- Extended blocks come from an instrumented node that records the full execution of every transaction. You get everything above, plus internal calls, native value transfers inside calls, balance changes, storage changes, nonce and code changes, and gas used per call.
The block’s detail_level field tells you which one you’re reading. Our guide to block types has the full comparison.
How we serve Ink
Ink runs on Firehose-instrumented nodes in Pinax infrastructure. Every block is captured once, at execution time, with its full call tree and state changes, then stored so Substreams can replay history in parallel and stream new blocks in real time.
Why it matters on Ink
Most DeFi activity happens below the level of top-level transactions and logs:
- Internal calls. Lending, multi-hop routing and liquidations move value through contract-to-contract calls. Extended blocks give you the full call tree, so you can attribute every transfer instead of inferring it.
- Native balance changes. Exact ETH balance history for any address, with no need to re-derive it from transactions and gas.
- Storage changes. Index contract state that never emits an event, and check indexed state against on-chain state.
- Code changes. Track every contract deployment, including pools, markets and vaults that factories create through internal calls.
Getting this data from RPC means debug_traceTransaction, trace_ methods or state-diff tracers on archive nodes, which are slow, metered and often disabled. Extended blocks capture it for every block.
What changes for developers
- Modules port over. Substreams modules written for Ethereum, Base or Optimism that rely on calls or state changes now run on Ink without a rewrite.
- Reorg-safe streaming. Firehose handles forks for you, so real-time consumers get consistent data without extra code.
- Send it anywhere. Substreams can sink to Postgres, ClickHouse, a key-value store, PubSub, files or a Subgraph.
One trade-off: extended blocks are larger, so Substreams egress is higher than on base blocks.
Get started in the Pinax app
- Sign up and create an API key at app.pinax.network.
- Point your Substreams or Firehose client at Ink:
Substreams: ink.substreams.pinax.network:443
Firehose: ink.firehose.pinax.network:443 - Check that detail_level reads DETAIL_LEVEL_EXTENDED. The block types guide explains how.
The Pinax docs cover authentication, endpoints and sinks. Chain details are at pinax.network/chain/ink.
Ink extended blocks are also available through The Graph Market, served from the same Pinax infrastructure.
Building on Ink and need execution-level data at scale? Talk to us.



No Comments