Get Nuthatch running.

Embedded mode is a single static binary with no external services. Pick whichever route you trust. Every one lands you at the same place: nuthatch init, then nuthatch dev.

v2.7.0 is out. A nest declaring [[calls]] can use --seal-direct again: every direct-seal path resolves the pinned reads before committing its segment. Factory backfills now narrow and retry when newly discovered children exceed a provider's response cap, and declared events which have not fired yet appear as empty typed tables rather than taking an authored view down. doctor measures a nest's full contract set, timestamp retry splits run concurrently, and benchmark output no longer prints state-RPC credentials. The old seal-direct performance multipliers have been withdrawn after a harness correction made their baseline invalid. Drop-in: swap the binary and restart, with no config change, data migration or re-index.

Shell script

Detects your platform, downloads the matching static binary from the latest GitHub release, verifies its SHA-256 checksum, and puts it on your PATH. Covers macOS Apple Silicon and Linux x86_64; other targets fall back to cargo.

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

Piping to a shell asks for trust. Read it first: the script is short and on GitHub, or download it, read it, then run it.

Cargo

Build from source straight from the repo. The toolchain pin is required, not advisory: rust-toolchain.toml does not apply to cargo install --git, and rustc 1.97 hits a dbsp ICE that installs nothing. No prebuilt binary in the trust path.

cargo +1.95.0 install --git https://github.com/nightswatchhq/nuthatch nuthatch

Or grab a tarball and its .sha256 yourself from the latest GitHub release.

Homebrew planned

macOS and Linuxbrew, once a tap is published.

brew install nuthatch

Docker

Embedded mode needs no Docker at all - that is rather the point. Images are published for anyone who wants one, and for scaled mode, where Postgres replaces the embedded hot store across a fleet.

docker run --rm -v $PWD/nest:/nest ghcr.io/nightswatchhq/nuthatch:latest dev --dir /nest

:latest is the embedded build. :2.7.0-scaled carries the Postgres driver and the worker, control and serve --hot-store commands. The compose files live in the repo.

First run

Point it at a contract and go. Public RPC defaults; no key required.

nuthatch init 0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48 --chain mainnet
nuthatch dev

init resolves each contract's ABI (proxies included), scaffolds a nest, and writes a schema.json, an llms.txt, and a Claude Code skill. Pass several addresses to index a multi-contract nest, and --chain arbitrum-one or --chain base for the L2s. dev follows the tip and serves /tables, /table/{name}, read-only /sql, balances, /metrics, and MCP on one local endpoint.


Verify what you downloaded

Every release binary ships with a SHA-256 checksum file. The shell script checks the sum for you; do it yourself for the manual download.

sha256sum -c nuthatch-<target>.tar.gz.sha256
Detached signatures planned

Releases ship checksums but not yet detached signatures. Minisign and cosign signing, with a published key, land with the remaining release engineering - see the roadmap. Until then, verify the checksum.