Skip to content

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)

Open fullscreen presentation

How It Works

The service connects to a Cardano node and maintains:

  1. UTxO Set: Current unspent transaction outputs
  2. CSMT: A Merkle tree with path compression for efficient proofs
  3. 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.