Skip to Content
ReferenceSkillssend-tokens

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送金額(必須)-
--tokenERC-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 \ --broadcast

dry-runの活用

dry-runは送金前の最終確認として活用してください。

  1. 送金先アドレスの確認 - "to" フィールドで宛先を目視確認
  2. 金額の確認 - "value" フィールドで金額を確認
  3. チェーンの確認 - "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>

関連項目

Last updated on