Communitygithub.com

awp-core/awp-skill

AWP(Agent Work Protocol)—— 在 Base、Ethereum、Arbitrum 和 BSC 上进行代理挖矿的完整工具包。当用户明确提到 AWP、worknets、veAWP、awp-wallet 或特定 AWP 操作时使用。

awp-skill 是什么?

AWP(Agent Work Protocol)是一个完整的代理挖矿工具包,支持在 Base、Ethereum、Arbitrum 和 BSC 四条区块链上运行。该技能提供了从钱包初始化、注册、加入 worknets,到质押、分配、治理投票和查询等全套操作。核心 API 采用 JSON-RPC 2.0 标准,通过单一端点 `https://api.awp.sh/v2` 访问,所有合约地址在四条链上完全一致。技能内置了实时监控守护进程、WebSocket 事件流和批量查询能力,并通过 ERC-2612 许可实现无 Gas 中继交易。需要注意的是,注册完全免费且多数 worknets 无需任何 AWP 质押即可开始工作,用户不需要持有 AWP 代币就能开始赚取收益。该技能适用于各种 AI Agent 平台,因为它完全基于标准 HTTP/WebSocket 接口,不依赖特定运行时环境。

兼容平台✓Claude Code~Codex CLI~Cursor
npx skills add awp-core/awp-skill

在你喜欢的 AI 中提问

打开一个已预加载此 Agent Skill 的新对话。

文档

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 调用均使用 JSON-RPC 2.0 通过 POST 方式:

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 | 批量请求:每次最多 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无全局协议统计:总用户数、worknets 数量、已质押 AWP、已释放 AWP、活跃链数量
registry.getchainId?所有合约地址 + EIP-712 域信息。省略 chainId 将返回全部 4 条链的数组。
health.check无返回 {"status": "ok"} 表示 API 正常运行
health.detailed无逐链健康状况:索引器同步区块、守护进程状态、RPC 延迟
chains.list无所有支持链的数组 {chainId, name, status, explorer}

用户

方法参数描述
users.listchainId?、page?、limit?分页获取单条链的用户列表
users.listGlobalpage?、limit?跨链去重后的用户列表
users.countchainId?总注册用户数
users.getaddress (必填)、chainId?用户详细信息:余额、绑定的代理、收款地址、注册状态
users.getPortfolioaddress (必填)、chainId?完整投资组合:身份 + 质押 + NFT 持仓 + 分配 + 委托
users.getDelegatesaddress (必填)、chainId?该用户已授权的所有委托地址列表

地址与 Nonce

方法参数描述
address.checkaddress (必填)、chainId?检查注册状态、绑定关系、收款地址。参见下方响应格式。
address.resolveRecipientaddress (必填)、chainId?遍历绑定链至根节点,返回有效奖励收款地址
address.batchResolveRecipientsaddresses[] (必填,最多 500)、chainId?批量解析有效收款地址(链上调用)
nonce.getaddress (必填)、chainId?AWPRegistry 的 EIP-712 nonce(用于绑定/解绑/设置收款地址/注册 worknet/授权委托/撤销委托)。注意:可能落后于链上状态;签名时建议直接从链上读取 AWPRegistry.nonces(user)。
nonce.getStakingaddress (必填)、chainId?AWPAllocator 的 EIP-712 nonce(用于分配/取消分配)。注意:可能落后于链上状态;签名时建议直接从链上读取 AWPAllocator.nonces(user)。

代理

方法参数描述
agents.getByOwnerowner (必填)、chainId?绑定到此所有者的所有代理地址
agents.getDetailagent (必填)、chainId?代理详细信息:所有者、绑定链、委托状态
agents.lookupagent (必填)、chainId?快速查询:返回 {"ownerAddress": "0x..."}
agents.batchInfoagents[] (必填,最多 100)、worknetId (必填)、chainId?批量查询:代理信息 + 其在指定 worknet 中的质押

质押

方法参数描述
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?冻结的分配(来自被禁用的 worknets)
staking.getPendingaddress (必填)、chainId?待确认的分配
staking.getAgentWorknetStakeagent (必填)、worknetId (必填)代理在指定 worknet 中的总分配质押(跨链)
staking.getAgentWorknetsagent (必填)该代理拥有非零分配的所有 worknetId
staking.getWorknetTotalStakeworknetId (必填)worknet 中所有代理的 AWP 总质押量

Worknets

方法参数描述
worknets.liststatus?、chainId?、page?、limit?列出 worknets。可按状态筛选:Pending、Active、Paused、Banned
worknets.listRankedchainId?、page?、limit?按总质押量排序的 worknets(最高优先)
worknets.searchquery (必填,1-100 字符)、chainId?、page?、limit?按名称或符号搜索(不区分大小写)
worknets.getByOwnerowner (必填)、chainId?、page?、limit?地址拥有的 worknets
worknets.getworknetId (必填)完整的 worknet 详情:名称、符号、状态、alphaToken、LP 池、所有者、质押信息
worknets.getSkillsworknetId (必填)Skills URI(链下元数据,描述 worknet 的能力)
worknets.getEarningsworknetId (必填)、page?、limit?按 epoch 分页的 AWP 收益历史
worknets.getAgentInfoworknetId (必填)、agent (必填)代理在指定 worknet 中的信息:质押、有效性、奖励收款地址
worknets.listAgentsworknetId (必填)、chainId?、page?、limit?worknet 中按质押排序的代理

释放

方法参数描述
emission.getCurrentchainId?当前 epoch 编号、每日释放量、总权重、已结算 epoch
emission.getSchedulechainId?释放预测:30 天、90 天、365 天累计量(含衰减)
emission.getGlobalSchedule无同上,但跨所有 4 条链聚合
emission.listEpochschainId?、page?、limit?已结算 epoch 的分页列表,含释放总量
emission.getEpochDetailepochId (必填)、chainId?详细分解:指定 epoch 中每个收款地址的 AWP 分配

代币

方法参数描述
tokens.getAWPchainId?AWP 代币信息:总供应量、最大供应量、流通供应量(每条链)
tokens.getAWPGlobal无跨所有链聚合的 AWP 信息
tokens.getWorknetTokenInfoworknetId (必填)Alpha 代币信息:地址、名称、符号、总供应量、铸币者
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?跨链合并视图——同一条提案 ID 跨链合并为一条记录
governance.listByStatusGroupedstatus (必填)、page?、limit?合并的提案,其中至少一条链匹配该状态
governance.getActivepage?、limit?活跃提案快捷方式——相当于 listByStatusGrouped(status="Active")
governance.getProposalproposalId (必填,十六进制或十进制)、chainId?详细信息:实时投票、状态、前 100 名投票者、法定人数、正文 + 链接(信号提案)、contentHash
governance.decodeProposalActionsproposalId (必填)、chainId?将 calldata 解码为人类可读的函数调用。支持:AWPRegistry、AWPDAO、Treasury、AWPEmission、AWPAllocator、veAWP、AWPWorkNet
governance.getTimelineproposalId (必填)、chainId?完整的生命周期时间线:已创建 → 投票开始 → 投票结束 → 已排队 → 已执行/已取消
governance.getQuorumProgressproposalId (必填)、chainId?实时法定人数进度(基点)、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?白名单提案提交者(绕过 200K AWP 门槛)
governance.isApprovedProposeraddress (必填)、chainId?检查地址是否为批准的提案提交者
governance.getStats无DAO 仪表盘:总提案数、投票者数、通过率、状态分布
governance.getTreasury无返回国库合约地址

重要提示:始终向用户展示你正在做什么。 每个查询结果、每笔交易、每个事件——都要清晰地打印出来。绝不要在后台静默调用 API。

关键提示:注册是免费的,大多数 worknets 不需要任何质押。 不要告诉用户他们需要 AWP 代币或质押才能开始。典型的流程是:注册(无 Gas、免费)→ 选择一个 min_stake=0 的 worknet → 立即开始赚取收益。质押/存入 AWP 仅在 worknet 明确要求时(min_stake > 0)才需要,对于入门来说完全是可选的。

合约地址(全部 4 条链相同)

AWPToken:             0x0000A1050AcF9DEA8af9c2E74f0D7CF43f1000A1
AWPRegistry:          0x0000F34Ed3594F54faABbCb2Ec45738DDD1c001A
AWPEmission:          0x3C9cB73f8B81083882c5308Cce4F31f93600EaA9
AWPAllocator:         0x0000D6BB5e040E35081b3AaF59DD71b21C9800AA
veAWP:                0x0000b534C63D78212f1BDCc315165852793A00A8
AWPWorkNet:           0x00000bfbdEf8533E5F3228c9C846522D906100A7
LPManager (代理):    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"     → 浏览活跃 worknets
"awp watch"        → 实时监控
"awp help"         → 所有命令
──────────────────────────────────

开始无需 AWP 代币。
免费注册 → 选择一个 worknet → 开始赚取收益。

横幅显示后,立即继续

相关技能