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でトランザクションの状態を確認できます:
explorerUrlをブラウザで開く- トランザクションの詳細を確認:
- 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 list3. 残高不足
エラー:
{
"ok": false,
"error": {
"code": "INSUFFICIENT_BALANCE",
"message": "Insufficient USDC balance. Required: 10, Available: 5"
}
}対処法: 残高を確認し、必要に応じて入金してください:
kova balance4. ガス代不足
エラー:
{
"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 balance3. dry-runで事前確認
# dry-runで送金内容を確認
kova send --name my-wallet --to 0x742d35Cc6634C0532925a3b844Bc9e7595f0bEb --amount 10 --chain base --token USDC4. トランザクション履歴を確認
Block Explorerで、過去のトランザクション履歴を確認してください:
- Base: https://basescan.org/address/
- Ethereum: https://etherscan.io/address/
- Polygon: https://polygonscan.com/address/
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を参照してください。
次のステップ
- CLI Commands: send - sendコマンドの詳細
- CLI Commands: balance - balanceコマンドの詳細
- Core Concepts: Security - セキュリティのベストプラクティス
- Guides: Multi-Chain Operations - マルチチェーン運用ガイド