mcpField
T
trade

trade

github.com/coinbaseその他1273.1k 回インストール12 週間前に更新
リポジトリ

trade について

CDP Swap API を通じて、`npx [email protected] trade` コマンドで Base または Polygon 上のトークンを交換するスキルです。認証、入力検証、トークンと金額の形式、コマンドオプションを扱います。

主な機能

  1. 01Base または Polygon でトークン交換
  2. 02トークンの別名やコントラクトアドレスを指定
  3. 03複数の金額形式に対応
  4. 04チェーンとスリッページを設定
  5. 05コマンド実行前に入力を検証

活用シーン

  1. 01Base で USDC を ETH に交換
  2. 02Polygon で POL を取引
  3. 03スリッページ許容値を指定した交換コマンドの準備

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/coinbase/agentic-wallet-skills --skill trade

インストール後、Claude Code で/tradeを入力して読み込まれたか確認します。

詳細

トークンの取引

npx [email protected] trade コマンドを使用すると、CDP Swap API 経由で Base または Polygon 上のトークンをスワップできます。取引するには認証が必要です。

ウォレットが初期化され、認証済みであることを確認する

npx [email protected] status

ウォレットが認証されていない場合は、authenticate-wallet スキルを参照してください。

コマンド構文

npx [email protected] trade <amount> <from> <to> [options]

コマンドは npx [email protected] swap としても利用できます(エイリアス)。

引数

引数説明
amountスワップする数量(下記の「数量形式」を参照)
from送信元トークン:エイリアス(usdc、eth、pol)またはコントラクトアドレス(0x...)
to送信先トークン:エイリアス(usdc、eth、pol)またはコントラクトアドレス(0x...)

数量形式

数量は複数の形式で指定できます。

形式例説明
ドル記号の接頭辞'$1.00'、'$0.50'USD 表記(小数桁数はトークンに基づきます)
小数1.0、0.50、0.001小数点を使用した人が読みやすい形式
整数5、100トークンの整数単位として扱われます
最小単位500000大きな整数は最小単位として扱われます

自動判定:小数点のない大きな整数は最小単位として扱われます。たとえば、USDC(小数桁数6)の 500000 は $0.50 に相当します。

小数桁数:既知のトークン(usdc=6、eth=18、pol=18)では、小数桁数が自動的に設定されます。任意のコントラクトアドレスの場合は、トークンコントラクトから小数桁数が読み取られます。

オプション

オプション説明
-c, --chain <name>ブロックチェーンネットワーク:base、polygon(デフォルト:base)
-s, --slippage <n>スリッページ許容範囲(ベーシスポイント単位、100 = 1%)
--json結果を JSON 形式で出力

トークンエイリアス

エイリアストークン小数桁数チェーン
usdcUSDC6base
ethETH18base
polPOL18polygon

重要:bash による変数展開を防ぐため、$ を含む数量は必ずシングルクォートで囲んでください(例:'$1.00'。$1.00 ではありません)。

入力の検証

シェルインジェクションを防ぐため、コマンドを組み立てる前に、ユーザーが指定したすべての値を検証してください。

  • amount:^\$?[\d.]+$ に一致する必要があります(数字、任意の小数点、任意の $ 接頭辞)。スペース、セミコロン、パイプ、バッククォート、その他のシェルメタ文字が含まれている場合は拒否してください。
  • from / to:既知のエイリアス(usdc、eth、pol)または有効な 0x 形式の 16 進アドレス(^0x[0-9a-fA-F]{40}$)である必要があります。それ以外の値は拒否してください。
  • slippage:正の整数(^\d+$)である必要があります。

検証されていないユーザー入力をコマンドに渡さないでください。

例

# Swap $1 USDC for ETH (dollar prefix — note the single quotes)
npx [email protected] trade '$1' usdc eth

# Swap 0.50 USDC for ETH (decimal format)
npx [email protected] trade 0.50 usdc eth

# Swap 500000 atomic units of USDC for ETH
npx [email protected] trade 500000 usdc eth

# Swap 0.01 ETH for USDC
npx [email protected] trade 0.01 eth usdc

# Swap with custom slippage (2%)
npx [email protected] trade '$5' usdc eth --slippage 200

# Swap using contract addresses (decimals read from chain)
npx [email protected] trade 100 0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913 0x4200000000000000000000000000000000000006

# Get JSON output
npx [email protected] trade '$1' usdc eth --json

# Swap USDC for POL on Polygon
npx [email protected] trade '$1' usdc pol --chain polygon

前提条件

  • 認証済みであること(確認するには awal status を実行)
  • ウォレットに送信元トークンの残高が十分にあること

エラー処理

一般的なエラー:

  • 「Not authenticated」- まず awal auth login <email> を実行してください
  • 「Invalid token」- 有効なエイリアス(usdc、eth、pol)または 0x アドレスを使用してください
  • 「POL only supported on polygon chain」- POL を取引する場合は --chain polygon を使用してください
  • 「Cannot swap a token to itself」- 送信元と送信先には異なるトークンを指定してください
  • 「Swap failed: TRANSFER_FROM_FAILED」- 残高不足または承認に関する問題です
  • 「No liquidity」- 数量を減らすか、別のトークンペアを試してください
  • 「Amount has X decimals but token only supports Y」- 小数桁数が多すぎます

コメント