Pre-release · AGPL-3.0
Be your own indexer.
Nuthatch is a self-hosted blockchain indexer in one Rust binary. From contract address to live indexed API in under two minutes. No services to rent, no APIs to trust, nothing phoning home.
curl -fsSL https://nuthatch-indexer.com/install.sh | sh
or: cargo install nuthatch · brew install nuthatch
·
verify the script
A real run, start to finish. init resolves the ABI and scaffolds the
project; dev follows the tip and serves it.
One chain, tip-following and serving, on a €5 VPS. That's the budget, enforced in CI.
Contract address to live indexed API. Timed from init to first query.
No gateway, no metered API, no tokens, no telemetry. Your node, your data, your box.
How it works
One process, from RPC to a query you can trust.
- chain RPC · reth ExEx
- deterministic decode topic0-keyed, versioned
- incremental views IVM · reorgs = retractions
- redb + Parquet hot tip · sealed segments
- SQL · GraphQL · streams · MCP one local endpoint
Two engines, one binary
A hot store (redb) answers entity point-reads at the tip. Past finality, ranges seal to content-addressed Parquet segments, and an embedded DuckDB attaches them read-only for analytical SQL. Single writer, no Postgres, no Docker.
Entities as incremental views
Entities are declarative views over decoded events, maintained incrementally. A reorg is a retraction, not a pile of rollback code. Backfills are the same circuit run as a batch. The columnar layer stays append-only, by construction.
Deterministic by construction
Decode and derivation are reproducible. The escape hatch is capability-isolated WASM components in any language via WIT. A component granted zero capabilities is pure, so it can be re-executed and verified. Effectful ones only annotate.
Where it sits
The honest comparison.
| Nuthatch | The Graph | Goldsky | Ponder | |
|---|---|---|---|---|
| Runs on your hardware | ✓ | ~ Heavy self-host | — Managed only | ✓ |
| One-binary install | ✓ | — node + PG + IPFS | — | — Node.js runtime |
| No mandatory third-party API | ✓ | ~ If self-hosted | — Required | ~ Needs an RPC |
| Deterministic / re-executable | ✓ | ~ PoI | — | — Imperative |
| Declarative entities (IVM) | ✓ | — AssemblyScript | — | — TypeScript |
| Built-in MCP server | ✓ | — | — | — |
| Licence | AGPL-3.0 | Open source | Closed | MIT |
| Price | Free | Per-query fees | Usage-based | Free |
Ponder is excellent. If you want TypeScript, use it. The Graph and Goldsky are good tools too; this table states facts, not a verdict.
AI-native, sovereignty-respecting
The AI writes the code. It never sits in the data path.
- A built-in MCP server: schema discovery, SQL, entity lookup, streaming subscribe.
- Semantic schema discovery so a model gets real types, not a guess.
- Ships
llms.txtand docs an agent can read. - Works fully offline against your local instance.
initscaffolds a complete indexer with a passing test suite from an ABI.- Ships Claude Code and Cursor skills, so the tools know the syntax.
- Local models via Ollama, or bring your own key.
- Every AI feature degrades gracefully with no network.
Two minutes. One binary. No one to ask.
curl -fsSL https://nuthatch-indexer.com/install.sh | sh