Communitygithub.com

awp-core/awp-skill

AWP(Agent Work Protocol)— Base、Ethereum、Arbitrum、BSC上のエージェントマイニングのための完全なツールキットです。ユーザーがAWP、ワークネット、veAWP、awp-wallet、またはAWP固有の操作を明示的に言及した場合にこのスキルを使用します。

awp-skill とは?

AWP(Agent Work Protocol)スキルは、Base、Ethereum、Arbitrum、BSCの4つのブロックチェーン上で、AIエージェントのマイニングとステーキングを管理するための包括的なツールキットです。このスキルは、オンボーディング(ウォレット設定、登録、ワークネットへの参加)、ステーキング(ERC-2612パーミットによるガスレスリレー対応の入出金)、割り当て管理(ワークネット上のエージェントへのステークの割り当て・解除)、ワークネットの登録・一時停止・再開・キャンセル、エージェントのウォレットとオーナーのバインド、ガバナンス(提案・投票)、および残高・ポジション・エミッション・エポックなどのクエリを処理します。JSON-RPC 2.0 APIを介してAWPプロトコルと通信し、awp-wallet CLIでウォレットを管理します。重要なのは、登録は無料であり、ほとんどのワークネットはステーキング不要で利用開始できるため、初心者でもすぐに収益を開始できます。スキルは「AWP」「worknet」「veAWP」「allocate AWP」「bind my agent」「claim AWP rewards」などのトリガーワードで起動し、UniswapやAaveなどの一般的なDeFiプロトコルには反応しません。

対応✓Claude Code~Codex CLI~Cursor
npx skills add awp-core/awp-skill

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

AWP Registry

スキルバージョン: 1.9.1

要件とセキュリティ

  • ランタイム: python3, node (wallet-raw-call.mjs ブリッジ用)
  • ウォレット: awp-wallet CLI — https://github.com/awp-core/awp-wallet からインストール
  • 認証情報: awp-wallet セッショントークン (--token で渡す; awp-wallet unlock で生成; ユーザーがパスワードを入力する必要はありません)。新しいウォレットバージョンではアンロックが不要になりました — --token は古いウォレットとの後方互換性のためにオプションです。
  • チェーン: EVM_CHAIN 環境変数 (オプション、デフォルト: base)。名前または数値IDを受け付けます。
  • ネットワークエンドポイント (ハードコードされており上書き不可 — 環境変数ハイジャックを防ぐセキュリティ設計):
    • https://api.awp.sh/v2 — AWP JSON-RPC API
    • https://mainnet.base.org — Base EVM RPC
    • wss://api.awp.sh/ws/live — リアルタイムイベント用 WebSocket (オプション)
  • 書き込まれるファイル (すべてオプトイン、デーモンは明示的なユーザー同意が必要):
    • ~/.awp/daemon.pid, ~/.awp/daemon.log — バックグラウンドモニター
    • ~/.awp/notifications.json, ~/.awp/status.json — プロトコルステータスキャッシュ
    • ~/.awp/openclaw.json — OpenClaw プッシュ設定 (ユーザーが作成したもののみ、スキルが自動生成することはありません)

API — JSON-RPC 2.0

このスキルのすべてのAPI呼び出しは、POST経由のJSON-RPC 2.0を使用します:

POST https://api.awp.sh/v2
Content-Type: application/json

リクエスト: {"jsonrpc":"2.0","method":"namespace.method","params":{...},"id":1} ディスカバリー: GET https://api.awp.sh/v2 | WebSocket: wss://api.awp.sh/ws/live | バッチ: 1リクエストあたり最大20件。

エクスプローラー: Base → basescan.org | Ethereum → etherscan.io | Arbitrum → arbiscan.io | BSC → bscscan.com

このドキュメント全体で、すべての curl コマンドはJSON-RPC POSTを https://api.awp.sh/v2 に使用します。REST形式のGETパスは使用しないでください。

APIメソッドリファレンス

システム

メソッドパラメータ説明
stats.globalなしグローバルプロトコル統計: 総ユーザー数、ワークネット数、ステークされたAWP、発行されたAWP、アクティブチェーン
registry.getchainId?すべてのコントラクトアドレス + EIP-712ドメイン情報。chainIdを省略すると全4チェーンの配列を返します。
health.checkなしAPIが動作中の場合 {"status": "ok"} を返します
health.detailedなしチェーンごとの健全性: インデクサーの同期ブロック、キーパーステータス、RPCレイテンシ
chains.listなしサポートされているすべてのチェーンの {chainId, name, status, explorer} の配列

ユーザー

メソッドパラメータ説明
users.listchainId?, page?, limit?1つのチェーンのページネーション付きユーザーリスト
users.listGlobalpage?, limit?クロスチェーンで重複排除されたユーザーリスト
users.countchainId?登録済みユーザーの総数
users.getaddress (必須), chainId?ユーザー詳細: 残高、バインドされたエージェント、受取人、登録ステータス
users.getPortfolioaddress (必須), chainId?完全なポートフォリオ: アイデンティティ + ステーキング + NFTポジション + 割り当て + デリゲート
users.getDelegatesaddress (必須), chainId?このユーザーがデリゲートとして承認したアドレスのリスト

アドレスとナンス

メソッドパラメータ説明
address.checkaddress (必須), chainId?登録ステータス、バインディング、受取人を確認します。以下のレスポンス形式を参照してください。
address.resolveRecipientaddress (必須), chainId?バインドチェーンをルートまで辿り、有効な報酬受取人を返します
address.batchResolveRecipientsaddresses[] (必須, 最大500), chainId?有効な受取人を一括解決します(オンチェーン呼び出し)
nonce.getaddress (必須), chainId?AWPRegistry EIP-712 ナンス (bind/unbind/setRecipient/registerWorknet/grantDelegate/revokeDelegate 用)。注意: オンチェーンの状態に遅れる可能性があります。署名にはオンチェーンで AWPRegistry.nonces(user) を読み取ることを推奨します。
nonce.getStakingaddress (必須), chainId?AWPAllocator EIP-712 ナンス (allocate/deallocate 用)。注意: オンチェーンの状態に遅れる可能性があります。署名にはオンチェーンで AWPAllocator.nonces(user) を読み取ることを推奨します。

エージェント

メソッドパラメータ説明
agents.getByOwnerowner (必須), chainId?このオーナーにバインドされているすべてのエージェント(アドレス)
agents.getDetailagent (必須), chainId?エージェント詳細: オーナー、バインドチェーン、デリゲートステータス
agents.lookupagent (必須), chainId?簡単なルックアップ: {"ownerAddress": "0x..."} を返します
agents.batchInfoagents[] (必須, 最大100), worknetId (必須), chainId?一括クエリ: エージェント情報 + 指定されたワークネット内でのステーク

ステーキング

メソッドパラメータ説明
staking.getBalanceaddress (必須), chainId?{totalStaked, totalAllocated, unallocated} をwei文字列で返します
staking.getUserBalanceGlobaladdress (必須)上記と同じですが、全チェーンを集計します
staking.getPositionsaddress (必須), chainId?veAWPポジションの配列: {tokenId, amount, lockEndTime, createdAt}
staking.getPositionsGlobaladdress (必須)全チェーンのポジション(ポジションごとにchainIdを含む)
staking.getAllocationsaddress (必須), chainId?, page?, limit?ページネーション付き割り当てレコード: {agent, worknetId, amount}
staking.getFrozenaddress (必須), chainId?凍結された割り当て(禁止ワークネットからのもの)
staking.getPendingaddress (必須), chainId?確認待ちの保留中の割り当て
staking.getAgentWorknetStakeagent (必須), worknetId (必須)特定のワークネット内でのエージェントの割り当てられた総ステーク(クロスチェーン)
staking.getAgentWorknetsagent (必須)このエージェントがゼロ以外の割り当てを持つすべてのworknetId
staking.getWorknetTotalStakeworknetId (必須)ワークネット内の全エージェントにわたる総AWPステーク

ワークネット

メソッドパラメータ説明
worknets.liststatus?, chainId?, page?, limit?ワークネットをリスト表示。ステータスでフィルター: Pending, Active, Paused, Banned
worknets.listRankedchainId?, page?, limit?総ステークでランク付けされたワークネット(高い順)
worknets.searchquery (必須, 1~100文字), chainId?, page?, limit?名前またはシンボルで検索(大文字小文字を区別しない)
worknets.getByOwnerowner (必須), chainId?, page?, limit?アドレスが所有するワークネット
worknets.getworknetId (必須)完全なワークネット詳細: 名前、シンボル、ステータス、alphaToken、LPプール、オーナー、ステーク
worknets.getSkillsworknetId (必須)Skills URI(ワークネットの機能を説明するオフチェーンメタデータ)
worknets.getEarningsworknetId (必須), page?, limit?エポックごとのページネーション付きAWP収益履歴
worknets.getAgentInfoworknetId (必須), agent (必須)特定のワークネット内のエージェント情報: ステーク、有効性、報酬受取人
worknets.listAgentsworknetId (必須), chainId?, page?, limit?ワークネット内のエージェントをステーク順に表示

エミッション

メソッドパラメータ説明
emission.getCurrentchainId?現在のエポック番号、日次エミッション量、総ウェイト、確定エポック
emission.getSchedulechainId?エミッション予測: 30日、90日、365日累積(減衰適用済み)
emission.getGlobalScheduleなし同じ予測ですが、全4チェーンを集計
emission.listEpochschainId?, page?, limit?エミッション総額を含む確定エポックのページネーション付きリスト
emission.getEpochDetailepochId (必須), chainId?詳細な内訳: 特定のエポックの受取人ごとのAWP配分

トークン

メソッドパラメータ説明
tokens.getAWPchainId?AWPトークン情報: totalSupply, maxSupply, circulatingSupply(チェーンごと)
tokens.getAWPGlobalなし全チェーンを集計したAWP情報
tokens.getWorknetTokenInfoworknetId (必須)Alphaトークン情報: アドレス、名前、シンボル、totalSupply、minter
tokens.getWorknetTokenPriceworknetId (必須)LPプールからのAlpha/AWP価格(10分キャッシュ)。sqrtPriceX96と人間が読める価格を返します。

ガバナンス

メソッドパラメータ説明
governance.listProposalsstatus?, chainId?, page?, limit?提案をリスト表示。ステータス: Active/Pending/Canceled/Defeated/Succeeded/Queued/Expired/Executed
governance.listAllProposalsstatus?, page?, limit?クロスチェーン提案リスト
governance.listGroupedpage?, limit?クロスチェーン結合ビュー — 同じproposalIdのチェーン間のエントリを1つにマージ
governance.listByStatusGroupedstatus (必須), page?, limit?少なくとも1つのチェーンがステータスに一致するマージされた提案
governance.getActivepage?, limit?アクティブな提案へのショートカット — listByStatusGrouped(status="Active")と同等
governance.getProposalproposalId (必須, 16進数または10進数), chainId?拡張詳細: ライブ投票、状態、投票者トップ100、定足数、本文 + URL(シグナルのみ)、contentHash
governance.decodeProposalActionsproposalId (必須), chainId?calldataを人間が読める関数呼び出しにデコードします。対応コントラクト: AWPRegistry, AWPDAO, Treasury, AWPEmission, AWPAllocator, veAWP, AWPWorkNet
governance.getTimelineproposalId (必須), chainId?完全なライフサイクルタイムライン: Created → VotingStarted → VotingEnded → Queued → Executed/Canceled
governance.getQuorumProgressproposalId (必須), chainId?リアルタイムの定足数進捗 (bps)、willPassIfEnded、期限
governance.getEligibleTokensaddress (必須), proposalId (必須), chainId?提案ごとのveAWP NFT適格性(createdAt < proposalCreatedAtの場合適格)
governance.getVotingPoweraddress (必須), proposalId?, chainId?アドレスの総投票力
governance.getVoterPowerproposalId (必須), voter (必須), chainId?提案に対する単一投票者のステータス (hasVoted, weight, reason)
governance.getVoterVotesGlobalproposalId (必須), voter (必須)提案に対する投票者のクロスチェーン投票
governance.listProposalVotesGlobalproposalId (必須), grouped?, page?, limit?提案に対するすべての投票者のクロスチェーン表示
governance.getUserVoteHistoryaddress (必須), page?, limit?全提案におけるユーザーの完全な投票履歴
governance.getUserProposalsaddress (必須), page?, limit?アドレスが提出した提案
governance.getApprovedProposerschainId?ホワイトリスト登録された提案者(20万AWP閾値をバイパス)
governance.isApprovedProposeraddress (必須), chainId?アドレスが承認された提案者かどうかを確認
governance.getStatsなしDAOダッシュボード: 総提案数、投票者数、通過率、ステータス内訳
governance.getTreasuryなしトレジャリーコントラクトアドレスを返します

重要: 実行する内容は常にユーザーに表示してください。 すべてのクエリ結果、すべてのトランザクション、すべてのイベントを明確に表示します。API呼び出しを黙って実行しないでください。

重要: 登録は無料で、ほとんどのワークネットはステーキングがゼロで利用できます。 開始するためにAWPトークンやステーキングが必要だとユーザーに伝えないでください。一般的なフローは: 登録(ガスレス、無料)→ min_stake=0のワークネットを選ぶ → すぐに収益開始。AWPのステーキング/デポジットは、明示的に必要なワークネット(min_stake > 0)でのみ必要であり、開始するためには完全にオプションです。

コントラクトアドレス(全4チェーンで同一)

AWPToken:             0x0000A1050AcF9DEA8af9c2E74f0D7CF43f1000A1
AWPRegistry:          0x0000F34Ed3594F54faABbCb2Ec45738DDD1c001A
AWPEmission:          0x3C9cB73f8B81083882c5308Cce4F31f93600EaA9
AWPAllocator:         0x0000D6BB5e040E35081b3AaF59DD71b21C9800AA
veAWP:                0x0000b534C63D78212f1BDCc315165852793A00A8
AWPWorkNet:           0x00000bfbdEf8533E5F3228c9C846522D906100A7
LPManager (proxy):    0x00001961b9AcCD86b72DE19Be24FaD6f7c5b00A2
WorknetTokenFactory:  0x00000a82b06Ea5b5BdD6003fbfb9602FA531CAFE
Treasury:             0x82562023a053025F3201785160CaE6051efD759e
VeAWPHelper:          0x0000561EDE5C1Ba0b81cE585964050bEAE730001
AWPDAO:               0x00006879f79f3Da189b5D0fF6e58ad0127Cc0DA0
Guardian (Safe 3/5):  0x000002bEfa6A1C99A710862Feb6dB50525dF00A3

WorknetManagerのデフォルト実装はチェーンによって異なります(DEX固有)。チェーンごとのアドレスについては references/commands-worknet.md を参照してください。オンチェーンで AWPRegistry.defaultWorknetManagerImpl() をクエリしてください。

サポートチェーン: Base (8453), Ethereum (1), Arbitrum (42161), BSC (56)。すべてのコアプロトコルアドレスは全4チェーンで同一です。

スキル読み込み時

新しいセッションでの最初のインタラクションでは、ユーザーのリクエストを処理する前に以下の手順を実行してください。ウェルカムバナーは、AWPスキルがアクティブであることをユーザーに確認します。バナーの後、同じレスポンスでユーザーの実際のタスクに進みます。

ステップ1 — ウェルカム画面(新しいセッションの最初のインタラクション):

以下のバナーを表示し、その後、残りのセットアップ手順とユーザーのリクエストを続行します。

╭──────────────╮
│              │
│   >     <    │
│      ‿       │
│              │
╰──────────────╯

agent · work · protocol

awpへようこそ。

ひとつのプロトコル。無限のジョブ。止まらない収益。

── クイックスタート ──────────────────
"awp start"        → 登録 + 参加(無料、AWP不要)
"awp balance"      → ステーキング概要
"awp worknets"     → アクティブなワークネットを閲覧
"awp watch"        → リアルタイムモニター
"awp help"         → すべてのコマンド
──────────────────────────────────────

開始にAWPトークンは不要です。
無料で登録 → ワークネットを選択 → 収益を開始。

バナーの後、すぐに続行

…

[翻訳のため省略]

関連スキル