Onchain at chainscan-galileo. Signed payloads stored on 0G storage, walked back from headCid via the indexer.
This page walked all 11 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 8
{
"scheme": "actionfeed-authority-gate-v1",
"subjectTokenId": "5",
"subjectEns": "seller.actionfeed.eth",
"maxBudgetOG": "0.01",
"allowedActions": [
"payment",
"swap"
],
"minDeliveries": 20,
"maxOpenOffers": 3,
"requireValidSignatures": true,
"expiresAt": 1777645425307
}{
"tokenId": "5",
"ensName": "seller.actionfeed.eth",
"owner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378"
}[ "public history satisfies mandate" ]
{
"tokenId": "5",
"ensName": "seller.actionfeed.eth",
"owner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"eventCount": 50,
"signaturesValid": 50,
"signaturesInvalid": 0,
"offers": 24,
"deliveries": 21,
"openOffers": 3,
"openClawActions": 1,
"typeHistogram": {
"genesis": 1,
"introduction": 1,
"offer": 24,
"delivery": 21,
"openclaw.action": 1,
"ens": 2
}
}{
"scheme": "actionfeed-authority-gate-v1",
"subjectTokenId": "5",
"subjectEns": "seller.actionfeed.eth",
"maxBudgetOG": "0.01",
"allowedActions": [
"payment",
"swap"
],
"minDeliveries": 20,
"maxOpenOffers": 3,
"requireValidSignatures": true,
"expiresAt": 1777645425307
}{
"tokenId": "5",
"ensName": "seller.actionfeed.eth",
"owner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378"
}{
"verdict": "refuse",
"mandateRoot": "0xe692abaebedd155d62dd33aad443ab8a1675db25ed78714fdccafd6dce48d958",
"reasons": [
"amount 0.05 OG exceeds mandate cap 0.01 OG"
],
"proposedAction": {
"kind": "payment",
"amountOG": "0.05",
"to": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"targetEns": "seller.actionfeed.eth",
"reason": "attempted over-budget delegated payment"
}
}{
"verdict": "allow",
"mandateRoot": "0xe692abaebedd155d62dd33aad443ab8a1675db25ed78714fdccafd6dce48d958",
"reasons": [
"action fits delegated authority"
],
"proposedAction": {
"kind": "payment",
"amountOG": "0.0001",
"to": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"targetEns": "seller.actionfeed.eth",
"reason": "bounded payment after public-history mandate passed"
}
}{
"scheme": "actionfeed-authority-gate-v1",
"subjectTokenId": "5",
"subjectEns": "seller.actionfeed.eth",
"subjectOwner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"delegateAddress": "0x81f4E6f74D1819Cc395B16aDbD3C3175956C4a3D",
"recipientAddress": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"targetEns": "seller.actionfeed.eth",
"maxBudgetOG": "0.01",
"allowedActions": [
"payment",
"swap"
],
"minDeliveries": 20,
"maxOpenOffers": 3,
"requireValidSignatures": true,
"expiresAt": 1777662438078
}{
"tokenId": "5",
"ensName": "seller.actionfeed.eth",
"owner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378"
}[ "public history satisfies mandate" ]
{
"tokenId": "5",
"ensName": "seller.actionfeed.eth",
"sourceFeedHead": "0x4af4dd1caf571d1eeb3d1d8e7cc4928bb18aeab1be3c2251b4220460dd2a95fc",
"owner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"eventCount": 50,
"signaturesValid": 50,
"signaturesInvalid": 0,
"offers": 24,
"deliveries": 21,
"openOffers": 3,
"openClawActions": 1,
"typeHistogram": {
"genesis": 1,
"introduction": 1,
"offer": 24,
"delivery": 21,
"openclaw.action": 1,
"ens": 2
}
}{
"scheme": "actionfeed-authority-gate-v1",
"subjectTokenId": "5",
"subjectEns": "seller.actionfeed.eth",
"subjectOwner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"delegateAddress": "0x81f4E6f74D1819Cc395B16aDbD3C3175956C4a3D",
"recipientAddress": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"targetEns": "seller.actionfeed.eth",
"maxBudgetOG": "0.01",
"allowedActions": [
"payment",
"swap"
],
"minDeliveries": 20,
"maxOpenOffers": 3,
"requireValidSignatures": true,
"expiresAt": 1777662438078
}{
"tokenId": "5",
"ensName": "seller.actionfeed.eth",
"owner": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378"
}{
"verdict": "refuse",
"mandateRoot": "0xefc9f23155eb4552b789a5bcf73877770726bf75a53a1fe48420100359eb7eac",
"reasons": [
"amount 0.05 OG exceeds mandate cap 0.01 OG"
],
"proposedAction": {
"kind": "payment",
"amountOG": "0.05",
"to": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"targetEns": "seller.actionfeed.eth",
"actorAddress": "0x81f4E6f74D1819Cc395B16aDbD3C3175956C4a3D",
"reason": "attempted over-budget delegated payment"
}
}{
"verdict": "allow",
"mandateRoot": "0xefc9f23155eb4552b789a5bcf73877770726bf75a53a1fe48420100359eb7eac",
"reasons": [
"action fits delegated authority"
],
"proposedAction": {
"kind": "payment",
"amountOG": "0.0001",
"to": "0xf0BBFf82Ea33d7C1cc9BB0F61Ebe9956F8A81378",
"targetEns": "seller.actionfeed.eth",
"actorAddress": "0x81f4E6f74D1819Cc395B16aDbD3C3175956C4a3D",
"reason": "bounded payment after public-history mandate passed"
}
}Paid log from ActionRouter at block 30718574, taskHash matches the offer rootHash, amount matches the payload.Paid log from ActionRouter at block 30760047, taskHash matches the offer rootHash, amount matches the payload.Every event in this full chain recovers to its recorded EIP-191 signer.
The explorer walked from FeedINFT.headCid through every previous event CID.
Each payment txHash resolves against ActionRouter Paid logs on 0G Galileo, with taskHash and amount checked against the signed payload.