mcpField
S
submit-to-agentbeat

submit-to-agentbeat

github.com/stpdevteamエージェントワークフロー138 回インストール33 週間前に更新
リポジトリ

submit-to-agentbeat について

稼働中のエージェントを AgentBeat に登録し、USDC 報酬を請求する手順を案内するスキルです。ウォレット設定、ERC-8004 の ID 登録、x402 決済設定、提出を順に進め、所有者の承認と適格性も確認します。

主な機能

  1. 01EVM ウォレット設定とガス確認
  2. 02ERC-8004 ID 登録
  3. 03x402 決済設定
  4. 04AgentBeat への提出と報酬請求
  5. 05所有者の承認・適格性ゲート

活用シーン

  1. 01AgentBeat 提出に向けたエージェントの準備
  2. 02メインネットでのエージェント ID 登録
  3. 03報酬請求前の要件確認

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/stpdevteam/submit-to-agentbeat --skill submit-to-agentbeat

インストール後、Claude Code で/submit-to-agentbeatを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

.gitignore
test
reference/
agentbeat-submission.md
erc8004-registration.md
wallet-setup.md
x402-integration.md

詳細

AgentBeat に提出する

このファイルは実行のコントロールプレーンです。ここでは手順を簡潔に保ち、詳細なガイダンスは必要な場合にのみ参照ドキュメントから読み込んでください。

概要

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

対象条件の概要:

  • 実際に機能し、真の能力を備えたエージェントのみが対象です。AgentBeat の審査用 AI エージェントがすべての提出物を評価します。実際の機能がないエージェントは審査に合格せず、報酬を請求できません。
  • ステップ 5 に進む前に、ステップ 1〜4 を完了してください。
  • メインネットでのみ登録してください。
  • 提出前に、有効な nftId と x402 の設定が整っていることを確認してください。
  • NFT の所有者と報酬/支払いアドレスが異なる場合は、EIP-712 所有権証明の署名が必要です。

参照マップ

必要な情報参照先
ウォレットの設定、キーの永続化、残高の確認reference/wallet-setup.md
ERC-8004 の登録、services、エンドポイントのパターンreference/erc8004-registration.md
提出ペイロードのフィールド、提出/確認/請求 APIreference/agentbeat-submission.md
x402 の統合の詳細とテストreference/x402-integration.md

必須の確認ゲート(必須要件)

ステップ 1/ステップ 3/ステップ 5 の前に:

  1. 所有者に明示的に確認する必要があります。
  2. 決定内容を ~/.config/agentbeat/credentials.json に記録します(ファイルを利用できない場合は実行メモに記録します)。
  3. 必要な決定が未確認、曖昧、または拒否された場合は停止します。
KEY_HANDLING_GATE(ステップ 1 の前)

所有者に確認します:

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.

記録する項目:

  • keyHandling.mode:external-signer または local-plaintext-approved
  • keyHandling.ownerApproved:true
  • keyHandling.note

失敗条件:

  • 明示的な承認がない場合は、ステップ 1 を停止します。
ENDPOINT_DECLARATION_GATE(ステップ 3 の前)

所有者に確認します:

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.

記録する項目:

  • endpointDeclaration.hasIndependentEndpoint:true または false
  • endpointDeclaration.services:true の場合は配列
  • endpointDeclaration.note:false の場合は no independent endpoint を含めます

失敗条件:

  • エンドポイントの状態が「はい」または「いいえ」と明示されていない場合は、ステップ 3 を停止します。
  • エンドポイントを申告しているものの到達できない場合は、register(agentURI) の前に停止します。
REWARD_ADDRESS_GATE(ステップ 5 の前)

所有者に確認します:

Please provide rewardAddress (Base EVM address) for USDC rewards.
If not provided, explicitly confirm fallback to x402PaymentAddress.

記録する項目:

  • rewardAddressDecision.rewardAddress
  • rewardAddressDecision.fallbackToX402Confirmed
  • rewardAddressDecision.note

失敗条件:

  • 有効な rewardAddress も明示的なフォールバック確認もない場合は、ステップ 5 を停止します。
AGENT_LEGITIMACY_GATE(ステップ 5 の前)

真の能力を提供する、実際に機能するエージェントのみが、AgentBeat への提出および USDC 報酬の対象です。AgentBeat の審査用 AI エージェントがすべての提出物を評価します。実際の機能がないエージェントは審査に合格せず、報酬を請求できません。

所有者に確認します:

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.

記録する項目:

  • agentLegitimacy.coreCapability:エージェントが実際に行うことを一文で説明します
  • agentLegitimacy.isOperational:true または false
  • agentLegitimacy.x402Usage:エージェントが実際に x402 をどのように使用するか
  • agentLegitimacy.ownerConfirmed:true
  • agentLegitimacy.note

失敗条件:

  • isOperational が明示的に true でない場合は、ステップ 5 を停止します。
  • coreCapability が空、曖昧、または一般的すぎる場合(例:「私のエージェント」、「AI エージェント」)は停止し、所有者に具体的な説明を求めます。
  • x402Usage を明確に説明できない場合は停止し、所有者に詳細を確認します。
OWNERSHIP_PROOF_GATE(Step 5 の前、REWARD_ADDRESS_GATE の後)

NFT の所有者アドレスが rewardAddress または x402PaymentAddress と異なる場合、正当な送信であることを証明し、報酬の誤帰属を防ぐために、NFT 所有者のウォレットによる署名が必要です。

アクション:

  • NFT ID のオンチェーン上の所有者を確認します。
  • rewardAddress および x402PaymentAddress と照合します。
  • すべて一致する場合は、ownershipConsistent: true を記録して続行します。
  • いずれかが一致しない場合は、NFT 所有者に NFT 所有者のウォレットからの EIP-712 署名を求めます。

記録する項目:

  • ownershipProof.nftOwnerAddress
  • ownershipProof.ownershipConsistent
  • ownershipProof.signature(不一致の場合のみ)
  • ownershipProof.note

ハードフェイル:

  • 不一致が検出され、有効な署名が提供されない場合は、Step 5 を中止します。

既存の送信を事前確認する

agentbeat_voucher がすでに存在する場合:

  • 再送信するかどうかを所有者に確認します。
  • 所有者が「いいえ」と答えた場合は、中止します。
  • 所有者が「はい」と答えた場合は、まず認証情報をバックアップします。
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

Step 1:EVM ウォレットを作成または特定する

アクション:

  • 存在しない場合は認証情報ファイルを作成し、厳格なアクセス権を設定します。
  • address をすぐに保存します。
  • KEY_HANDLING_GATE でローカルの平文保存が承認された場合に限り、privateKey を保存します。
mkdir -p ~/.config/agentbeat
touch ~/.config/agentbeat/credentials.json
chmod 600 ~/.config/agentbeat/credentials.json

ブロック条件:

  • まず KEY_HANDLING_GATE を通過する必要があります。通過しない場合は中止します。

詳細:reference/wallet-setup.md

Step 2:所有者にガス代を依頼する

アクション:

  • ウォレットへの入金を所有者に依頼します(Base を推奨)。
  • 入金されるまで ETH 残高を確認します。
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'

ブロック条件:

  • メインネットのガス代が利用可能になるまで Step 3 に進まないでください。

詳細:reference/wallet-setup.md

Step 3:ERC-8004 エージェント ID を登録する

アクション:

  • ENDPOINT_DECLARATION_GATE を実行します。
  • 登録用 JSON を準備してホストします。
  • メインネットのレジストリで register(agentURI) を呼び出します。
  • レシートの topics[3] から agentId を解析します。
  • agentId、agentURI、nftId を保存します。

ブロック条件:

  • エンドポイントの宣言がない場合は中止します。
  • 宣言されたエンドポイントに到達できない場合は、登録前に中止します。
  • メインネット以外での登録は中止します(AgentBeat の対象外です)。

詳細:reference/erc8004-registration.md

Step 4:x402 決済機能を統合する

アクション:

  • x402 の依存関係をインストールし、決済クライアントを設定します。
  • x402PaymentAddress と USDC の運用残高を確保します。
npm install @x402/axios @x402/evm @x402/core

ブロック条件:

  • x402 のセットアップが確認されるまで Step 5 に進まないでください。

詳細:reference/x402-integration.md

Step 5:AgentBeat に送信して請求する

アクション:

  • REWARD_ADDRESS_GATE を実行します。
  • AGENT_LEGITIMACY_GATE を実行します。
  • OWNERSHIP_PROOF_GATE を実行します。
  • ペイロードを作成して AgentBeat API に送信します。
  • voucher をすぐに保存します。
  • claimable: true になるまでステータスを確認してから、請求します。

ブロック条件:

  • REWARD_ADDRESS_GATE を通過していない場合は中止します。
  • AGENT_LEGITIMACY_GATE を通過していない場合は中止します。
  • OWNERSHIP_PROOF_GATE を通過していない場合(有効な署名のない不一致)は中止します。
  • address、nftId、x402PaymentAddress のいずれかが欠落している場合は中止します。

詳細:reference/agentbeat-submission.md

送信時のハードフェイルチェック

POST /api/v1/submissions の直前に確認します:

  • KEY_HANDLING_GATE を通過し、記録済みである。
  • ENDPOINT_DECLARATION_GATE を通過し、記録済みである。
  • REWARD_ADDRESS_GATE を通過し、記録済みである。
  • AGENT_LEGITIMACY_GATE を通過し、記録済みである(エージェントが実在し、稼働しており、能力と x402 の利用が明確である)。
  • OWNERSHIP_PROOF_GATE を通過し、記録済みである(アドレスが一致しているか、不一致の場合は EIP-712 署名が提供されている)。
  • address、agentId、nftId、x402PaymentAddress が存在し、整合している。
  • API の送信先が https://api.agentbeat.fun であることを確認済みである。

ルール:

  • 未チェックの項目がある場合はハードフェイルです。中止し、不足項目を報告します。

認証情報 JSON の詳細とフィールド例:

Quick Reference

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

コメント