Constructs and serves indices of the Mina blockchain via GraphQL.
The Mina Indexer uses precomputed blocks (logged by a Mina node) as the source
of truth for the blockchain. It ingests them into a speedb
store, tracks recent chain history in a witness tree, computes canonicity and
ledgers, and serves GraphQL + REST (default :8080).
See an instance of the Mina Indexer in action at MinaSearch.
- docs/operating.md — run, configure (full CLI + environment reference), observe, and recover an instance.
- ops/README.md — turnkey per-network configless OCI images
(mainnet / devnet / mesa-mut):
docker runwith zero flags. - ops/OBSERVABILITY.md — Prometheus
/metrics, structured JSON logging, periodic speedb checkpoints + recovery. - ops/mesa-mut/TRUSTLESS-DEMO.md — trustless, SNARK-proof-gated block ingestion.
- docs/README.md — full index, including design deep-dives.
- CLAUDE.md — architecture & build notes for contributors and coding agents.
docker run -d --name indexer -p 8080:8080 \
-v indexer-mainnet:/data \
ghcr.io/o1-labs/mina-indexer:<tag>-mainnet
curl -s localhost:8080/summary | jqNo flags or mounts are required — the image knows its network, genesis, and block source, and follows the chain tip. See ops/README.md for the devnet and mesa-mut images.
Set ulimit -n (max open files) to 4096 or more.
Run rake check to check for errors. See also the output of rake for other
options.
The default storage location is on /mnt because the testing code may download
large volumes of test data, and placing on /mnt gives an opportunity to use
different storage volumes from one's build directory.
Set the VOLUMES_DIR environment variable if you want to replace /mnt with
another path.
Execute unit tests to validate code functionality with:
rake testTo quickly perform regression tests, which check for new bugs in existing features after updates, use:
rake devTo perform the test battery that the CI runs, use:
rake test
rake test_systemrake deploy:local_prod uses the Nix-based release binary
Note: This requires the Docker Engine to be installed.
Building the OCI (Docker) image from Nix must happen from an x86-64-linux
machine.
Issue the following command to build the image and load it into Docker:
rake build:oci_imageCopyright 2022-2025 Granola Systems Inc.
This software is licensed under the Apache License, Version 2.0.