Skip to Content
ReferenceCLIコマンドsend

send コマンド

sendコマンドは、ウォレットからトークンを送金するためのコマンドです。ネイティブトークン(ETH、POL等)およびERC-20トークン(USDC、USDT、JPYC など)の送金に対応しています。

重要: dry-runデフォルト

セキュリティ上の理由から、sendコマンドはデフォルトでdry-run(シミュレーション)モードです。 実際にトランザクションを送信するには、--broadcastフラグを明示的に指定する必要があります。

構文

kova send [options]

オプション

オプション必須/任意説明デフォルト値
--name <name>必須ウォレット名またはID-
--to <address>必須送信先アドレス(0x…形式またはENS名)-
--amount <amount>必須送信量(10進数形式、例: 1.0, 0.5-
--token <symbol>任意トークンシンボル(例: USDC, ETH, JPYCネイティブトークン
--chain <chain>必須チェーン名(例: base, ethereum, polygon-
--broadcast任意実際にトランザクションを送信false(dry-run)
--owner任意passphrase 署名を強制する(credential が設定されていても OWS API key を使わず、ローカル passphrase で署名する)false
--gasless任意ERC-7702 経由のガスレス送信 (対応チェーンのみ)false

credential (OWS API key) は config 保存のみ対応--api-key flag や OWS_API_KEY env は 漏洩リスク低減のため未実装。kova init で config に保存してください。

使用例

dry-run(シミュレーション)

ネイティブトークン(ETH)のdry-run送金:

kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 0.001 --chain base

出力例:

{ "ok": true, "data": { "dryRun": true, "tx": { "from": "0xB8EC761bf83B4374877e903d217222F2cd5512De", "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "value": "0.001", "chain": "base", "chainId": "eip155:8453", "token": "native", "symbol": "ETH", "estimatedGas": "21000", "gasPrice": "0.00000001" } } }

ERC-20トークン(USDC)のdry-run送金:

kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10.0 --token USDC --chain base

出力例:

{ "ok": true, "data": { "dryRun": true, "tx": { "from": "0xB8EC761bf83B4374877e903d217222F2cd5512De", "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "value": "10.0", "chain": "base", "chainId": "eip155:8453", "token": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "symbol": "USDC", "estimatedGas": "65000", "gasPrice": "0.00000001" } } }

broadcast(実際の送金)

dry-runで確認後、--broadcastを追加して実送信:

kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10.0 --token USDC --chain base --broadcast

出力例:

{ "ok": true, "data": { "dryRun": false, "txHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "explorerUrl": "https://basescan.org/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "from": "0xB8EC761bf83B4374877e903d217222F2cd5512De", "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "amount": "10.0", "token": "USDC" } }

ENS名の使用

Ethereum Mainnetでは、ENS名(例: vitalik.eth)を送信先アドレスとして使用できます。

kova send --name my-wallet --to vitalik.eth --amount 0.01 --chain ethereum --broadcast

送金フロー(推奨)

実際の送金は、以下の2ステップで行うことを推奨します。

ステップ1: dry-runで内容を確認

# 送金内容をシミュレーション kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10.0 --token USDC --chain base

確認事項:

  • 送信元アドレス(from)が正しいか
  • 送信先アドレス(to)が正しいか
  • 送信量(value)が正しいか
  • チェーン(chain)が正しいか
  • トークン(symbol)が正しいか
  • ガス代(estimatedGas × gasPrice)が妥当か

ステップ2: —broadcastで実送信

内容を確認後、同じコマンドに--broadcastを追加して実送信します。

# 実際に送金 kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10.0 --token USDC --chain base --broadcast

ステップ3: トランザクション確認

出力されたexplorerUrlでブロックチェーンエクスプローラーを開き、トランザクションが正常に処理されたか確認します。

# 出力例のexplorerUrlをブラウザで開く # https://basescan.org/tx/0x1234...

よくあるエラーと対処法

WALLET_NOT_FOUND

エラーメッセージ:

{ "ok": false, "error": { "code": "WALLET_NOT_FOUND", "message": "Wallet 'unknown-wallet' not found." } }

対処法:

  • kova wallet info でウォレット情報を確認する
  • ウォレット名のスペルミスを確認する

INSUFFICIENT_BALANCE

エラーメッセージ:

{ "ok": false, "error": { "code": "INSUFFICIENT_BALANCE", "message": "Insufficient balance. Required: 10.0 USDC, Available: 5.0 USDC" } }

対処法:

  • kova balance で残高を確認する
  • 送金量を減らす
  • ウォレットに入金する

INSUFFICIENT_GAS

エラーメッセージ:

{ "ok": false, "error": { "code": "INSUFFICIENT_BALANCE", "message": "Insufficient ETH for gas. Required: 0.001 ETH, Available: 0.0005 ETH" } }

対処法:

  • ネイティブトークン(ETH、POL等)の残高を確認する(kova balance
  • ネイティブトークンを入金してガス代を確保する

INVALID_PARAMS(無効なアドレス)

エラーメッセージ:

{ "ok": false, "error": { "code": "INVALID_PARAMS", "message": "Invalid address: 0xinvalid" } }

対処法:

  • 送信先アドレスの形式を確認する(0xで始まる42文字の16進数)
  • ENS名の場合は、Ethereum Mainnetで使用可能か確認する

CHAIN_NOT_SUPPORTED

エラーメッセージ:

{ "ok": false, "error": { "code": "CHAIN_NOT_SUPPORTED", "message": "Chain 'unknown-chain' is not supported." } }

対処法:

  • サポートチェーン一覧で正しいチェーン名を確認する
  • チェーン名は小文字で指定する(例: base, ethereum, polygon

TX_FAILED

エラーメッセージ:

{ "ok": false, "error": { "code": "TX_FAILED", "message": "Transaction failed: execution reverted" } }

対処法:

  • ガス代が不足していないか確認する
  • ネットワーク状態を確認する(混雑時はガス代が高騰する)
  • しばらく待ってから再実行する

ガス代の考慮

トークン送金には、ガス代(トランザクション手数料)が必要です。ガス代は、チェーンのネイティブトークン(ETH、POL等)で支払われます。

ネイティブトークン送金の場合

送金量 + ガス代の合計が必要です。

例(Baseで0.001 ETH送金):

  • 送金量: 0.001 ETH
  • ガス代: 約0.00021 ETH(21,000 gas × ガス価格)
  • 必要残高: 0.00121 ETH以上

ERC-20トークン送金の場合

ERC-20トークンとは別に、ガス代としてネイティブトークンが必要です。

例(Baseで10 USDC送金):

  • 送金量: 10 USDC
  • ガス代: 約0.00065 ETH(65,000 gas × ガス価格)
  • 必要残高:
    • USDC: 10 USDC以上
    • ETH(ガス代用): 0.00065 ETH以上

ガス代の確認

dry-runモードで、推定ガス代を確認できます。

kova send --name my-wallet --to 0x... --amount 10 --token USDC --chain base

出力のestimatedGasgasPriceから、ガス代を計算できます。

{ "estimatedGas": "65000", "gasPrice": "0.00000001" }

ガス代 = estimatedGas × gasPrice = 65000 × 0.00000001 = 0.00065 ETH


セキュリティのポイント

1. 必ずdry-runで確認

実送信の前に、必ずdry-runで送金内容を確認しましょう。

# ステップ1: dry-run kova send --name my-wallet --to 0x... --amount 10 --token USDC --chain base # ステップ2: 内容確認後、broadcast kova send --name my-wallet --to 0x... --amount 10 --token USDC --chain base --broadcast

2. 送信先アドレスの確認

送信先アドレスは、一度送金すると取り消せません。必ず確認しましょう。

  • アドレスの形式(0xで始まる42文字)
  • アドレスのスペルミス
  • チェーンの選択(例: Base、Ethereumを間違えない)

3. テストネットでの事前確認

本番環境(メインネット)で大きな金額を送金する前に、テストネットで動作確認しましょう。

# Base Sepoliaテストネット kova send --name test-wallet --to 0x... --amount 0.1 --chain base-sepolia --broadcast

4. ポリシー制御の活用

API鍵にポリシーを関連付けることで、送金額やチェーンを制限できます。詳細は、policy コマンドを参照してください。


AIエージェントでの使用例

Kovaは、AIエージェントとの統合を前提に設計されています。以下は、スキルを使った自然言語での送金の例です。

ユーザー(自然言語):

  • “0x742d35Cc6634C0532925a3b844Bc9e7595f0bEbに10 USDCを送って”
  • “vitalik.ethに0.01 ETHを送金して”
  • “送金して”

AIエージェントの実行:

# スキルが自動的にCLIコマンドに変換 # ステップ1: dry-run kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --token USDC --chain base # ステップ2: ユーザーに確認を求める # "この内容で送金してよろしいですか?" # ステップ3: 承認後、broadcast kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --token USDC --chain base --broadcast

詳細は、AIエージェント統合ガイドを参照してください。


関連コマンド

  • wallet - ウォレットの作成と管理
  • balance - ウォレットの残高を確認
  • policy - 送金制限ポリシーの設定
  • config - 設定管理

次のステップ

Last updated on