gate-exchange-smallbalance について
Gate Exchange の現物少額残高を扱うスキルです。エージェントが対象資産の確認、GT への交換前の確認、交換履歴の照会を行えるようにします。
主な機能
- 01交換対象の少額残高を一覧表示
- 02選択または全資産を GT に交換
- 03ページ指定で交換履歴を照会
- 04交換前に対象通貨を検証
- 05交換前に明示的な確認を要求
活用シーン
- 01交換可能な端数残高を確認
- 02選んだ通貨を GT に交換
- 03過去の少額残高交換を確認
MCP 対応
HTTP リクエストを自作せず、残高照会、交換、履歴確認には記載された `cex_wallet_*` MCP ツールを使うようエージェントを案内します。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gate/ gate-skills --skill gate-exchange-smallbalanceインストール後、Claude Code で/gate-exchange-smallbalanceを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdREADME.mdsetup.shreferences/scenarios.md詳細
gate-cli(バイナリパス)の解決
次の順に gate-cli を解決します:(1) command -v gate-cli と gate-cli --version が成功すること、(2) 実行可能な場合は ${HOME}/.local/bin/gate-cli、(3) 実行可能な場合は ${HOME}/.openclaw/skills/bin/gate-cli。正規のルールについては、exchange-runtime-rules.md §4(または gate-runtime-rules.md §4)を参照してください。
Gate Exchange の少額残高(ダストから GT へ)
一般ルール
作業を進める前に、共通のランタイムルールを読み、従ってください:
→ exchange-runtime-rules.md(親ディレクトリ skills/ 内)
スキルの依存関係
認証
- 対話形式でのファイル設定: ホストで
GATE_API_KEYとGATE_API_SECRETの両方が設定されていない場合は、gate-cli config initを実行して、API キー、シークレット、プロファイル、デフォルト設定のウィザードを完了します(gate-cli を参照)。 - 環境変数/フラグ: 認証情報がすでに指定されている場合(たとえば、ホストで
GATE_API_KEYとGATE_API_SECRETの両方が設定されている場合や、対応している場合に--api-key/--api-secretが指定されている場合)、gate-cli config initは不要です。シークレットをチャットに貼り付けるようユーザーに求めないでください。 - 権限: ダストから GT への変換フローに必要な範囲で、ウォレットの読み取り権限と少額残高の変換権限を付与します(最小権限)。
- ポータル: キーの作成やローテーションは、チャット外で行ってください:https://www.gate.com/myaccount/profile/api-key/manage
インストールの確認
- 必須:
gate-cli(gate-cli のリリースからインストールするか、お使いの環境の Gate MCP/スキルインストーラーを使用してください)。 - 名前で呼び出す場合は、
gate-cliが格納されているディレクトリをPATHに追加してください。 - 認証情報: ホストに
GATE_API_KEYとGATE_API_SECRETの両方が空でない値で設定されている場合、gate-cli config initを必須にしないでください。両方とも未設定または空の場合は、オペレーターにgate-cli config initを実行するか、スキルライブラリ内の対応するスキルでGATE_API_KEY/GATE_API_SECRETを設定するよう促してください(シークレットをチャットに貼り付けるようユーザーに求めないでください)。 - 動作確認: 変換操作の前に、CLI が動作することを確認してください(例:
gate-cli cex wallet balance smallまたはgate-cli --version)。
このスキルでは、少額残高の変換を扱います。プラットフォームのダストしきい値を下回る現物保有資産の一覧表示、GT への変換の実行、変換履歴の照会が含まれます。内部ではウォレットのルート GET/POST /wallet/small_balance および GET /wallet/small_balance_history に対応します。エージェントは手動で HTTP リクエストを作成せず、以下の MCP ツール cex_wallet_* を使ってフローを進めてください。
ドメイン知識
少額残高の変換では、価値がプラットフォームの少額残高のしきい値(通常、ポリシーに応じて100 USDT相当以下。正確な上限は API のレスポンスに従います)を下回る現物(または統合アカウントの現物側)の保有資産をまとめて処理します。
| 用語 | 意味 |
|---|---|
| Dust | 単独の注文として取引するのが難しい、ごく少額の残高 |
| 少額残高 | しきい値未満で、1 回の操作で GT に変換できる対象通貨 |
特徴:
- 価値の低い資産をGTにまとめます
- ウォレットの整理に適しています。大口ポジションの通常の現物売却の代わりにはなりません
対象アカウント:主に現物または統合アカウントの現物残高です(プロダクトの対象範囲に従います)。
ペイロードに関する注意:gate-cli cex wallet balance small と gate-cli cex wallet balance small-history のレスポンスでは、行が外側の配列に含まれ、その最初の要素が表示対象のオブジェクトのリストになっている場合があります。その場合は、内側のリストを使用してください。一般的な行フィールドは次のとおりです。リスト:currency、available_balance、estimated_as_btc、convertible_to_gt。履歴:id、create_time、currency、amount、gt_amount(create_timeは Unix 秒であることがよくあります)。
MCP ツール一覧:
| ツール | 種類 | 説明 |
|---|---|---|
gate-cli cex wallet balance small | クエリ | 少額残高の変換対象通貨と推定 GT を一覧表示します |
gate-cli cex wallet balance convert-small | 書き込み | 選択した通貨、または対象となるすべてのダストを GT に変換します |
gate-cli cex wallet balance small-history | クエリ | 少額残高の変換履歴をページ単位で取得します |
ワークフロー
ステップ 1:ユーザーの意図を分類する
ユーザーが対象資産の一覧表示、GT への変換、履歴の確認を希望しているのか、またはこのスキルの対象外なのかを判断します。
意図の振り分け:
| 意図 | 典型的なユーザーの目的 | 次のステップ |
|---|---|---|
list | 変換可能な資産と推定 GT を確認する | ステップ 2 |
convert_selected | 特定のティッカーを GT に変換する | ステップ 2 → ステップ 3(対話形式) |
convert_all | 変換対象となるすべてのダスト残高を変換する | ステップ 2 → ステップ 3(対話形式) |
convert_unspecified | 変換したいが、どのコインか指定していない | ステップ 2 → ステップ 3(対話形式) |
history | 過去の少額残高の変換を確認する | ステップ 4 |
exclude | 現物で大口保有資産を売却する、または特定のコインを保有し続ける | 変換を呼び出さず、案内または終了 |
対象外とするルール:
- ユーザーが現物の高額資産を指値または成行価格で売却したい場合 → このスキルではなく、現物取引を案内します
- ユーザーが特定のコインを明示的に保有し続ける場合 → そのコインを
currenciesに含めず、明確な同意なしにis_all: trueを設定しないでください
このステップではツールを呼び出しません。
抽出する主なデータ:
intent:list|convert_selected|convert_all|convert_unspecified|history|excludecurrencies:選択した変換対象のシンボルの任意のリスト(例:FLOKI、MBLK)is_all:ユーザーが変換対象をすべて変換するよう求めた場合のブール値history_filters:履歴用の任意のcurrency、page、limit
ステップ 2:変換対象の少額残高を照会する
呼び出すタイミング:次の場合は必ずこのステップを呼び出します。
- 意図が
listの場合 - 意図が
convert_selected、convert_all、convert_unspecifiedの場合(変換の前)
次のパラメーターを指定してgate-cli cex wallet balance smallを呼び出します:
- 必須パラメーターはありません(空の呼び出しも有効です)
抽出する主なデータ:
- 行のリスト:ツールがネストされた配列を返す場合は、オブジェクトの内側の配列を使用します(上記のペイロードに関する注意を参照)
- 各項目:
currency、available_balance、estimated_as_btc、convertible_to_gt - リストが空かどうか
表示方法:
- 空でない場合:件数を要約し、
currency、available_balance、convertible_to_gtを含むテーブルを表示します - 空の場合:現時点で変換対象となる少額残高の資産がないことをユーザーに伝えます
変換の意図の場合:ステップ 3 の検証に使用するため、対象資産のリストをコンテキストに保存します。
ステップ 3:対話型の変換フロー(intent = convert_selected / convert_all / convert_unspecified の場合)
このステップでは、ユーザーが十分な情報に基づいて判断できるよう、対話型のフローを実施します。
3.1:ユーザー指定の通貨を検証する(ユーザーがティッカーを指定した場合)
ユーザーが currencies を指定した場合(例:「FLOKI と MBLK を GT に変換」):
-
各通貨をステップ 2 の対象リストと照合します:
- 通貨が対象リストに存在する場合 →
availableとしてマークします - 通貨が対象リストに存在しない場合 →
not_eligibleとしてマークします
- 通貨が対象リストに存在する場合 →
-
検証結果をユーザーに伝えます:
- 対象の通貨:「✅ {CURRENCY} は変換対象です(利用可能残高:{available_balance}、推定 GT 額:{convertible_to_gt})」
- 対象外の通貨:「❌ {CURRENCY} は少額残高の対象リストにありません。しきい値を超えているか、サポートされていない可能性があります。」
-
対象外の通貨がある場合、ユーザーに尋ねます:
- 「次の通貨は対象外です:{list}。対象の通貨のみ({eligible_list})を変換しますか?それとも、対象リスト全体を先に確認しますか?」
3.2:ユーザーの選択を案内する(intent = convert_unspecified、またはユーザーが確認を希望する場合)
ユーザーが変換する通貨を指定していない場合、または選択肢の確認を希望する場合:
-
次の列を含む対象リスト全体を表示します:
currency|available_balance|convertible_to_gt
-
ユーザーに選択を促します:
- 「変換する通貨を選択してください。次の方法があります:」
- 「A)上のリストから特定の通貨を選択する」
- 「B)対象となるすべての通貨を変換する」
- 「希望する選択肢をお知らせください(例:「FLOKI と MBLK」または「すべて」)」
-
ユーザーの応答を待ち、次の情報を抽出します:
- ユーザーが通貨を指定した場合 →
currenciesリストを更新し、is_all: falseに設定します - ユーザーが「すべて」と答えた場合 →
is_all: trueに設定します
- ユーザーが通貨を指定した場合 →
3.3:最終確認
変換 API を呼び出す前に:
-
変換内容を要約します:
- 選択した通貨の場合:「次の通貨を変換します:{currencies}。推定 GT 合計額:{sum of convertible_to_gt}」
- 対象となるすべての通貨の場合:「対象となる {n} 通貨すべてを変換します。推定合計額:{sum}」
-
取り消しできないことを警告します:
- 「⚠️ この操作は取り消しできません。変換後、これらの資産は現在の為替レートで GT になります。」
-
明示的な確認を求めます:
- 「続行しますか?「yes」または「confirm」で確認してください。」
-
ユーザーが明示的に確認した場合にのみ、処理を続行します。
3.4:変換を実行する
ユーザーの確認後、gate-cli cex wallet balance convert-small を次の内容で呼び出します:
currencies(文字列の配列):選択したティッカーを変換する場合の例は["FLOKI","MBLK"]です。is_all: falseと併用しますis_all(ブール値):対象となるすべての少額残高を変換する場合はtrueに設定します
抽出する主なデータ:
success、message、およびerror_codeやその他のエラーフィールド- 失敗時:正確なメッセージ(残高やレート制限に関するものなど)
成功した場合:変換結果をわかりやすく伝えます。API が返していない金額を捏造しないでください。
ステップ 4:少額残高の履歴を照会する(intent = history の場合)
gate-cli cex wallet balance small-history を次の内容で呼び出します:
currency(省略可能、文字列):変換した通貨で絞り込みますpage(省略可能、数値):ページインデックスlimit(省略可能、数値):ページサイズ(API のデフォルト値/最大値に従います。多くの場合、最大 100 件です)
抽出する主なデータ:
- 行のリスト:該当する場合、リストツールと同じ入れ子のラップ解除ルールを適用します(ペイロードに関する注意)
- 各レコード:
id、create_time、currency、amount、gt_amount。create_timeが Unix 秒の場合は、読みやすい形式で表示します
表示方法:
id、create_time(読みやすい形式)、currency、amount、gt_amountの表を表示します- 結果が空の場合、ユーザーに「変換履歴が見つかりませんでした。」と伝えます
ステップ 5:結果を整形して表示する
「レポートテンプレート」セクションを使用します。API エラーが発生した場合は、実際のコード/メッセージを報告し、成功を捏造しないでください。
エラー処理
| シナリオ | 対応 |
|---|---|
gate-cli cex wallet balance small の実行後、対象となる通貨がない | 対象となる少額残高の資産がないことを分かりやすく伝えます |
| ユーザー指定の通貨が対象リストにない | 対象外の通貨をユーザーに伝え、対象通貨で続行するか、全リストを確認するかを提示します |
BALANCE_NOT_ENOUGH または残高関連のエラー | 残高不足を説明し、成功したと伝えないでください |
TOO_MANY_REQUESTS/レート制限 | 後で再試行するようユーザーに伝えます。ウォレットのエンドポイントには、10秒あたり200リクエストのクラス制限を遵守してください |
| 認証/権限エラー | exchange-runtime-rules.md の認証ガイダンスに従ってください |
| ユーザーの意図が大口の現物売りである | 少額残高の変換ではなく、現物取引のフローに誘導します |
有効な変換引数が不足している(空でない currencies と is_all: false の組み合わせも、is_all: true も指定されていない) | 停止し、ティッカーを選択するか、すべて変換することを確認するようユーザーに尋ねます |
| MCP/ネットワーク障害 | 接続を確認して再試行するよう提案します。結果を捏造しないでください |
安全ルール
- 決して捏造しないでください。変換結果、GT 額、ID は、API の真実のみを報告してください
gate-cli cex wallet balance convert-smallを実行する前に、必ず確認してください。明示的な通貨リストまたはすべて変換の確認に加え、取り消し不可であることと、レートに関する免責事項(実行時に最終レートが決まること)を伝えてください- ユーザーが変換を希望した場合は、必ず最初に対象リストを照会してください。利用可能な通貨を表示せずに変換へ進んではいけません
- ユーザー指定の通貨を対象リストと照合し、不一致があればユーザーに伝えてください
- ユーザーが残すよう指定したコインは変換しないでください
- API シークレットやキーを開示しないでください
- 金額は任意に丸めず、API から返されたとおりに表示してください
- リスクに関する注意:変換は取り消しできません。GT の価値は市場の状況によって変動します
判断ロジックの概要
| 条件 | 対応 | ツール |
|---|---|---|
| 変換できるダスト/少額残高を尋ねられた | 対象資産を一覧表示します | gate-cli cex wallet balance small |
| ウォレットの整理や「変換できるものは何か」を希望している | まず一覧表示し、続行する場合は変換を提案します | gate-cli cex wallet balance small → 対話型ステップ 3 |
| GT に変換するティッカーを指定している | リストを照会 → 通貨を検証 → 確認 → 実行 | gate-cli cex wallet balance small → gate-cli cex wallet balance convert-small |
| すべてのダスト/少額コインを変換すると伝えている | リストを照会 → 対象範囲を表示 → 確認 → is_all: true で実行 | gate-cli cex wallet balance small → gate-cli cex wallet balance convert-small |
| 変換を希望しているが、対象を指定していない | リストを照会 → ユーザーに選択を依頼 → 確認 → 実行 | gate-cli cex wallet balance small → 対話型選択 → gate-cli cex wallet balance convert-small |
| 少額残高/ダストの変換履歴を尋ねられた | 任意のフィルターを指定して履歴を照会します | gate-cli cex wallet balance small-history |
| 大口ポジションの通常の現物売りを希望している | 対象外とし、現物取引スキルを使用します | — |
| 変換を拒否する、または特定の資産を残す | 変換を呼び出しません | — |
| API がエラーを返した | 停止し、実際のエラーを表示します | — |
レポートテンプレート
タイムスタンプ:該当する場合は ISO 8601 YYYY-MM-DD HH:mm:ss UTC。
変換対象の少額残高レポート
## Small Balances Eligible for GT Conversion
**Query Time**: {timestamp}
| Currency | Available | Est. BTC value | Est. GT |
|----------|-----------|----------------|---------|
| {currency} | {available_balance} | {estimated_as_btc} | {convertible_to_gt} |
**Summary**: {n} currencies eligible. (If empty: no eligible small-balance assets.)
変換結果レポート
## Small Balance Conversion
**Time**: {timestamp}
**Mode**: {Selected currencies: ... | All eligible}
**Result**: {success / failed}
**Message**: {message}
If failed: **Code**: {error_code_if_any}
履歴レポート
## Small Balance Conversion History
**Query Time**: {timestamp}
**Filters**: currency={currency or Any}, page={page}, limit={limit}
| ID | Time (UTC) | Currency | Amount | GT Received |
|----|--------------|----------|--------|-------------|
| {id} | {create_time — convert Unix seconds to readable time} | {currency} | {amount} | {gt_amount} |
通貨検証レポート(対話型フロー用)
## Currency Validation
| Currency | Status | Available | Est. GT |
|----------|--------|-----------|---------|
| {currency} | ✅ Eligible | {available_balance} | {convertible_to_gt} |
| {currency} | ❌ Not eligible | — | — |
**Summary**: {n} of {m} specified currencies are eligible for conversion.