Skip to Content
Guides送金・受取

Send and Receive

Kova を使った送金と受取は、シンプルかつ安全に設計されています。dry-runによる事前確認、複数チェーン対応、ERC-20トークンのサポートなど、実用的な機能を備えています。

送金フロー

Kova の送金は、2段階プロセスで安全性を確保しています:

ステップ1: dry-run(シミュレーション)

まず、dry-runで送金内容を確認します:

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

出力例:

{ "ok": true, "data": { "dryRun": true, "tx": { "from": "0xB8EC761bf83B4374877e903d217222F2cd5512De", "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "value": "10", "token": "USDC", "chain": "base", "estimatedGas": "65000", "gasPrice": "0.5 Gwei", "estimatedGasCost": "0.0000325 ETH" } } }

dry-runでは、以下がチェックされます:

  • 残高が十分か
  • トークンアドレスが正しいか
  • ガス代が適正か
  • トランザクションが成功する見込みか

実際の送金は行われません

ステップ2: broadcast(実送信)

dry-run結果を確認し、問題なければ--broadcastフラグで実送信します:

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

出力例:

{ "ok": true, "data": { "dryRun": false, "txHash": "0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef", "explorerUrl": "https://basescan.org/tx/0x1234567890abcdef1234567890abcdef1234567890abcdef1234567890abcdef" } }

トランザクションハッシュとBlock ExplorerのURLが返却されます。Block Explorerで、トランザクションの状態を確認できます。

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

ネイティブトークン(ETH、POL)を送金する場合は、--tokenオプションを省略します:

# dry-run kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 0.001 --chain base # broadcast kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 0.001 --chain base --broadcast

出力例(dry-run):

{ "ok": true, "data": { "dryRun": true, "tx": { "from": "0xB8EC761bf83B4374877e903d217222F2cd5512De", "to": "0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb", "value": "0.001", "token": "native", "symbol": "ETH", "chain": "base", "estimatedGas": "21000", "gasPrice": "0.5 Gwei", "estimatedGasCost": "0.0000105 ETH" } } }

ネイティブトークンの送金は、ERC-20トークンよりもガス代が安くなります(約21,000 gas)。

ERC-20トークンの送金

ERC-20トークン(USDC、USDT、JPYC など)を送金する場合は、--tokenオプションでトークンシンボルを指定します:

# USDCの送金(dry-run) kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --chain base --token USDC # USDCの送金(broadcast) kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --chain base --token USDC --broadcast

注意: ERC-20トークンの送金には、ガス代としてネイティブトークン(ETHまたはPOL)が必要です。残高を確認してください:

# 全チェーンの残高確認(native / ERC-20 を一覧表示) kova balance

受取

トークンを受け取るには、自分のウォレットアドレスを送金者に伝えるだけです。

ウォレットアドレスの確認

# ウォレット情報を表示 kova wallet info --name my-wallet

出力例:

{ "ok": true, "data": { "wallet": { "id": "68cf6dba-e5f1-4c3a-9b2e-1234567890ab", "name": "my-wallet", "accounts": [ { "chainId": "eip155:1", "address": "0xB8EC761bf83B4374877e903d217222F2cd5512De", "derivationPath": "m/44'/60'/0'/0/0" }, { "chainId": "eip155:8453", "address": "0xB8EC761bf83B4374877e903d217222F2cd5512De", "derivationPath": "m/44'/60'/0'/0/0" } ] } } }

全チェーンで同じアドレス(0xB8EC761bf83B4374877e903d217222F2cd5512De)が使用されます。このアドレスを送金者に伝えてください。

受取の確認

送金を受け取った後、残高を確認します:

# 残高確認 kova balance

トランザクションがブロックチェーンに記録されるまで、数秒~数分かかることがあります(チェーンによって異なります)。

ガス代の考慮

ガス代は、トランザクションをブロックチェーンに記録するための手数料です。以下の点に注意してください:

ガス代の目安

操作目安ガスBase(約)Ethereum(約)
ネイティブトークン送金21,000$0.001$1-5
ERC-20トークン送金65,000$0.003$3-15

注意: ガス価格は、ネットワークの混雑状況によって変動します。

ガス代不足のエラー

ERC-20トークンを送金する際、ネイティブトークンの残高が不足しているとエラーになります:

{ "ok": false, "error": { "code": "INSUFFICIENT_BALANCE", "message": "Insufficient ETH balance for gas. Required: 0.0000325 ETH, Available: 0 ETH" } }

対処法: ネイティブトークン(ETHまたはPOL)を入金してください。

トランザクションの確認

送金後、Block Explorerでトランザクションの状態を確認できます:

  1. explorerUrlをブラウザで開く
  2. トランザクションの詳細を確認:
    • Status(成功/失敗)
    • Block Number(確認数)
    • From/To(送信元/送信先)
    • Value(送金額)
    • Gas Fee(実際のガス代)

確認数について:

  • 1確認 - トランザクションがブロックに含まれた
  • 3確認以上 - ほぼ確実にファイナライズされた(推奨)
  • 12確認以上 - 完全にファイナライズされた(Ethereum)

よくある間違いと対処法

1. チェーンを間違える

間違い:

# Baseチェーンで送金するつもりが、Ethereumチェーンで送金 kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --chain ethereum --token USDC --broadcast

対処法: 必ずdry-runで確認してから--broadcastを実行してください。チェーンとトークンの組み合わせが正しいか確認しましょう。

2. トークンシンボルを間違える

間違い:

# USDbCを送りたいのに、USDCと指定 kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --chain base --token USDC --broadcast

対処法: サポートされているトークンを確認してください:

# サポートトークン確認 kova config list

3. 残高不足

エラー:

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

対処法: 残高を確認し、必要に応じて入金してください:

kova balance

4. ガス代不足

エラー:

{ "ok": false, "error": { "code": "INSUFFICIENT_BALANCE", "message": "Insufficient ETH balance for gas" } }

対処法: ネイティブトークン(ETH、POL)を入金してください。

デバッグ方法

送金に失敗した場合は、以下の手順でデバッグしてください:

1. エラーコードを確認

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

エラーコードごとの対処法は、Reference: Error Codesを参照してください。

2. 残高を確認

kova balance

3. dry-runで事前確認

# dry-runで送金内容を確認 kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --chain base --token USDC

4. トランザクション履歴を確認

Block Explorerで、過去のトランザクション履歴を確認してください:

AIエージェント統合時の推奨フロー

AIエージェントに送金機能を使わせる場合は、以下のフローを推奨します:

async function sendTokensWithApproval(to: string, amount: string, chain: string, token: string) { // 1. dry-run const dryRunResult = JSON.parse( execSync(`kova send --name my-wallet --to ${to} --amount ${amount} --chain ${chain} --token ${token}`).toString() ); if (!dryRunResult.ok) { return { error: dryRunResult.error }; } // 2. ユーザーに確認を求める console.log("送金内容を確認してください:"); console.log(`送信先: ${dryRunResult.data.tx.to}`); console.log(`金額: ${dryRunResult.data.tx.value} ${token}`); console.log(`チェーン: ${chain}`); console.log(`ガス代: ${dryRunResult.data.tx.estimatedGasCost} ETH`); const approved = await askUserApproval(); if (!approved) { return { error: "User cancelled transaction" }; } // 3. broadcast const result = JSON.parse( execSync(`kova send --name my-wallet --to ${to} --amount ${amount} --chain ${chain} --token ${token} --broadcast`).toString() ); return result; }

詳細な統合例は、AI Agent Integrationを参照してください。

次のステップ

Last updated on