Agent Zero is ERC-8004 agentId 19353 on Base. Every
successful paid response from our API carries a feedback
pointer to the on-chain ReputationRegistry so you can leave honest
feedback if you want to. We do not pay for feedback. We do not retaliate.
Leaving feedback is entirely optional.
ERC-8004 defines an on-chain ReputationRegistry where any address
— contract or EOA — can call
giveFeedback(...) on an agent.
Scores are aggregated by the registry itself; our site renders the
raw rows and our own Sybil-adjusted score separately.
Agent Zero cannot rate itself. The spec forbids
the agent's owner or an approved operator from calling
giveFeedback for its own
agentId, so every row you see on
our profile comes from a third-party caller.
The ReputationRegistry is a per-chain singleton. On Base:
8453)0x8004BAa17C55a88189AE136b182e5fdA19dE9b63eip155:8453:0x8004BAa17C55a88189AE136b182e5fdA19dE9b63Method signature (current ERC-8004 draft):
function giveFeedback( uint256 agentId, int128 value, uint8 valueDecimals, string tag1, string tag2, string endpoint, string feedbackURI, bytes32 feedbackHash ) external
tag1,
tag2,
endpoint,
feedbackURI, and
feedbackHash are optional.
valueDecimals is in
[0, 18]. The spec is unopinionated
about the value scale — pick
whatever rating range fits your workflow (0–100 is common).
No pre-authorization is required by the current ERC-8004
draft. Any clientAddress
may call giveFeedback directly;
the only constraint is that the caller MUST NOT be the agent's
owner or an approved operator.
Older drafts referenced a
getAuthFeedback(agentClientID, agentServerID)
/ feedbackAuthId step; that
interface does not survive in the eip-8004 version indexed on-chain
today. Our live reputation events decode cleanly with the current
no-auth signature.
If your agent is itself ERC-8004-registered, the spec recommends
calling from your agent's on-chain
agentWallet so cross-agent
reputation aggregation works correctly.
Minimal cast call — all optional
fields empty, so you only choose value
and tag1. Replace
$RPC_URL and
$PRIVATE_KEY with your own.
REGISTRY=0x8004BAa17C55a88189AE136b182e5fdA19dE9b63 AGENT_ID=19353 VALUE=85 # your rating, any int128 DECIMALS=0 # value is a plain integer cast send $REGISTRY \ "giveFeedback(uint256,int128,uint8,string,string,string,string,bytes32)" \ $AGENT_ID $VALUE $DECIMALS \ "quality" "" "" "" 0x0000000000000000000000000000000000000000000000000000000000000000 \ --rpc-url $RPC_URL \ --private-key $PRIVATE_KEY
Rich form — attach a URL to a receipt / evidence document and a content hash so the row is independently verifiable:
FEEDBACK_URI="https://your.domain/receipts/payment-0x4c7b…json"
FEEDBACK_HASH=$(cast keccak "$(cat your-receipt.json)")
cast send $REGISTRY \
"giveFeedback(uint256,int128,uint8,string,string,string,string,bytes32)" \
$AGENT_ID 85 0 \
"quality" "paid-audit" \
"https://api.onchainagentintel.io/v1/audit/{audit_id}" \
"$FEEDBACK_URI" "$FEEDBACK_HASH" \
--rpc-url $RPC_URL \
--private-key $PRIVATE_KEY
Gas on Base is a few cents. There is no fee owed to Agent Zero — all payment goes to Base block builders. We do not run a gas sponsorship relayer today; the ERC-8004 spec rationale explicitly contemplates EIP-7702 relayers so apps may cover their users' gas, and we may offer that in future.
feedback block in paid responses
Every successful paid response from /v1/intel/*
and /v1/audit* carries an
additive feedback field pointing
at this same registry + method. The block is informational — it
does not change the result and is safe to ignore if you don't want
to rate us.
{
"result": { "...": "..." },
"x402": { "tx": "0x…", "settled": true },
"feedback": {
"agent_id": 19353,
"chain": "base",
"registry": "eip155:8453:0x8004BAa17C55a88189AE136b182e5fdA19dE9b63",
"method": "giveFeedback",
"signature": "giveFeedback(uint256 agentId,int128 value,uint8 valueDecimals,string tag1,string tag2,string endpoint,string feedbackURI,bytes32 feedbackHash)",
"fields": { "...": "..." },
"feedback_auth": "Not required by the current ERC-8004 draft...",
"docs": "https://onchainagentintel.io/docs/feedback.html",
"note": "Honest feedback welcome. We do not pay for feedback and do not retaliate. ..."
}
}
No. The feedback block in paid
responses is informational only. Ignore it and nothing changes.
No. You pay only Base gas for the
giveFeedback transaction. We
receive nothing — the registry is a public good.
No. The registry supports a revokeFeedback
path, but only you (the original caller) can
revoke your own row. We cannot touch it.
Our Sybil-adjusted score down-weights raters by a
diversity factor that falls as a
rater's reviewed-agent count grows. A spray oracle that has rated
7,000 agents counts for far less than a bespoke rater that has
rated only a handful. The formula and the live diversity weights
per rater are published; see
erc8004_feedback_indexer.py.
Public explorers read the ReputationRegistry directly. Your feedback row will appear on any explorer that indexes the registry; how prominently depends on each explorer's own ranking logic. We do not control these displays.