Indexer overview
A read-only chain node, indexer, and HTTP read API. Stores canonical chain records and serves searchable views over them, without ever signing or sending a transaction.
The Indexer is the data layer the rest of Scanner is built on. It runs its own chain node, keeps the records that node confirms, and serves them over an HTTP read API.
It is read-only by construction. It holds no keys, signs nothing, and sends no transactions. The only thing it does with a chain is observe it.
Today it indexes Robinhood Chain. It was built so a second chain is configuration plus an ingest adapter rather than a rewrite, and more chains are coming. See Chains for what that means for callers.
Speculative and confirmed records
The Indexer keeps what it has seen early apart from what it has verified, on purpose.
An early observation is published within seconds, before execution is settled. A record is marked confirmed only once its canonical receipt has been verified.
The rule that falls out of this is the single most important thing to understand about the data:
A record seen early may revert. Swaps, transfers, approvals, deployments, and launch signals carry speculative provenance until a canonical receipt confirms them. Only a confirmed record can mark an attempt successful.
Latency and correctness are separate. A delay in observation costs freshness, and never promotes a speculative record into a confirmed one.
What it serves
115 routes, grouped by the thing you are asking about.
| Group | What you get |
|---|---|
| Tokens | Identity, supply, holders, transfers, swaps, candles, market cap, all-time high and low, launch lifecycle |
| Pools | Pool identity, swaps, ticks, candles, liquidity, rolling statistics, including Uniswap V4 keyed by manager and pool id |
| Wallets | Holdings, portfolio, positions and PnL, trades, transfers, transactions, unified activity, funding graph |
| Chain | Blocks, transactions, receipts, logs, decoded logs and calldata, internal transfers |
| Screener and rankings | Filtered and sorted views over tokens and pools, with every ranking publishing its own formula |
| Cohorts | Wallet clusters, their members, and the evidence edges that produced them |
| Streams | Live subscriptions to heads, blocks, transactions, logs, transfers, AMM events, creations, launches, and live candles |
| Addresses and contracts | Address type, labels, runtime code observation |
| Live RPC | Read-through to the node for head, code, balance, and token metadata right now |
Full paths and response fields are in the API reference.
What it will not do
It states these limits rather than papering over them, which is worth knowing before you build on it.
- It does not merge quote units. A token trading against wrapped native and against a stablecoin has two separate series, and nothing sums them.
- It does not invent labels. A label is published only where the Indexer has evidence for it.
- It does not guess. A value it could not derive is null with a reason, never zero and never omitted.
- It does not serve a partial answer as a complete one. A route whose backing data is still building, disabled, or stale refuses rather than under-reporting.
What it stores covers those rules in detail, because they change how you read a number.