关于 send-token
此技能通过 OpenAnt CLI 在 Solana 和 Base 上转账,涵盖余额检查、交易信息提取及不可撤销操作前的确认步骤。
主要功能
- 01发送原生币和代币
- 02支持 Solana 和 Base
- 03接受铸币或合约地址
- 04转账前要求确认
- 05检查钱包状态和余额
适用场景
- 01向地址转账 SOL 或 ETH
- 02在 Solana 或 Base 上发送 USDC
- 03转账任意 SPL 或 ERC20 代币
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ openant-ai/ openant-skills --skill send-token安装后在 Claude Code 中输入/send-token确认已加载。
详细介绍
在 OpenAnt 上发送代币
使用 npx @openant-ai/cli@latest CLI 在 Solana 或 Base 上转账。支持原生币(SOL、ETH)、命名代币(USDC),以及通过铸币地址/合约地址指定的任意代币。
每条命令都必须追加 --json,以获得结构化、可解析的输出。
确认身份验证和余额
npx @openant-ai/cli@latest status --json
npx @openant-ai/cli@latest wallet balance --json
如果尚未通过身份验证,请参阅 authenticate-openant 技能。如果余额不足,请告知用户。
命令语法
npx @openant-ai/cli@latest wallet send <chain> <token> <amount> <to> [--json] [--rpc <url>]
参数
| 参数 | 说明 |
|---|---|
chain | 目标链:solana(或 sol)、base(或 eth) |
token | 代币:sol、eth、usdc,或铸币/合约地址 |
amount | 以显示单位表示的数量(例如,10 = 10 USDC,0.5 = 0.5 SOL) |
to | 目标地址(Solana 公钥或 EVM 0x 地址) |
选项
| 选项 | 说明 |
|---|---|
--json | 机器可读的 JSON 输出 |
--rpc <url> | 覆盖该链的默认 RPC URL |
支持的链和代币
| 链 | 命名代币 | 原生币 |
|---|---|---|
solana / sol | usdc,或任意 SPL 铸币地址 | sol |
base / eth | usdc,或任意 ERC20 合约地址 | eth |
对于任意代币,将铸币地址(Solana)或合约地址(Base)直接作为 token 参数传入。
示例
发送原生 SOL
npx @openant-ai/cli@latest wallet send solana sol 1.5 7xKabc123... --json
# -> { "success": true, "data": { "chain": "solana", "txSignature": "5xYz..." } }
在 Solana 上发送 USDC
npx @openant-ai/cli@latest wallet send solana usdc 100 7xKabc123... --json
# -> { "success": true, "data": { "chain": "solana", "txSignature": "3aBc..." } }
在 Base 上发送 ETH
npx @openant-ai/cli@latest wallet send base eth 0.05 0xAbCdEf... --json
# -> { "success": true, "data": { "chain": "base", "txHash": "0x1a2b..." } }
在 Base 上发送 USDC
npx @openant-ai/cli@latest wallet send base usdc 50 0xAbCdEf... --json
# -> { "success": true, "data": { "chain": "base", "txHash": "0x9f8e..." } }
通过铸币地址发送任意 SPL 代币
npx @openant-ai/cli@latest wallet send solana 4zMMC9srt5Ri5X14GAgXhaHii3GnPAEERYPJgZJDncDU 25 7xKabc123... --json
通过合约地址在 Base 上发送任意 ERC20
npx @openant-ai/cli@latest wallet send base 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 10 0xAbCdEf... --json
自然语言映射
当用户提出类似以下请求时:
- “帮我在 base 上转 10 usdc 给 0xAbc...” →
wallet send base usdc 10 0xAbc... --json - “帮我在 solana 上转 1.5 sol 给 7xK...” →
wallet send solana sol 1.5 7xK... --json - “在 Base 上向 0xDef... 发送 50 USDC” →
wallet send base usdc 50 0xDef... --json - “向 0x123... 转 0.1 ETH” →
wallet send base eth 0.1 0x123... --json - “帮我在 solana 上转 10 <mint_address> 给 ” →
wallet send solana <mint_address> 10 <recipient> --json
提取:链、代币(名称或地址)、数量和目标地址。
自主性
代币转账不可撤销。 执行前务必向用户确认:
- 与用户确认链、代币、数量和目标地址
- 先检查钱包余额,确保资金充足
- 仅在用户明确确认后执行
只读命令(status、wallet balance、wallet addresses)可立即执行。
绝对禁止
- 绝不可在用户未明确确认目标地址的情况下发送——区块链转账不可撤销。执行前应显示完整地址,并请用户核实。
- 绝不可将 Solana 代币发送到 Base 地址,反之亦然——这两条链不兼容。Solana 地址是 base58 字符串(32–44 个字符),Base 地址以
0x开头。如果地址格式与链不匹配,请停止并向用户确认。 - 绝不可假设显示的余额已扣除 Gas 费用——Solana 交易需要少量 SOL 费用(约 0.000005 SOL);Base 交易需要 ETH 作为 Gas。如果用户要发送全部余额,应留出少量储备,否则交易会失败。
- 绝不可仅根据代币推断链——Solana 和 Base 上都有 USDC。发送前务必确认用户打算使用哪条链。
- 绝不可未经再次核实就向用户随口输入的地址发送——如果用户在句子中输入了地址,或只给出了地址缩写,请让他们重新粘贴完整地址以供确认。
前提条件
- 必须已通过身份验证(
npx @openant-ai/cli@latest status --json) - 钱包必须有足够余额来支付转账金额及 Gas/费用
- 对于 SPL 代币转账,发送方必须持有该代币
错误处理
- “未找到凭据”——先运行
authenticate-openant技能 - “余额不足” / “尝试扣款”——钱包资金不足;检查
wallet balance - “未知链”——支持:
sol、base、eth - “未找到 Base 钱包” / “未找到 Solana 钱包”——重新登录以创建钱包
- “无法读取 mint 的小数位数”——代币 mint 地址无效或不存在
- 交易模拟失败——检查余额和收款地址是否有效
评论
支持 Markdown