Indexer node
The Rust node ingests Kaspa RPC/wRPC, applies detector events, dispatches WASM mappings, persists entity versions, and writes POI checkpoints.
architecture
KasGraph separates the public product site from the hosted node. The node and API are long-running services backed by Rust, TypeScript, and managed Postgres.
Blocks, accepted transactions, virtual-chain changes, and continuous notifications.
Ingests Kaspa activity, tracks progress, handles reorg-aware state transitions, and dispatches work.
Recognizes KRC assets, Covenant IDs, app patterns, and runs deterministic mapping handlers.
Builds checkpoint hashes over indexed entity state so output can be independently compared.
Stores registry rows, schemas, lineage, checkpoints, and versioned application entities.
Serves query, developer, agent, subscription, and streaming interfaces.
Consumes indexed state without every product rebuilding a parser.
The Rust node ingests Kaspa RPC/wRPC, applies detector events, dispatches WASM mappings, persists entity versions, and writes POI checkpoints.
Registry rows, migrations, per-subgraph schemas, lineage, entity state, reorg audit, and checkpoints live in Postgres.
The TypeScript API package serves base gateway types plus per-subgraph schemas generated from deployed schema.graphql files.
The MCP package delegates schema lookup and query execution to the same registry-aware gateway data plane.
Streaming primitives and subscriptions expose near-live events without duplicating indexer state.
POI hashes committed entity state per block so verifier code can detect divergence in published checkpoint chains.