Install
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 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.