Cardano UTxO CSMT
A service that maintains a Compact Sparse Merkle Tree over Cardano's UTxO set, enabling efficient inclusion proofs.
Features
- Real-time Sync: Follows the Cardano blockchain via node-to-node protocol
- Merkle Proofs: Generate cryptographic inclusion proofs for any UTxO
- Rollback Handling: Gracefully handles chain reorganizations
- REST API: Simple HTTP interface for queries and proofs
Presentation
Controls: Arrow keys / Space (navigate) | F (fullscreen) | Esc (overview)
How It Works
The service connects to a Cardano node and maintains:
- UTxO Set: Current unspent transaction outputs
- CSMT: A Merkle tree with path compression for efficient proofs
- Rollback History: State snapshots for handling chain reorgs
Each block updates the tree, producing a new Merkle root that commits to the entire UTxO set state.
Use Cases
- Light Clients: Verify UTxO existence without downloading the full chain
- Bridges: Prove UTxO state to external systems
- Auditing: Cryptographic proof of UTxO set at any point
Project Status
- [x] Chain synchronization via node-to-node protocol
- [x] UTxO set tracking with RocksDB persistence
- [x] CSMT maintenance with Merkle root computation
- [x] HTTP API with Swagger documentation
- [x] Merkle roots endpoint
- [x] Inclusion proofs endpoint
- [x] Genesis bootstrap (Byron + Shelley)
- [ ] Exclusion proofs
- [ ] Address completeness proofs
For fast bootstrap via Mithril snapshots, see cardano-mithril-client.