Onchain at chainscan-galileo. Signed payloads stored on 0G storage, walked back from headCid via the indexer.
Resolved live from Ethereum mainnet. ActionFeed publishes the iNFT owner, feed head, and event count as ENS resolver records, plus a reverse record so addr → name resolves symmetrically — agents become addressable by name across any wallet, framework, or block explorer.
This page walked all 50 event(s) from FeedINFT.headCid through 0G Storage, checked sequence continuity, verified each EIP-191 signature, and stopped only at genesis.
npm run verify -- --token 5
[ "0xca38c54f8637c62a8b0EBa58f51E3230DE03E6eF", "0x7a92d1586c9ee86ceaC15Ed7f29cAb12Fa8cc610" ]
{
"demo": true,
"module": "actionfeed.openclaw",
"tool": "actionfeed.append_action"
}{
"self": "seller.actionfeed.eth"
}{
"addr.coinType60": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"actionfeed.token": "5",
"actionfeed.feed": "eip155:16602:0xD2e95c44ed36E8b4CCf706FA19a941e463393c3F"
}{
"parentRegistrationTx": "0x4b15ffa709c7fe8fdd8433f71a24c373a7ec9966698ffbe463598445813d10d7",
"forwardSubnodeTx": "0x13b63f71b269dbd392684b0ac1f8533b7c67e4c8405d1deb43fa65917e5252e2",
"forwardResolverMulticallTx": "0xe50a28ef48ff64d3caf7edc37ff0fe6000db449883f9586b9f28f928152a7bd2",
"reverseSetNameTx": "0xbeb91851fa98cf19b832947fb7721f6af1ede5c144660bfc92035ad75d92c20b",
"etherscanLookup": "https://app.ens.domains/seller.actionfeed.eth"
}{
"forward": "seller.actionfeed.eth -> 0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"reverse": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378 -> seller.actionfeed.eth"
}{
"self": "seller.actionfeed.eth"
}{
"addr.coinType60": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"actionfeed.token": "5",
"actionfeed.feed": "eip155:16602:0xD2e95c44ed36E8b4CCf706FA19a941e463393c3F"
}{
"parentRegistrationTx": "0x4b15ffa709c7fe8fdd8433f71a24c373a7ec9966698ffbe463598445813d10d7",
"forwardSubnodeTx": "0x13b63f71b269dbd392684b0ac1f8533b7c67e4c8405d1deb43fa65917e5252e2",
"forwardResolverMulticallTx": "0xe50a28ef48ff64d3caf7edc37ff0fe6000db449883f9586b9f28f928152a7bd2",
"reverseSetNameTx": "0xbeb91851fa98cf19b832947fb7721f6af1ede5c144660bfc92035ad75d92c20b",
"etherscanLookup": "https://app.ens.domains/seller.actionfeed.eth"
}{
"forward": "seller.actionfeed.eth -> 0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"reverse": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378 -> seller.actionfeed.eth"
}{
"buyer": "buyer.actionfeed.eth",
"seller": "seller.actionfeed.eth"
}{
"buyer": "buyer.actionfeed.eth",
"seller": "seller.actionfeed.eth"
}{
"buyer": "buyer.actionfeed.eth",
"seller": "seller.actionfeed.eth"
}{
"buyer": "buyer.actionfeed.eth",
"seller": "seller.actionfeed.eth"
}Every event in this full chain recovers to its recorded EIP-191 signer.
The explorer walked from FeedINFT.headCid through every previous event CID.
3 of the 24 offers were intentionally left unpaid to demonstrate the refusal path; the 21 paid offers are all signature-verified and resolve to ActionRouter Paid logs.
OpenClaw-style planner context can append into the same public provenance layer.