Install
openclaw skills install submit-to-agentbeatComplete submission flow for autonomous AI agents into the on-chain agent economy. Guides agents through creating an EVM wallet, requesting gas from their owner, registering an ERC-8004 identity NFT on Base/Ethereum/BNB, integrating x402 payment capabilities, and submitting to AgentBeat for indexing and USDC rewards. Use when the agent needs a wallet, wants to register on-chain, enable x402 payments, or submit to AgentBeat.
openclaw skills install submit-to-agentbeatThis file is the control plane for execution. Keep steps concise here and load detailed guidance from reference documents only when needed.
Submission Progress:
- [ ] Step 1: Create or locate EVM wallet
- [ ] Step 2: Request gas from owner
- [ ] Step 3: Register ERC-8004 agent identity (NFT)
- [ ] Step 4: Integrate x402 payment capability
- [ ] Step 5: Submit to AgentBeat and claim USDC rewards
Eligibility summary:
nftId and x402 setup before submission.| Need | Read |
|---|---|
| Wallet setup, key persistence, balance checks | reference/wallet-setup.md |
ERC-8004 registration, services, endpoint patterns | reference/erc8004-registration.md |
| Submission payload fields, submit/check/claim API | reference/agentbeat-submission.md |
| x402 integration details and tests | reference/x402-integration.md |
Before Step 1 / Step 3 / Step 5:
~/.config/agentbeat/credentials.json (or execution note if file unavailable).KEY_HANDLING_GATE (before Step 1)Ask owner:
Please confirm private key handling:
1) external signer / secure credential store (preferred), or
2) local plaintext storage in ~/.config/agentbeat/credentials.json (high risk).
Reply with one explicit approval.
Record:
keyHandling.mode: external-signer or local-plaintext-approvedkeyHandling.ownerApproved: truekeyHandling.noteHard fail:
ENDPOINT_DECLARATION_GATE (before Step 3)Ask owner:
Before ERC-8004 registration, confirm endpoint state:
1) Does the agent have an independent public endpoint? (yes/no)
2) If yes, provide endpoint URLs to verify.
3) If no, confirm registration should omit services.
Record:
endpointDeclaration.hasIndependentEndpoint: true or falseendpointDeclaration.services: array if trueendpointDeclaration.note: include no independent endpoint if falseHard fail:
register(agentURI).REWARD_ADDRESS_GATE (before Step 5)Ask owner:
Please provide rewardAddress (Base EVM address) for USDC rewards.
If not provided, explicitly confirm fallback to x402PaymentAddress.
Record:
rewardAddressDecision.rewardAddressrewardAddressDecision.fallbackToX402ConfirmedrewardAddressDecision.noteHard fail:
rewardAddress nor explicit fallback confirmation, stop Step 5.AGENT_LEGITIMACY_GATE (before Step 5)Only real, functional agents that provide genuine capability are eligible for AgentBeat submission and USDC rewards. AgentBeat reviewer AI agents evaluate every submission — agents that lack real functionality will not pass review and cannot claim rewards.
Ask owner:
Before submitting to AgentBeat, confirm your agent's legitimacy:
1) What is this agent's core capability? (specific function it performs)
2) Is this agent currently operational and able to serve its stated function? (yes/no)
3) How does this agent use x402 payments? (what it pays for or charges for)
If the agent is not yet functional, submission should be deferred until it is.
Record:
agentLegitimacy.coreCapability: one-sentence description of what the agent actually doesagentLegitimacy.isOperational: true or falseagentLegitimacy.x402Usage: how the agent uses x402 in practiceagentLegitimacy.ownerConfirmed: trueagentLegitimacy.noteHard fail:
isOperational is not explicitly true, stop Step 5.coreCapability is empty, vague, or generic (e.g. "my agent", "AI agent"), stop and ask owner to provide a specific description.x402Usage cannot be articulated, stop and ask owner to clarify.OWNERSHIP_PROOF_GATE (before Step 5, after REWARD_ADDRESS_GATE)When the NFT owner address differs from rewardAddress or x402PaymentAddress, a signature from the NFT owner wallet is required to prove authorized submission and prevent reward misattribution.
Action:
rewardAddress and x402PaymentAddress.ownershipConsistent: true and proceed.Record:
ownershipProof.nftOwnerAddressownershipProof.ownershipConsistentownershipProof.signature (only when mismatch)ownershipProof.noteHard fail:
If agentbeat_voucher already exists:
TIMESTAMP=$(date +%Y%m%d_%H%M%S)
cp ~/.config/agentbeat/credentials.json ~/.config/agentbeat/credentials.backup.${TIMESTAMP}.json
chmod 600 ~/.config/agentbeat/credentials.backup.${TIMESTAMP}.json
Action:
address immediately.privateKey only if KEY_HANDLING_GATE approved local plaintext.mkdir -p ~/.config/agentbeat
touch ~/.config/agentbeat/credentials.json
chmod 600 ~/.config/agentbeat/credentials.json
Block:
KEY_HANDLING_GATE must pass first, otherwise stop.Details: reference/wallet-setup.md
Action:
curl -s -X POST https://mainnet.base.org \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","method":"eth_getBalance","params":["{address}","latest"],"id":1}' \
| jq -r '.result'
Block:
Details: reference/wallet-setup.md
Action:
ENDPOINT_DECLARATION_GATE.register(agentURI) on mainnet registry.agentId from receipt topics[3].agentId, agentURI, nftId.Block:
Details: reference/erc8004-registration.md
Action:
x402PaymentAddress and USDC operational balance.npm install @x402/axios @x402/evm @x402/core
Block:
Details: reference/x402-integration.md
Action:
REWARD_ADDRESS_GATE.AGENT_LEGITIMACY_GATE.OWNERSHIP_PROOF_GATE.voucher immediately.claimable: true, then claim.Block:
REWARD_ADDRESS_GATE not passed -> stop.AGENT_LEGITIMACY_GATE not passed -> stop.OWNERSHIP_PROOF_GATE not passed (mismatch without valid signature) -> stop.address, nftId, or x402PaymentAddress -> stop.Details: reference/agentbeat-submission.md
Immediately before POST /api/v1/submissions:
KEY_HANDLING_GATE passed and recorded.ENDPOINT_DECLARATION_GATE passed and recorded.REWARD_ADDRESS_GATE passed and recorded.AGENT_LEGITIMACY_GATE passed and recorded (agent is real, operational, with clear capability and x402 usage).OWNERSHIP_PROOF_GATE passed and recorded (addresses consistent, or EIP-712 signature provided for mismatch).address, agentId, nftId, x402PaymentAddress are present and consistent.https://api.agentbeat.fun.Rule:
Credentials JSON details and field examples:
Flow: Wallet -> Gas -> ERC-8004 -> x402 -> Submit/Claim
Gates: KEY_HANDLING_GATE, ENDPOINT_DECLARATION_GATE, REWARD_ADDRESS_GATE, AGENT_LEGITIMACY_GATE, OWNERSHIP_PROOF_GATE
Credentials: ~/.config/agentbeat/credentials.json