v2.2.0 · MIT OR Apache-2.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: build with cargo  ·  verify the script

A real run, start to finish. init resolves the ABI and scaffolds the project; dev follows the tip, seals finalized ranges to Parquet, and serves it.

~58 MB RAM measured

A three-contract, 23-table nest, tip-following and serving, live - 2.8% of the 2 GB budget CI enforces.

74.8 s measured

Sentio's OBIB case 1 - 22.2M blocks of Ethereum, 294,278 events - in 321 RPC requests and 320 MB. Someone else's benchmark, run against a real provider.

< 2 minutes target

Contract address to live indexed API. Timed from init to first query.

0 third parties

No gateway, no metered API, no tokens, no telemetry. Your node, your data, your box.


One process, from RPC to a query you can trust.

  1. chain RPC · reth ExEx (planned)
  2. deterministic decode topic0-keyed, versioned
  3. incremental views IVM · reorgs = retractions
  4. redb + Parquet hot tip · sealed segments
  5. entities · SQL · balances · 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 via WIT. A component granted zero capabilities is pure, so it can be re-executed and verified; effectful ones only annotate.

Where this is going is public, RFC by RFC - see the roadmap.


Three front doors.

App backends

POST /sql, like a database that fills itself.

Analysts

run a published nest, write no indexing code.

Agents

built-in MCP, fully local.


The honest comparison.

NuthatchThe GraphGoldskyPonderSubsquid
Runs on your hardware ~ Heavy self-host - Managed only
One-binary install - node + PG + IPFS - - Node.js runtime - Archive + PG
No mandatory third-party API ~ If self-hosted - Required ~ Needs an RPC ~ Archive network
Deterministic / re-executable ~ PoI - - Imperative - Imperative
Declarative entities (IVM) - AssemblyScript - - TypeScript - TypeScript
Built-in MCP server - - - -
Licence MIT / Apache-2.0 Open source Closed MIT Apache-2.0
Price Free Per-query fees Usage-based Free Free

Ponder is excellent. If you want TypeScript, use it. The Graph, Goldsky, and Subsquid are good tools too; this table states facts, not a verdict.


A subgraph, rebuilt as a nest.

A real Graph Horizon subgraph rebuilt as a Nuthatch nest - multiple contracts on Arbitrum One, folded delegation state, user-authored views, parity-checked. It runs today; a GraphQL compatibility layer for subgraph-shaped clients is the main piece still on the roadmap.

See the example →

The AI writes the code. It never sits in the data path.

For agents
  • A built-in MCP server - 12 tools, 3 resources, and 3 prompts: schema discovery, SQL, entity and balance lookup, plus flags, exposure, and sanctions screening.
  • A governed semantic layer: schema serves this nest's meaning, and a failed query comes back as a fix hint (explain checks a query before it runs) - so the agent gets it right first try.
  • Ships llms.txt and a Claude Code skill an agent uses to drive nuthatch, not just read it.
  • Works fully offline against your local instance.
For you
  • init resolves the ABI and scaffolds the project: config, llms.txt, and a Claude Code skill.
  • The skill hands the tool the real query surface, so it uses actual endpoints, not guesses.
  • Planned: generated schema, views, and tests from an ABI, reviewed through the deterministic core.
  • Planned: local models via Ollama or your own key - no AI feature will require the cloud.

Two minutes. One binary. No one to ask.

curl -fsSL https://nuthatch-indexer.com/install.sh | sh

Full install options · Read the manifesto