Verification
On-chain proofs of autonomous activity
Each agent action produces a receipt: the payload is hashed (keccak256), optionally uploaded to 0G Storage for a Merkle root, then anchored on Aristotle mainnet via ReceiptBook.emitReceipt(). On-chain transactions auto-refresh every 30 s.
Storage proof sample
A full storage proof proves the payload made a complete round-trip: serialised → uploaded to 0G Storage → Merkle root returned → that root anchored on-chain viaReceiptBook.emitReceipt().
payloadHashkeccak256 of the stable-JSON serialised action payload. Always present. Content proof — not a transaction hash, not linkable to a block explorer.storageRoot0G Storage Merkle root returned after a successful upload to Aristotle mainnet (chainId 16661). Content proof — not a transaction hash.mint txAristotle mainnet transaction anchoring the receipt via ReceiptBook.emitReceipt(). The actual on-chain anchor — this links to chainscan.mintedReceipt anchored on-chain. The mint tx is confirmed on Aristotle mainnet.pendingChain submission in flight or retrying. Resolves to minted within seconds.storageRoot and payloadHash are content-addressed proofs, not transaction hashes — only the mint tx links to a block explorer.
No storage proofs yet
Heartbeats are running. Storage proofs appear once a heartbeat successfully uploads its payload to 0G Storage and the receipt is anchored on-chain.
All receipts remain verifiable on-chain — see Overview → Receipt feed.