alto-indexer

Crates.ioalto-indexer
lib.rsalto-indexer
version0.0.18
created_at2025-12-30 09:43:46.02704+00
updated_at2026-01-15 08:26:37.644791+00
descriptionServe alto activity.
homepagehttps://alto.commonware.xyz
repositoryhttps://github.com/commonwarexyz/alto/tree/main/indexer
max_upload_size
id2012369
size146,049
Patrick O'Grady (patrick-ogrady)

documentation

https://docs.rs/alto-indexer

README

alto-indexer

Crates.io Docs.rs

Serve alto activity.

This is a stateless indexer intended for local use. If you want to utilize in production, adapt the code to utilize a database for storage (rather than memory).

Status

alto-indexer is ALPHA software and is not yet recommended for production use. Developers should expect breaking changes and occasional instability.

Installation

Local

cargo install --path . --force

Crates.io

cargo install alto-indexer

Usage

Start the indexer

indexer --port 8080 --identity <hex-encoded BLS12-381 public key>

The identity is the threshold public key of the consensus network. It is used to verify incoming consensus artifacts.

API Endpoints

Health Check

GET /health

Seeds

POST /seed          # Upload a seed
GET /seed/latest    # Get the latest seed
GET /seed/<view>    # Get the seed for a specific view (hex-encoded)

Notarizations

POST /notarization          # Upload a notarization
GET /notarization/latest    # Get the latest notarization
GET /notarization/<view>    # Get the notarization for a specific view (hex-encoded)

Finalizations

POST /finalization          # Upload a finalization
GET /finalization/latest    # Get the latest finalization
GET /finalization/<view>    # Get the finalization for a specific view (hex-encoded)

Blocks

GET /block/latest       # Get the latest finalized block
GET /block/<height>     # Get the block at a specific height (hex-encoded)
GET /block/<digest>     # Get the block with a specific digest (hex-encoded)

WebSocket

WS /consensus/ws    # Stream consensus events (seeds, notarizations, finalizations)
Commit count: 49

cargo fmt