token コマンド
tokenコマンドは、ユーザー定義の ERC-20 トークンレジストリを管理するコマンドです。kova 組み込みの静的トークンリスト(USDC / USDT / JPYC 等)に含まれないトークンを、send / swap / balance で使えるようシンボルで登録・削除・一覧表示できます。
サブコマンド一覧
| サブコマンド | 説明 |
|---|---|
add | ユーザー定義 ERC-20 トークンを登録 |
remove | ユーザー定義トークンを削除 |
list | トークン一覧を表示(静的 + ユーザー定義) |
token add
ERC-20 トークンをユーザーレジストリに登録します。登録後は send / swap でシンボルが使えるようになり、balance のサマリーにも表示されます。
構文
kova token add --chain <chain> --symbol <symbol> --address <address> --decimals <decimals>オプション
| オプション | 必須/任意 | 説明 |
|---|---|---|
--chain <chain> | 必須 | チェーン名(例: base, ethereum, polygon) |
--symbol <symbol> | 必須 | トークンシンボル(例: AERO)。英数字・.・_・- のみ、最大 20 文字 |
--address <address> | 必須 | ERC-20 コントラクトアドレス(0x...) |
--decimals <decimals> | 必須 | トークンの decimals(0〜36 の整数。ERC-20 標準は通常 18 または 6) |
制約事項
- 静的レジストリの既知シンボルは上書き不可 —
USDC・WETH等、kova 組み込みのシンボルへの再登録は拒否されます(symbol-spoofing 防止)。 - 予約 prefix は使用不可 —
ADDRESS・NATIVE・EIP155から始まるシンボル(例:NATIVE_X)は policy token key の名前空間と衝突するため拒否されます。 - agent モードでも実行可能(policy-gated)。
使用例
kova token add --chain base --symbol AERO --address 0x940181a94A35A4569E4529A3CDfB74e38FD98631 --decimals 18出力例:
{
"ok": true,
"data": {
"added": {
"chain": "base",
"symbol": "AERO",
"address": "0x940181a94A35A4569E4529A3CDfB74e38FD98631",
"decimals": 18
}
}
}token remove
ユーザーレジストリに登録したトークンを削除します。
構文
kova token remove --chain <chain> --symbol <symbol>オプション
| オプション | 必須/任意 | 説明 |
|---|---|---|
--chain <chain> | 必須 | チェーン名 |
--symbol <symbol> | 必須 | 削除するトークンシンボル |
注意: 静的レジストリのトークン(USDC 等)は
token removeでは削除できません。token removeの対象はユーザーがtoken addで登録したトークンのみです。
使用例
kova token remove --chain base --symbol AERO出力例:
{
"ok": true,
"data": {
"removed": {
"chain": "base",
"symbol": "AERO"
}
}
}対象トークンが存在しない場合:
{
"ok": false,
"error": {
"code": "CONFIG_NOT_FOUND",
"message": "User token \"AERO\" on base not found"
}
}token list
チェーンのトークン一覧(kova 組み込みの静的トークン + ユーザー登録トークン)を表示します。
構文
kova token list [--chain <chain>]オプション
| オプション | 必須/任意 | 説明 |
|---|---|---|
--chain <chain> | 任意 | 絞り込むチェーン名。省略時は全チェーンを表示 |
使用例
# Base チェーンのみ表示
kova token list --chain base
# 全チェーン表示
kova token list出力例(--chain base):
{
"ok": true,
"data": {
"chain": "base",
"tokens": [
{ "symbol": "USDC", "address": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913", "decimals": 6, "source": "static" },
{ "symbol": "WETH", "address": "0x4200000000000000000000000000000000000006", "decimals": 18, "source": "static" },
{ "symbol": "AERO", "address": "0x940181a94A35A4569E4529A3CDfB74e38FD98631", "decimals": 18, "source": "user" }
]
}
}"source": "static" は kova 組み込みトークン、"source": "user" はユーザー登録トークンを示します。
OperationKind 分類
| サブコマンド | OperationKind | 備考 |
|---|---|---|
add | TOKEN_ADD | agent モード(non-TTY)でも実行可能(policy-gated) |
remove | TOKEN_REMOVE | policy-gated |
list | TOKEN_LIST | read-only。agent / terminal どちらでも実行可能 |
参考: OperationKind 分類
よくあるエラーと対処法
INVALID_PARAMS(アドレス形式不正)
{
"ok": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Invalid token address: \"0xinvalid\""
}
}対処法: --address に 0x で始まる 42 文字の有効な ERC-20 コントラクトアドレスを指定する。
INVALID_PARAMS(decimals 範囲外)
{
"ok": false,
"error": {
"code": "INVALID_PARAMS",
"message": "decimals must be an integer in 0..36, got 19.5"
}
}対処法: --decimals に 0〜36 の整数を指定する。ERC-20 標準では 18(ETH 系)または 6(USDC 系)が一般的。
INVALID_PARAMS(シンボル形式不正)
{
"ok": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Invalid token symbol: \"MY TOKEN\""
}
}対処法: シンボルは英数字・.・_・- のみ、最大 20 文字で指定する。スペースは使用不可。
INVALID_PARAMS(静的シンボル上書き)
{
"ok": false,
"error": {
"code": "INVALID_PARAMS",
"message": "..."
}
}対処法: kova 組み込みの既知シンボル(USDC 等)は上書きできません。別のシンボルで登録するか、kova token list --chain <chain> で既存のシンボルを確認してください。
INVALID_PARAMS(予約 prefix)
{
"ok": false,
"error": {
"code": "INVALID_PARAMS",
"message": "Token symbol \"NATIVE_X\" is reserved..."
}
}対処法: ADDRESS・NATIVE・EIP155 から始まるシンボルは使用できません。別の名前を選んでください。