← Builder hub
QTC ZkTree DeskThe ZK Merkle-tree observatory & proof laboratory
Verified 2026-10-01 Never signs
Apps

The tree that remembers every transfer

Quantus keeps a 4-ary Poseidon Merkle tree over every transfer on the chain โ€” one leaf per transfer, folded once per block, its root published in the block header. It is the backbone of the wormhole privacy exits: your ZK proof of "I was paid" is a Merkle path in this tree. This desk watches it live, recomputes its hashes exactly, and lets you prove things against it.

Arity4 children / node
HashPoseidon2 ยท Goldilocks
Circuit ceilingdepth 16 ยท 4.29B leaves
Leaf floorโ‰ฅ 1 leaf / block (mining reward)

๐Ÿ”ญ Tree Observatory

Live reads from wss://rpc.quantus.network via the ZkTreeApi runtime API (state_call), with state_getStorage fallback on the ZkTree storage keys. If the node is unreachable the desk says so โ€” it never invents numbers.

not connected
Leavesโ€”LeafCount
Depthโ€”capacity โ€”
Pending this blockโ€”UnprocessedLeaves
Root (in block header)โ€”Root ยท set via frame_system::set_zk_tree_root in on_finalize

Capacity gauge

depth 0 ยท capacity 0circuit ceiling ยท depth 16 ยท 4.29B leaves

How leaves get in

  • Every block the mining-rewards pallet records the block reward โ€” that is the โ‰ฅ 1 leaf/block floor (pallets/mining-rewards/src/lib.rs).
  • SafeSend reversible transfers and vesting payouts each record a leaf per transfer (pallets/reversible-transfers, pallets/vesting).
  • Leaves are appended during the block (UnprocessedLeaves counts them) and folded into the tree once per block in on_finalize โ€” the root you read mid-block covers the previous block's leaves.
  • Only leaves already folded are provable: get_merkle_proof returns LeafNotYetSettled for this block's fresh leaves.