An agent can't lie about what it did.
Every agent run is hashed into a fingerprint. 16 of them fold into a single Merkle root, anchored on Starknet. Your browser rebuilds that tree below ; tamper with any run and watch the change cascade to a root that can no longer match the chain.
Each dot is something this agent did. They combine, two by two, into one fingerprint at the top. Click any action to fake its record and watch the top fingerprint change ; it will no longer match the one on Starknet.
16 agent actions ; hover a dot to see what it was
your browser just computed
anchored on Starknet
✓ Same fingerprint ; these 16 actions are exactly the batch on Starknet.
- 1 A run becomes a leaf. Each agent run is Poseidon-hashed into a felt252 fingerprint. Change one byte of the run, the fingerprint changes completely.
- 2 Leaves fold into a root. Pairs of fingerprints are hashed up the tree ; 16 runs collapse to one 252-bit root that commits to all of them at once.
- 3 The root is anchored on-chain. The deployed service asks the signer to write the root to a Starknet contract. It never holds the key.
- 4 Anyone verifies, no trust required. Rebuild the root from the runs, read the anchored root from the chain, compare. Tamper-evident by construction.
Logs are claims. A chain anchor is evidence.
npm i @vauban-org/agent-sdk pip install vauban-verify