/SKILL.md
Complete 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.
npx skillsauth add stpdevteam/submit-to-agentbeat submit-to-agentbeatInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
This 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
documentation
Fetch GitHub issues, spawn sub-agents to implement fixes and open PRs, then monitor and address PR review comments. Usage: /gh-issues [owner/repo] [--label bug] [--limit 5] [--milestone v1.0] [--assignee @me] [--fork user/repo] [--watch] [--interval 5] [--reviews-only] [--cron] [--dry-run] [--model glm-5] [--notify-channel -1002381931352]
documentation
Maintain the OpenClaw memory wiki vault with deterministic pages, managed blocks, and source-backed updates.
documentation
Feishu knowledge base navigation. Activate when user mentions knowledge base, wiki, or wiki links.
documentation
Feishu permission management for documents and files. Activate when user mentions sharing, permissions, collaborators.