send-tokens
ネイティブトークン(ETH、POL等)またはERC-20トークン(USDC、USDT、JPYC等)を指定したアドレスへ送金するSkillです。デフォルトはdry-run(シミュレーション) であり、--broadcast を明示した場合のみ実際のトランザクションが送信されます。AIエージェントが「〇〇に10 USDCを送って」「ETHを送金して」といった指示を受けたとき、このSkillが起動します。
トリガー条件
以下のような自然言語の指示でこのSkillが呼び出されます。
- “0x…に1 ETHを送って”
- “〇〇さんのアドレスに10 USDCを送金して”
- “Polygonで1000 JPYCを送って”
- “送金前にシミュレーションしてみて”
実行されるコマンド
npx kova@latest send --to <address> --amount <amount> [--token <symbol>] [--chain <chain>] [--broadcast]オプション
| オプション | 説明 | デフォルト |
|---|---|---|
--to | 送金先アドレス(必須) | - |
--amount | 送金額(必須) | - |
--token | ERC-20トークンのシンボル | ネイティブトークン |
--chain | チェーン名 | base |
--broadcast | 実際にトランザクションを送信する | false(dry-run) |
入力バリデーション
CLIにコマンドを渡す前に、すべてのユーザー入力を検証します。未検証の入力は絶対にコマンドに渡しません。
| パラメータ | ルール |
|---|---|
to | ^0x[0-9a-fA-F]{40}$ 形式のみ。スペース・シェルメタキャラクタは拒否 |
amount | ^[\d.]+$ 形式のみ(数字と小数点)。負の値・シェルメタキャラクタは拒否 |
token | サポートされているトークンシンボルのみ |
chain | サポートされているチェーン名のみ |
出力例
dry-run(シミュレーション)
{
"ok": true,
"data": {
"dryRun": true,
"tx": {
"from": "0x1234...abcd",
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"value": "0.01",
"chain": "base"
}
}
}broadcast(実際の送金)
{
"ok": true,
"data": {
"txHash": "0xabcd...ef01",
"from": "0x1234...abcd",
"to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb",
"value": "0.01",
"chain": "base"
}
}エラーハンドリング
残高不足
{
"ok": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Insufficient balance: required 100 ETH, available 0.5 ETH"
}
}check-balance Skillで残高を確認してから送金してください。
無効なアドレス
{
"ok": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Invalid Ethereum address"
}
}送金先アドレスが 0x から始まる40桁の16進数であることを確認してください。
ウォレットが見つからない
{
"ok": false,
"error": {
"code": "WALLET_NOT_FOUND",
"message": "Wallet 'nonexistent' not found"
}
}npx kova@latest wallet info でウォレット情報を確認するか、kova init でウォレットをセットアップしてください。
使用例
推奨ワークフロー:残高確認 → dry-run → broadcast
# 1. 残高確認(全チェーン×トークンの残高をまとめて表示)
npx kova@latest balance
# 2. dry-run(シミュレーション)で内容を確認
npx kova@latest send \
--to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb \
--amount 10 \
--token USDC \
--chain base
# 3. dry-runの内容を確認後、broadcastで実際に送金
npx kova@latest send \
--to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb \
--amount 10 \
--token USDC \
--chain base \
--broadcast異なるチェーンへの送金
# Ethereumメインネット
npx kova@latest send \
--to 0x... \
--amount 0.001 \
--chain ethereum \
--broadcast
# PolygonでJPYCを送金
npx kova@latest send \
--to 0x... \
--amount 1000 \
--token JPYC \
--chain polygon \
--broadcastdry-runの活用
dry-runは送金前の最終確認として活用してください。
- 送金先アドレスの確認 -
"to"フィールドで宛先を目視確認 - 金額の確認 -
"value"フィールドで金額を確認 - チェーンの確認 -
"chain"フィールドで正しいチェーンか確認
dry-runの出力に問題がなければ、同じコマンドに --broadcast を追加して送金します。
ガス代について
ERC-20トークンを送金する場合でも、ガス代はチェーンのネイティブトークン(ETH、POL等)で支払われます。ウォレットに十分なネイティブトークンがあることを確認してください。
例:BaseでUSDCを10枚送金する場合
- USDC 10枚(送金額)
- ETH 約0.0001枚(ガス代)
トランザクション確認
broadcast後、txHash を使ってブロックエクスプローラーで状態を確認できます。
# ブロックエクスプローラーのURL
# Base: https://basescan.org/tx/<txHash>
# Ethereum: https://etherscan.io/tx/<txHash>
# Polygon: https://polygonscan.com/tx/<txHash>関連項目
- Skills概要 - 全Skillの一覧とセキュリティ仕様
- check-balance - 送金前の残高確認
- create-wallet - ウォレットの作成
- CLIコマンド: send - sendコマンドの完全なリファレンス
- Core Concepts: セキュリティ - dry-runとポリシー制御
- Guides: 送金・受取ガイド - 送金の詳細手順
Last updated on