mcpField
S
SunSwap DEX Trading

SunSwap DEX Trading

github.com/bofaiその他163144 回インストール1 週間前に更新
リポジトリ

SunSwap DEX Trading について

SunSwap DEX Tradingは、`sun-cli`を使ってTRONのDEXであるSunSwapを検索・取引するAIエージェント向けスキルです。読み取り専用の市場・プール照会に加え、スワップとV2、V3、V4の流動性操作を扱います。

主な機能

  1. 01トークン価格とスワップ見積もりの照会
  2. 02スリッページを指定したトークンスワップ
  3. 03V2流動性の追加と削除
  4. 04V3・V4ポジションの作成と管理
  5. 05プールの検索とデータ確認
  6. 06`--dry-run`による書き込み操作のプレビュー

活用シーン

  1. 01取引前にスワップ見積もりを比較
  2. 02TRONトークンのスワップ実行
  3. 03プールへの流動性追加や引き出し
  4. 04プールの確認と集中流動性ポジションの管理

インストール

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

$npx skills add https://github.com/bofai/skills --skill sunswap-dex-trading

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

同梱ファイルCHANGELOG.mdREADME.md

詳細

SunSwap DEX 取引スキル

クイックスタート

このスキルを使うと、AI エージェントは sun-cli を介して、TRON ブロックチェーン上の SunSwap DEX を操作できます。sun-cli は、スワップの見積もりや取引の実行、流動性の管理(V2/V3/V4)、プール、価格、ポジションなどの照会に対応する統合 CLI です。

前提条件

実際に書き込みを行う場合のみウォレットが必要です: スワップ、流動性の変更、または contract send を実行する前に、サポートされている sun-cli ウォレットソースを設定し、sun wallet address で公開アドレスを確認してください。読み取り専用の照会と --dry-run によるプレビューにはウォレットは必要ありません。廃止されたウォレットおよびオンボーディングのスキルは前提条件ではありません。wallet-cli のアカウントは sun-cli から自動的に利用できません。チャットで秘密情報の値を要求したり、表示したりしないでください。

  1. sun-cli を確認します:

    sun --version
    

    必要なバージョンは 1.2.2 です。インストールされていない場合、または別のバージョンがインストールされている場合は、グローバルパッケージを変更する前に承認を得てください:

    npm install -g @sun-protocol/[email protected]
    
  2. ウォレットを設定します(書き込み操作の場合のみ必要):

    export TRON_PRIVATE_KEY="your_private_key_here"
    

    代替のウォレットソース:TRON_MNEMONIC または AGENT_WALLET_PASSWORD。

  3. 任意の環境変数:

    export TRON_NETWORK=mainnet
    export TRONGRID_API_KEY=your_key
    

読み取り専用コマンド(価格、見積もり、プール一覧など)と --dry-run によるプレビューは、ウォレット認証情報なしで実行できます。


AI エージェント用フラグ

AI エージェントから sun を呼び出すときは、常に次のフラグを使用してください。

フラグ用途
--json標準出力に機械可読な JSON を出力します
--yes対話形式の確認プロンプトをスキップします
--dry-runトランザクションを送信せずに書き込み操作をシミュレートします
--fields出力するフィールドをカンマ区切りで指定します
--networkネットワークを上書きします:mainnet、nile、shasta

エージェントの標準的な呼び出しパターン:

sun --json price TRX

書き込み操作では、プロンプトをスキップするために --yes を追加します:

sun --json --yes swap TRX USDT 100000000

警告:--network で指定できるのは mainnet、nile、shasta のみです。 無効なネットワーク名を指定すると、エラーを表示せずに mainnet にフォールバックします。 AI エージェントは、値を渡す前にネットワーク名が有効であることを確認する必要があります。

警告:--dry-run ではトランザクションのプレビューを作成するだけです。 残高の確認、手数料ティアの検証、ティックの整合性の確認、同一トークン間のスワップの拒否は行いません。エージェントは実行前にこれらを検証する必要があります。 詳細は、以下のエージェントによる事前検証チェックリストを参照してください。


エージェントによる事前検証チェックリスト

書き込み操作(swap、liquidity、contract send)を実行する前に、AI エージェントは以下のチェックを必ず実施してください。CLI の --dry-run はこれらを検証せず、トランザクションのプレビューを作成するだけです。

スワップの前
  1. 残高が十分であることを確認します:

    sun --json wallet balances
    

    トークン残高を amountIn と比較します。不足している場合は中止してください。

  2. tokenIn ≠ tokenOut であることを確認します: 同一トークン間のスワップ(例:TRX → TRX)は --dry-run では拒否されません。実行前に2つのトークンが異なることをエージェントが確認する必要があります。

  3. スリッページが妥当であることを検証します: 推奨範囲:0.001(0.1%)から0.05(5%)。この範囲外の場合はユーザーに警告してください。

V3 流動性の追加(ミント)の前
  1. 有効な手数料ティアのみを使用します: 100、500、3000、または 10000。 無効な手数料の値(例:9999)は --dry-run では拒否されません。

  2. ティックがティック間隔に揃っていることを確認します:

    手数料の値ティック間隔有効なティックの例
    1001任意の整数
    50010-10, 0, 10, 20
    300060-120, -60, 0, 60
    10000200-400, -200, 0, 200

    --tick-lower と --tick-upper は、どちらもティック間隔の正確な倍数でなければなりません。 整合していないティックは --dry-run では拒否されませんが、オンチェーンで失敗します。

  3. token0 と token1 の両方について、残高が十分であることを確認します。

V3/V4 のポジション操作(増額/減額/回収)の前に
  1. トークン ID の存在を確認する: まずユーザーのポジションを照会します。
    sun --json position list --owner TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --protocol V3
    
    対象の --token-id が結果に含まれていることを確認してください。存在しないトークン ID を渡すと、誤解を招くエラー(例:「ポジションが見つからない」ではなく「金額が必要」)が発生することがあります。
V2 流動性の追加前
  1. token-a と token-b の両方について、残高が十分であることを確認します。
全般
  • --network が mainnet、nile、shasta のいずれかであることを確認してください。無効な値を指定すると、エラーなしで mainnet にフォールバックします。
  • tx scan の --type が swap、add、withdraw のいずれかであることを確認してください。無効な値を指定すると、エラーではなく空の結果が返されます。

コマンドリファレンス

1. ウォレット

ウォレットアドレスとトークン残高を確認します。

sun --json wallet address
sun --json wallet balances

特定の所有者アドレスの残高を確認します。

sun --json wallet balances --owner TDqSquXBgUCLYvYC4XZgrprLK589dkhSCf

特定のトークンで絞り込みます(コントラクトアドレスのみ対応。TRX/USDT などのシンボルはサポートされていません)。

sun --json wallet balances --tokens TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t,TNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR

警告: --tokens にはコントラクトアドレスのみ指定できます。シンボル(例:TRX,USDT)を渡すと、Invalid contract address provided が返されます。まず サポート対象のトークンシンボル のアドレス一覧で、シンボルをアドレスに変換してください。


2. トークン価格

SUN.IO からトークン価格を取得します。

sun --json price TRX
sun --json price USDT

コントラクトアドレスで照会します。

sun --json price --address TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

3. スワップ見積もり(読み取り専用)

実行せずに価格の見積もりを取得します。ウォレットは不要です。

パラメーター: tokenIn と tokenOut には、トークンシンボル(TRX、USDT)または TRC20 アドレスを指定できます。amountIn の単位は sun です(最小単位。例:1000000 = 1 TRX)。

sun --json swap:quote TRX USDT 100000000

すべてのルート詳細を含めて見積もります。

sun --json swap:quote TRX USDT 100000000 --all

特定のネットワークで見積もります。

sun --json swap:quote TRX USDT 100000000 --network nile

逆方向を見積もります。

sun --json swap:quote USDT TRX 1000000

4. スワップの実行

SunSwap Universal Router を通じてトークンのスワップを実行します。

パラメーター: tokenIn と tokenOut にはシンボルまたはアドレスを指定できます。amountIn の単位は sun です。--slippage は小数で指定します(デフォルト:0.005 = 0.5%)。

sun --json --yes swap TRX USDT 100000000

スリッページをカスタム設定してスワップします(1%)。

sun --json --yes swap TRX USDT 100000000 --slippage 0.01

ドライラン(送信せずにシミュレーションします)。

sun --json --yes --dry-run swap TRX USDT 100000000

シンボルの代わりにコントラクトアドレスを使用します。

sun --json --yes swap T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t 100000000

nile テストネットでスワップします。

sun --json --yes swap TRX USDT 1000000 --network nile

5. V2 流動性

SunSwap V2 AMM プールで流動性を追加または削除します。

追加のパラメーター: --token-a と --token-b にはシンボルまたはアドレスを指定できます。--amount-a と --amount-b の単位は sun です。オプション:--min-a、--min-b、--to、--deadline。

削除のパラメーター: --token-a、--token-b、--liquidity(LP の生の数量)。オプション:--min-a、--min-b、--to、--deadline。

流動性の追加

片側のみ(もう一方を自動計算):

sun --json --yes liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000

両側:

sun --json --yes liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000 --amount-b 290000

ドライラン:

sun --json --yes --dry-run liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000

最小数量と受取人を指定:

sun --json --yes liquidity v2:add --token-a TRX --token-b USDT --amount-a 1000000 --amount-b 290000 --min-a 950000 --min-b 275000
流動性の削除
sun --json --yes liquidity v2:remove --token-a TRX --token-b USDT --liquidity 500000

ドライラン:

sun --json --yes --dry-run liquidity v2:remove --token-a TRX --token-b USDT --liquidity 500000

6. V3 流動性(集中流動性)

SunSwap V3 で集中流動性ポジションを管理します。

手数料ティア(以下の値のみ有効):

手数料率手数料値ティック間隔フルレンジのティック
0.01%1001-887272 / 887272
0.05%50010-887270 / 887270
0.3%300060-887220 / 887220
1%10000200-887200 / 887200

重要: --fee は 100、500、3000、10000 のいずれかを正確に指定する必要があります。 その他の値は --dry-run では拒否されませんが、オンチェーンで失敗します。

--tick-lower と --tick-upper は、ティック間隔の正確な倍数である必要があります。 整列していないティックは --dry-run では拒否されませんが、オンチェーンで失敗します。

ミントのパラメーター: --token0、--token1(シンボルまたはアドレス)、--fee、--tick-lower、--tick-upper、--amount0、--amount1。オプション:--recipient、--deadline。

新しいポジションのミント

デフォルト設定でフルレンジ:

sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --amount0 1000000

手数料とティック範囲を指定(fee=3000、ティック間隔=60):

sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --fee 3000 --tick-lower -887220 --tick-upper 887220 --amount0 1000000

ドライラン:

sun --json --yes --dry-run liquidity v3:mint --token0 TRX --token1 USDT --amount0 1000000

手数料ティアを指定(fee=500、ティック間隔=10):

sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --fee 500 --tick-lower -887270 --tick-upper 887270 --amount0 1000000

受取人を指定:

sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --fee 3000 --tick-lower -60 --tick-upper 60 --amount0 1000000 --recipient TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW
ポジションの増額
sun --json --yes liquidity v3:increase --token-id 123 --amount0 500000
ポジションの減少
sun --json --yes liquidity v3:decrease --token-id 123 --liquidity 1000
手数料の徴収
sun --json --yes liquidity v3:collect --token-id 123

7. V4 流動性

SunSwap V4 プールの流動性を管理します(フックをサポート)。

ミント時のパラメーター: --token0、--token1、--fee、--tick-lower、--tick-upper、--amount0、--amount1。オプション:--slippage、--recipient、--create-pool。

新しいポジションのミント
sun --json --yes liquidity v4:mint --token0 TRX --token1 USDT --amount0 1000000

プールが存在しない場合は作成します:

sun --json --yes liquidity v4:mint --token0 TRX --token1 USDT --amount0 1000000 --create-pool

スリッページを指定する場合:

sun --json --yes liquidity v4:mint --token0 TRX --token1 USDT --amount0 1000000 --slippage 0.01

ドライラン:

sun --json --yes --dry-run liquidity v4:mint --token0 TRX --token1 USDT --amount0 1000000
ポジションの増加
sun --json --yes liquidity v4:increase --token-id 123 --token0 TRX --token1 USDT --amount0 500000
ポジションの減少
sun --json --yes liquidity v4:decrease --token-id 123 --liquidity 1000 --token0 TRX --token1 USDT
手数料の徴収
sun --json --yes liquidity v4:collect --token-id 123
ポジション情報の照会
sun --json liquidity v4:info --pm TLSWrv7eC1AZCXkRjpqMZUmvgd99cj7pPF --token-id 123

8. プールの検索

流動性プールを検索、確認します。

トークンアドレスでプールを一覧表示します:

sun --json pool list --token TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

キーワードで検索します:

sun --json pool search "TRX USDT"

APY 上位のプール:

sun --json pool top-apy --page-size 10

プールの取引量履歴(プールアドレスが必要です):

sun --json pool vol-history TSUUVjysXV8YqHytSNjfkNXnnB49QDvZpx --start 2026-01-01 --end 2026-03-15

プールの流動性履歴:

sun --json pool liq-history TSUUVjysXV8YqHytSNjfkNXnnB49QDvZpx --start 2026-01-01 --end 2026-03-15

プールのフック(V4):

sun --json pool hooks

9. トークンの検索

トークンのメタデータを検索、一覧表示します。

sun --json token list

プロトコルで絞り込みます:

sun --json token list --protocol V3

キーワードで検索します:

sun --json token search USDT

10. ポジション管理

ユーザーの流動性ポジションを照会します。

所有者のすべてのポジションを一覧表示します:

sun --json position list --owner TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW

プロトコルで絞り込みます:

sun --json position list --owner TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --protocol V3

プールのティック情報:

sun --json position tick TSUUVjysXV8YqHytSNjfkNXnnB49QDvZpx

11. ペア情報

取引ペアの情報を解決します。

警告: pair info --token はコントラクトアドレスのみを受け付けます。シンボル (例:USDT)を渡すと、API エラーが発生するか、予期しない結果が返されます。 まず、対応するトークンシンボルの表または token search を使って、 シンボルをコントラクトアドレスに解決してください。

USDT のコントラクトアドレスで照会します:

sun --json pair info --token TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

WTRX のコントラクトアドレスで照会します:

sun --json pair info --token T9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb

12. プロトコル分析

プロトコルレベルの指標を取得します。

sun --json protocol info
sun --json protocol vol-history --start 2026-01-01 --end 2026-03-15
sun --json protocol users-history --start 2026-01-01 --end 2026-03-15
sun --json protocol tx-history --start 2026-01-01 --end 2026-03-15
sun --json protocol pools-history --start 2026-01-01 --end 2026-03-15
sun --json protocol liq-history --start 2026-01-01 --end 2026-03-15

13. ファーム

SUN.IO ファームを確認します。

sun --json farm list

特定の所有者のファーム取引:

sun --json farm tx --owner TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW --type stake

ユーザーのファームポジション:

sun --json farm positions --owner TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW

14. トランザクションのスキャン

DEX の取引アクティビティをスキャンします。

重要: --type は swap、add、withdraw のいずれかを正確に指定する必要があります。 無効なタイプを指定した場合、エラーではなく空の結果が返されます。

sun --json tx scan --type swap --token TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t --start 2026-01-01 --end 2026-03-15
sun --json tx scan --type add --start 2026-01-01 --end 2026-03-15
sun --json tx scan --type withdraw --start 2026-01-01 --end 2026-03-15

15. 汎用コントラクト呼び出し

上位レベルのコマンドでは不十分な場合に、任意の TRON コントラクト呼び出しを読み取るか送信します。

コントラクトを読み取ります(ウォレット不要):

sun --json contract read TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t name
sun --json contract read TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t balanceOf --args '["TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW"]'

コントラクト呼び出しを送信します(ウォレットが必要です。シミュレーションには --dry-run を使用します):

sun --json --yes --dry-run contract send TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t approve --args '["TKzxdSv2FZKQrEqkKVgp5DcwEXBEKMg2Ax","1000000"]' --value 0

AI エージェントに推奨されるワークフロー

パターン 1:クイックスワップ(検証を含む 3 ステップ)

最適な用途: ユーザー向けのスワップ操作。

ステップ 1 — 入力を検証します(エージェント側、CLI 呼び出しなし):

  • tokenIn ≠ tokenOut であることを確認します(TRX→TRX のような同一トークンのスワップは CLI で拒否されません)
  • --network が有効(mainnet、nile、shasta のいずれか)であることを確認します

ステップ 2 — 残高を確認し、見積もりを取得します:

sun --json wallet balances
sun --json swap:quote TRX USDT 100000000

残高が amountIn 以上であることを確認します。予想される出力量、価格への影響、ルートをユーザーに表示します。

ステップ 3 — ユーザーの確認後に実行します:

sun --json --yes swap TRX USDT 100000000 --slippage 0.005

パターン 2:安全な実行(最初にドライラン)

最適な用途: 大口の取引や慎重を要する操作。

注: --dry-run でプレビューできるのはトランザクションの構造のみです。残高の確認、手数料ティアの検証、無効なパラメーターの拒否は行いません。

まず残高を確認します:

sun --json wallet balances

シミュレーションします(トランザクションの構造をプレビューします):

sun --json --yes --dry-run swap TRX USDT 100000000

ドライランの結果を確認し、残高を確認してから実行します:

sun --json --yes swap TRX USDT 100000000

パターン 3:流動性管理(V3 の例)

最適な用途: 集中流動性の追加。

ステップ 1 — パラメーターを検証します(エージェント側):

  • --fee が 100、500、3000、10000 のいずれかであることを確認します
  • --tick-lower と --tick-upper がティック間隔の倍数であることを確認します(例:fee=3000 の場合は 60)
  • token0 ≠ token1 であることを確認します

ステップ 2 — 残高とプール情報を確認します:

sun --json wallet balances
sun --json pool search "TRX USDT"

amount0 と amount1 の両方に十分な残高があることを確認します。

ステップ 3 — ミントをドライランします(プレビューのみ。残高やパラメーターの検証は行いません):

sun --json --yes --dry-run liquidity v3:mint --token0 TRX --token1 USDT --fee 3000 --tick-lower -887220 --tick-upper 887220 --amount0 1000000

ステップ 4 — ユーザーの確認後に実行します:

sun --json --yes liquidity v3:mint --token0 TRX --token1 USDT --fee 3000 --tick-lower -887220 --tick-upper 887220 --amount0 1000000

パターン 4:情報収集

最適な用途: トークン、プール、価格に関するユーザーの質問への回答。

トークン価格を照会します。

sun --json price TRX

APY 上位のプール:

sun --json pool top-apy --page-size 10

ユーザーのポジション:

sun --json position list --owner TMgYX7m37cyyTSgVbtCoDUAQcFZ9RoYxJW

ペア情報(シンボルではなくコントラクトアドレスが必要です):

sun --json pair info --token TR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t

出力フィールドを制限して、レスポンスサイズを削減します。

sun --json --fields address,network wallet address

対応トークンシンボル

sun-cli にはシンボル解決機能が組み込まれています。一般的なシンボル:

シンボルメインネットアドレス小数桁数
TRXT9yD14Nj9j7xAB4dbGeiX9h8unkKHxuWwb6
WTRXTNUC9Qb1rRpS5CbWLmNMxXBjyFoydXjWFR6
USDTTR7NHqjeKQxGTCi8q8ZY4pL8otSzgjLj6t6
USDCTEkxiTehnzSmSe2XqrBj4w32RUN966rdz86
USDDTPYmHEhy5n8TCEfYGqW2rPxsghSfzghPDn18
SUNTSSMHYeV2uE9qYH95DqyoCuNCzEL1NvU3S18
JSTTCFLL5dx5ZJdKnWuesXxi1VPwjLVmWZZy918
BTTTAFjULxiVgT4qWk6UZwjqwZXTSaGaqnVp418
WINTLa2f6VPqDgRE67v1736s7bJ8Ray5wYjU76

任意の TRC20 トークンは、コントラクトアドレスを直接指定することもできます。


セキュリティルール

重大:秘密鍵を決して表示しないでください

禁止事項: 秘密鍵、シードフレーズ、ニーモニック、シークレットを含む環境変数の値、エージェントウォレットのパスワード。

許可事項: 公開ウォレットアドレス、トランザクションハッシュ、トークン残高、価格。

出力に秘密情報が漏れていないことを確認するには:

sun --json wallet address

出力に秘密鍵の情報が含まれていてはなりません。

重大:トランザクションの重複を防ぐ
  • ユーザーコマンド 1 件につきトランザクションは 1 件です
  • トランザクションが成功したら、完了として記録します
  • 成功したトランザクションを再試行してはいけません
重大:実行前に入力を検証する

CLI は --dry-run モードではすべての入力を検証するわけではありません。エージェントは次の操作を行う必要があります。

  • スワップの前に tokenIn ≠ tokenOut であることを確認します
  • V3 mint の前に、--fee が 100、500、3000、10000 のいずれかであることを確認します
  • V3 mint の前に、ティック値がティック間隔に揃っていることを確認します
  • --network が mainnet、nile、shasta のいずれかであることを確認します
  • 書き込み操作の前に wallet balances を実行して、十分な資金があることを確認します
重大:高額な操作では見積もりと残高確認を行う
sun --json wallet balances
sun --json swap:quote TRX USDT 1000000000

実行前に必ず残高を確認し、見積もりを取得してください。--dry-run で表示されるのはトランザクションの構造のみで、残高やパラメーターは検証されません。

重大:書き込み操作の前に必ずプレビューする

AI エージェントは、事前にユーザーへプレビューを提示せずに書き込み操作(swap、liquidity add/remove/mint、contract send)を決して実行してはいけません。正しい手順は次のとおりです。

  1. 見積もりを取得するか、ドライランを実行して、処理内容を提示します
  2. プレビューをユーザーに表示します(数量、ルート、価格への影響、手数料)
  3. ユーザーに明示的な確認を求めます
  4. その後に限り、--yes を付けて実行します

警告: 1 回目の呼び出しでは --yes を指定しないでください。ユーザーがプレビューを確認して承認した後にのみ --yes を使用してください。プレビューを省略すると、セキュリティプロトコルに違反します。

正しいパターン:

sun --json swap:quote TRX USDT 100000000

結果をユーザーに表示します。ユーザーの確認後:

sun --json --yes swap TRX USDT 100000000

高額な操作(大きな金額)の場合: 見積もりに加えて、必ず最初に --dry-run を使用してください。

sun --json --yes --dry-run swap TRX USDT 1000000000

見積もりとドライランの結果の両方をユーザーが確認した後に限り、実行します。


ユーザーとのコミュニケーションプロトコル

取引や流動性操作を実行する際は、明確に伝えてください。

実行前:

Getting quote for 100 TRX → USDT...

Quote received:
  100 TRX → 15.234 USDT
  Price Impact: 0.12%
  Route: TRX → WTRX → USDT

Proceed with swap?

成功後:

Swap completed!
  Transaction: abc123def456...
  Explorer: https://tronscan.org/#/transaction/abc123def456...
  Swapped: 100 TRX → 15.234 USDT

既知の制限事項

以下は、AI エージェントが回避する必要のある CLI レベルの動作です。

問題影響を受けるコマンド動作エージェントによる回避策
--dry-run は残高を確認しませんswap、liquidity v2:add、すべての V3/V4 操作残高が不足していてもプレビューを返します実行前に wallet balances を確認します
--dry-run は V3 の手数料ティアを検証しませんliquidity v3:mint9999 などの無効な手数料を受け付けます100、500、3000、10000 のみを渡します
--dry-run はティックのアラインメントを検証しませんliquidity v3:mintアラインメントされていないティックを受け付けますティックがティック間隔の倍数であることを確認します
同一トークンのスワップが拒否されませんswapドライランで TRX→TRX を受け付けます呼び出し前に tokenIn ≠ tokenOut であることを確認します
無効な --network は警告なくフォールバックしますすべてのコマンド不明なネットワーク名は mainnet を使用しますmainnet、nile、shasta のみを渡します
無効な --type は空の結果を返しますtx scan不明なタイプはエラーを出さず、空のリストを返しますswap、add、withdraw のみを渡します
pair info --token にはアドレスが必要ですpair infoシンボルを指定すると API エラーまたは不正な結果が発生しますシンボルではなくコントラクトアドレスを使用します
--tokens フィルターにはアドレスが必要ですwallet balancesTRX,USDT などのシンボルを指定すると Invalid contract address provided が発生します呼び出し前にシンボルをアドレスに解決します
JSON 出力での BigInt のシリアライズcontract read大きな整数を返す関数(例:totalSupply)は、Do not know how to serialize a BigInt でクラッシュする場合がありますクライアント側で結果を .toString() でラップするか、これらの呼び出しでは --json を避けます
V3 の無効な --token-id に関するエラーが誤解を招きますv3:increase、v3:decrease、v3:collect存在しない token-id に対して、「ポジションが見つかりません」ではなく「amount が必要です」と報告される場合があります操作前に position list で token-id の存在を確認します
AGENT_WALLET_PASSWORD にはウォレットストアが必要ですwallet address~/.agent-wallet ディレクトリが初期化されていない場合、失敗します代わりに TRON_PRIVATE_KEY または TRON_MNEMONIC を使用するか、先にウォレットストアを初期化します
テストネットのトランザクションには帯域幅/エネルギーが必要ですnile/shasta 上のすべての書き込みコマンドドライランが成功しても、実際の実行はリソースエラーで失敗する場合がありますテスト用ウォレットに、帯域幅とエネルギー用に十分な TRX がステーキングされていることを確認します

トラブルシューティング

「sun: command not found」
npm install -g @sun-protocol/[email protected]
実際の書き込み時に「Wallet not configured」と表示される

次のいずれかを設定してください:TRON_PRIVATE_KEY、TRON_MNEMONIC、または AGENT_WALLET_PASSWORD。 @sun-protocol/[email protected] では、--dry-run はウォレット認証情報なしでプレビューを返すはずです。

AGENT_WALLET_PASSWORD に関する注意: このモードでは、初期化済みのウォレットストアが ~/.agent-wallet に必要です。ディレクトリが存在しない場合、CLI は Secrets directory not found で失敗します。より簡単に設定するには、 TRON_PRIVATE_KEY または TRON_MNEMONIC を使用してください。一度に設定するウォレットソースは 1 つだけにしてください。

「Network error」または「Timeout」
  • インターネット接続を確認します
  • mainnet の場合は、TRONGRID_API_KEY を設定します
  • 再試行します(ネットワークが混雑している可能性があります)
トランザクションが失敗する
  • ガス代として十分な TRX があることを確認します(100 TRX 以上を推奨)
  • スリッページを増やします:--slippage 0.01
  • sun --json wallet balances でトークン残高を確認します
テストネットのトランザクションが帯域幅/エネルギーエラーで失敗する
  • Nile および Shasta のテストネットでは、帯域幅とエネルギー用に TRX のステーキングが必要です
  • ドライランは成功しても、ウォレットのリソースが不足していると実際の実行は失敗します
  • テスト用ウォレットにテストネット TRX を入金し、テスト前にリソース用のステーキングを行います
  • リソースが不足している場合でも、--dry-run を使ってトランザクションの構造を確認します

  • スキルのバージョン:2.0.0
  • ランタイム依存関係:@sun-protocol/[email protected] 最終更新日:2026-07-09 メンテナー:Bank of AI Team

コメント