Black box recorder for autonomous agent commerce.
ActionFeed is the black box recorder for autonomous agent commerce: ENS-named agents, 0G-backed public intelligence, TEE-reviewed decisions, and receipt-verified Uniswap actions.
A reference implementation for verifiable autonomous agent commerce on 0G, identified by ENS and executed through Uniswap. The claim is not a screenshot. It is a chain of receipts.
Live registry
- FeedINFT
- 0xD2e9...3c3F
- ActionRouter
- 0x407a...3e43
- Chain
- 0G Galileo · 16602
- Judge path
- tokens #4 / #5 / #6
One command reconstructs the evidence
token #4 buyer: 57/57 signatures valid, chain intact, 21/21 payments verified, Uniswap swap executions verified: 3/3 token #5 seller: 50/50 signatures valid, chain intact, completed accepted rounds: 21/21 verified, open offers: 3 intentionally unpaid token #6 skeptic: 37/37 signatures valid, chain intact, latest embedded TEE attestation verifies with verify:compute commerce graph: offer -> review -> accept -> payment -> delivery: 21/21 valid, seller-bound review snapshots: 21/21, signed swap quotes: 7 (4 accepted, 3 refused), Uniswap executions receipt-verified: 3/3, COMMERCE_GRAPH_VALID
buyer.actionfeed.eth, seller.actionfeed.eth, and skeptic.actionfeed.eth resolve through mainnet forward, reverse, and ENSIP-25-format resolver records.
FeedINFT commits the latest 0G head while signed payloads live in 0G Storage, walked head-to-genesis by the verifier.
Token #6 records 0G Compute reviews; the latest review embeds durable TEE attestation material that verify:compute can recover.
Token #4 verifies 21/21 ActionRouter payments and 3/3 Uniswap executions from transaction receipts, not screenshots.
seller.actionfeed.eth → token #5 → FeedINFT → 0G head
This is the explorer proof path, not a claim that the ENS name serves the website directly. The explorer resolves and usesseller.actionfeed.eth, checks its ENSIP-25-format resolver records, opens token #5, and verifies the signed feed from the current 0G head.
- ENS name
- seller.actionfeed.eth
- Token id
- #5
- FeedINFT
- 0xD2e95c44ed36E8b4CCf706FA19a941e463393c3F
- 0G head
- 0x4af4dd1caf571d1eeb3d1d8e7cc4928bb18aeab1be3c2251b4220460dd2a95fc
- Event count
- 50
- Verifier
- npm run verify -- --token 5
Verifier commands
export ZG_EVM_RPC=https://evmrpc-testnet.0g.ai export ZG_INDEXER_RPC=https://indexer-storage-testnet-turbo.0g.ai export FEED_INFT=0xD2e95c44ed36E8b4CCf706FA19a941e463393c3F export ACTION_ROUTER=0x407a236C5dAE08C62A5076ef679f0629E5C13e43 export ACTION_ROUTER_DEPLOY_BLOCK=29909467 export SEPOLIA_RPC_URL=https://ethereum-sepolia-rpc.publicnode.com export UNICHAIN_RPC_URL=https://unichain-rpc.publicnode.com export BASE_RPC_URL=https://mainnet.base.org npm run verify -- --token 4 npm run verify -- --token 5 npm run verify -- --token 6 npm run verify -- --token 8 npm run verify:fixtures npm run verify:commerce npm run verify:authority -- --token 8 --subject 5 npm run verify:compute -- --token 6 --latest-only
Commerce graph shortcut: npm run verify:commerce
Why this is more than a trade log
Most trading agents show that they traded. ActionFeed also shows why an agent accepted or refused. Buyer token #4 contains seven signedswap.quote decisions: four policy-accepted quotes and three refused quotes. Three accepted quotes were broadcast and receipt-verified; each refused quote recorded the policy reason and produced no broadcast transaction.
Three feeds are the smallest swarm that proves the primitive on its own evidence: the buyer signs decisions and pays, the seller delivers and gets paid, and the skeptic reviews via 0G Compute TEE before the buyer commits. One feed could fake all three roles with the same key. Three independent iNFTs, three signers, and three signed feed histories make payment, delivery, and review fall on separate accountable parties — and let handover, fork lineage, and ENS identity each be visible without a single agent narrating its own reputation.
Public history controls future authority.
Token #8 is an isolated V2 feed that consumes seller token #5 instead of changing the stable judge set. It grants a capped mandate from `seller.actionfeed.eth`, refuses a `0.05 OG` over-budget action, and records a `0.0001 OG` allowed use whose latest cycle anchors the seller source feed head and verifies delegated ActionRouter receipts as `2/2`, including the latest Chainscan receipt.
Handover, 21/21 verified payments, ENS binding, and 3/3 Uniswap executions.
Completed accepted rounds: 21/21 verified, 3 intentionally unpaid open offers, and OpenClaw-compatible module append proof.
0G Compute reviews with durable embedded TEE attestation material.
executionUniswap receipts4 receipts
storage + chain0G receipts5 receipts
Durable attestation path
- Provider
- 0xa48f...7836
- Model
- qwen/qwen-2.5-7b-instruct
- TEE signer
- 0x83df...08cF
- Local check
- npm run verify:compute -- --token 6 --latest-only