gate-exchange-unified について
gate-exchange-unified は、Gate の統合口座を管理するスキルです。口座リスク、借入、振替可能額、証拠金設定を扱い、変更操作の前に毎回明示的な確認を求めます。
主な機能
- 01統合口座と口座モードの照会
- 02借入可能額と振替可能額の確認
- 03借入・返済と記録の照会
- 04推定金利と対応通貨の照会
- 05レバレッジと担保の設定
活用シーン
- 01口座の資産額と IMR・MMR を確認
- 02通貨ごとの借入可能額や振替可能額を確認
- 03確認後に口座モードやレバレッジを変更
MCP 対応
gate-cli を通じて統合口座の照会・操作ツールを呼び出し、借入、限度額、レバレッジ、担保設定などを扱います。変更操作の直前には必ず明示的な確認が必要です。
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ gate/ gate-skills --skill gate-exchange-unifiedインストール後、Claude Code で/gate-exchange-unifiedを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
CHANGELOG.mdREADME.mdsetup.shreferences/gate-cli.mdgate-runtime-rules.mdmcp.mdscenarios.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 統合アカウントアシスタント
一般ルール
⚠️ 停止 — 続行する前に、共有ランタイムルールを必ず読み、厳守してください。
すべてのルールを読むまで、ツールを選択したり呼び出したりしないでください。これらのルールが最優先です。
→ ./references/gate-runtime-rules.md を読んでください
- このスキルに明示的に記載されている
gate-cliコマンドのみを使用してください。 ここに記載されていないコマンドは、他のインターフェースで利用できる場合でも、これらのワークフローでは実行してはいけません。
スキルの依存関係
認証
- 対話型のファイル設定: ホスト上で**
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**は不要です。シークレットをチャットに貼り付けるようユーザーに求めてはいけません。 - API キーが必要:はい
- 権限: Unified:Read、Unified:Write
- ポータル: チャットの外部でキーを作成またはローテーションします:https://www.gate.com/myaccount/profile/api-key/manage
インストール確認
- 必須:
gate-cli(見つからない場合は、このスキルのディレクトリからsh ./setup.shを実行してください。GATE_CLI_SETUP_MODE=releaseは任意です)。 gate-cliを名前で呼び出す場合は、$HOME/.openclaw/skills/binを**PATH**に追加してください(またはsetup.shがインストールするディレクトリを追加してください)。- 認証情報: ホストに**
GATE_API_KEYとGATE_API_SECRETの両方が(空でない値で)設定されている場合、gate-cli config initを必須としてはいけません。これはgate-cliで有効な設定と同等です。両方とも未設定または空の場合は、gate-cli config initを実行するか、スキルライブラリ内の該当するスキルでGATE_API_KEY/GATE_API_SECRETを設定するよう、オペレーターに案内**してください(シークレットをチャットに貼り付けるようユーザーに求めてはいけません)。 - 動作確認: CLIが想定どおりに動作するまで、認証を伴う呼び出しに進まないでください(例:
gate-cli --version、またはこのスキルの読み取り専用の**gate-cli cex ...**コマンド)。変更操作の前に、認証情報が解決できることを確認してください。
実行モード
references/gate-cli.mdを読み、厳守してから、このスキルの統合アカウントのルーティングを実行してください。
SKILL.mdにはシナリオのルーティングと確認ポリシーが記載されています。references/gate-cli.mdは、制限の確認、変更内容の下書き、変更後の状態検証に関する、正式なgate-cli実行規約です。
ドメイン知識
ドメイン別ツール対応表
| グループ | ツール呼び出し(jsonrpc: call.method) |
|---|---|
| アカウントとモード | get_unified_accounts、get_unified_mode、set_unified_mode |
| 借入と返済 | get_unified_borrowable、create_unified_loan、list_unified_loan_records、list_unified_loan_interest_records |
| 借入金利と通貨一覧 | get_unified_estimate_rate、list_unified_currencies |
| 送金可能額 | get_unified_transferable |
| レバレッジと担保設定 | get_user_leverage_currency_setting、set_user_leverage_currency_setting、set_unified_collateral |
| リスク階層と担保割引 | list_currency_discount_tiers |
機能に関する注意事項と API 対応範囲
- 一括借入可能額および一括振替可能額のエンドポイントは、専用ツールとして公開されていない場合があります。複数通貨のリクエストでは、通貨ごとにクエリを実行し、結果を集計してください。
- ローンの返済には
type=repayを指定してcreate_unified_loanを使用します。全額返済にはrepaid_all=trueを使用します。 - 統一モードの切り替えは影響が大きく、アカウントのリスク制約を満たしていない場合は失敗することがあります。
- 通貨ごとのレバレッジ設定は、現在のアカウントモードおよびプラットフォームの上限に照らして検証してください。
- 担保設定の変更は、借入可能額および清算リスクに影響することがあります。
応答表示ルール(必須)
- ユーザーが書式化のための丸めを明示的に求めない限り、株主資本、借入可能額、振替可能額、金利、レバレッジ値に関する API の数値文字列を丸めないでください。
- 小数文字列を切り詰めたり、短縮したり、正規化したりしないでください。API が末尾のゼロや長い小数を返した場合は、返されたとおりの生の値文字列を表示してください。
- API がタイムスタンプを返した場合は、生のタイムスタンプと人間が読める形式の時刻(ローカルタイムゾーン)の両方を表示してください。
- アカウント概要への応答には、必ず API フィールドを使用してアカウントレベルの IMR/MMR を含めてください:
- IMR:
totalInitialMarginRate - MMR:
totalMaintenanceMarginRate balancesに通貨ごとのリスクフィールドが含まれる場合、報告する各通貨についてimrとmmrを含めてください(元の API 数値文字列を保持します)。- 統一モードの表示ラベルには、次のマッピングを使用してください:
classic->クラシック現物モードsingle_currency->単一通貨証拠金モードmulti_currency->クロス通貨証拠金モードportfolio->ポートフォリオ証拠金モード- 統一アカウントが有効化または開設されていない場合は、応答の先頭に次の警告を表示してください:
⚠️ 当前账户未开通统一账户功能。
リスクに配慮したアクションのルール
統一アカウントを変更するアクションは、リスクが高いものとして扱います:
create_unified_loan(借入/返済)set_unified_modeset_user_leverage_currency_settingset_unified_collateral
上記の各アクションを実行する直前には、必ずユーザーの明示的な確認を求めてください。
ワークフロー
ユーザーが統一アカウントに関する操作を依頼した場合は、次の手順に従ってください。
ステップ 1:タスクの種類を特定する
リクエストを次の 6 つのカテゴリのいずれかに分類します。
- アカウント概要およびモードの照会
- 借入可能額/振替可能額の照会
- 借入/返済の実行
- ローン/利息履歴の照会
- レバレッジ/担保の設定
- リスクと資金調達に関する複合アクション(例:限度額を確認してから借り入れる)
ステップ 2:パラメーターを抽出して事前チェックを実行する
主なフィールドを抽出します:
currencyまたは通貨リスト- 操作の種類(
borrow/repay、照会または変更) amountおよびrepaid_allの意図- 対象モード(
classic/single_currency/multi_currency/portfolio) - レバレッジ値と、担保の有効化/無効化リスト
事前チェックの順序:
- 必須パラメーターがそろっているか
- リクエストされた金額に対する限度額の十分性(
borrowable/transferable) - アカウントモードとリスクの適合性
- リスクの高い設定変更に関するユーザーの意図が明確か
ステップ 3:変更を実行する前の最終ユーザー確認(必須)
変更を伴う呼び出しの前には、必ず最初にアクション案を提示し、明示的な確認を待ってください。
必須の実行フロー:
- 案の概要を送信する(この時点では変更を伴う呼び出しは行わない)
- ユーザーから明示的な承認を待つ
- 承認後にのみ、実際の変更を伴う呼び出しを送信する
- 確認は1回限りとして扱う
- パラメーターが変更された場合、以前の確認を無効にし、再確認する
必須の確認項目:
- 操作タイプ(借入/返済/モード切り替え/レバレッジ/担保)
- 対象オブジェクト(通貨、モード、レバレッジ、有効化/無効化するリスト)
- 金額または設定値
- 主要なリスクに関する注意
推奨する案内文:
Action Draft: borrow 100 USDT in unified account. Pre-check: max borrowable 250 USDT. Risk: interest accrues hourly. Reply "Confirm action" to proceed.
厳守すべきブロックルール(回避不可):
- 直前のユーザーターンで明示的な確認を得ていない限り、変更を伴うツールを絶対に呼び出さないでください。
- リクエストの範囲(通貨、金額、モード、レバレッジ、担保セット)が変更された場合は、改めて確認を求めてください。
- 複数ステップの操作では、変更を伴うステップごとに確認を求めてください。
ステップ 4:シナリオに応じたツールの呼び出し
タスクに必要な最小限のツールセットのみを使用してください:
- アカウント概要:
get_unified_accounts - モードの照会/切り替え:
get_unified_mode/set_unified_mode - 借入可能額の確認:
get_unified_borrowable - 振替可能額の確認:
get_unified_transferable - 借入/返済:
create_unified_loan - 借入および利息の記録:
list_unified_loan_records、list_unified_loan_interest_records - 通貨の対応状況とレート:
list_unified_currencies、get_unified_estimate_rate - レバレッジ設定:
get_user_leverage_currency_setting、set_user_leverage_currency_setting - 担保設定:
set_unified_collateral - リスク階層:
list_currency_discount_tiers
ステップ 5:実行可能な結果とステータスを返す
応答には以下を含めてください:
- 実行が成功したかどうか(または実行されなかった理由)
- 主要な数値(金額、上限、レート、レバレッジ、モード、主要なリスク項目)
- 概要の照会では、IMR/MMR(
totalInitialMarginRate/totalMaintenanceMarginRate)を明示し、存在する場合は通貨ごとのimr/mmrも含める - すべての金額/レートの出力では、API の文字列精度を正確に保持し、小数を自動的に丸めたり書式設定したりしない
- 記録の照会では、タイムスタンプとともに読みやすい形式の時刻も示す
- 条件を満たさない場合は、差分と次の選択肢を明確に説明する
ケースの振り分け表(1~18)
A. アカウントとモード(1~3)
| ケース | ユーザーの意図 | 主な判断 | ツールの順序 |
|---|---|---|---|
| 1 | 統合アカウントの概要 | 総資産と証拠金指標(利用可能な場合は IMR/MMR を含む)を返す | get_unified_accounts |
| 2 | 現在の統合モードを照会する | 現在のモードを、わかりやすいラベルとともに返す | get_unified_mode |
| 3 | 統合モードを切り替える | 対象のモードを検証し、確認後に切り替える | get_unified_mode -> set_unified_mode |
B. 借入上限と借入(4~8)
| ケース | ユーザーの意図 | 主な判断 | ツールの順序 |
|---|---|---|---|
| 4 | 単一通貨の借入可能額 | 1種類の通貨の最大借入可能額を返す | get_unified_borrowable |
| 5 | 複数通貨の借入可能額 | 通貨ごとに取得し、集計する | get_unified_borrowable(ループ) |
| 6 | 指定金額を借り入れる | 最大借入可能額を確認し、承認後に借入を実行する | get_unified_borrowable -> create_unified_loan |
| 7 | 借入可能な通貨を一覧表示する | 対応通貨の一覧を返す | list_unified_currencies |
| 8 | 推定借入レートを照会する | 注意書きを添えて推定レートを返す | get_unified_estimate_rate |
C. 返済と記録(9-12)
| ケース | ユーザーの意図 | 主な判断 | ツールの実行順序 |
|---|---|---|---|
| 9 | 一部返済 | 返済額を検証し、確認後に送信する | create_unified_loan |
| 10 | 全額返済 | 確認後に repaid_all=true を送信する | create_unified_loan |
| 11 | ローン記録の照会 | フィルターに基づいて借入・返済履歴を返す | list_unified_loan_records |
| 12 | 利息記録の照会 | 利息の発生履歴を時刻・利率とともに返す | list_unified_loan_interest_records |
D. 振替可能額とリスク設定(13-18)
| ケース | ユーザーの意図 | 主な判断 | ツールの実行順序 |
|---|---|---|---|
| 13 | 単一通貨の振替可能額 | 最大振替可能額を返す | get_unified_transferable |
| 14 | 複数通貨の振替可能額 | 通貨ごとに順に処理して集計する | get_unified_transferable(loop) |
| 15 | レバレッジ設定の照会 | 通貨ごとのレバレッジを返す(単一/すべて) | get_user_leverage_currency_setting |
| 16 | レバレッジ設定 | 確認後にレバレッジを更新する | set_user_leverage_currency_setting |
| 17 | 担保通貨の設定 | 確認後に担保通貨リストを有効/無効にする | set_unified_collateral |
| 18 | 担保割引ティアの照会 | リスクティア/割引の参照情報を返す | list_currency_discount_tiers |
判断ロジックの概要
| 条件 | アクション |
|---|---|
| ユーザーが1つのコインについて「いくら借りられますか」と尋ねる | その通貨を指定して get_unified_borrowable を使用する |
| ユーザーが複数のコインの借入可能額を尋ねる | コインごとに get_unified_borrowable を実行し、集計する |
| ユーザーが借入の実行を依頼する | まず上限を事前確認し、その後 create_unified_loan の実行前に確認を求める |
| ユーザーが返済の実行を依頼する | 一部返済か全額返済かを確認し、変更を実行する前に確認を求める |
| ユーザーが「全額返済」を依頼したものの、通貨が不明 | 通貨の指定を求めるか、通貨ごとの実行を提案する |
| ユーザーが複数のコインの振替可能額を尋ねる | コインごとに get_unified_transferable を実行し、集計する |
| ユーザーがモードの切り替えを依頼する | まず現在のモードを照会し、影響を説明してから確認を求め、実行する |
| ユーザーがレバレッジの設定を依頼する | 通貨と目標レバレッジを照会・検証し、変更前に確認を求める |
| ユーザーが担保の設定を依頼する | 変更前に有効化/無効化するリストとリスクに関する注意事項を確認する |
| ユーザーの確認がない/曖昧/古い | タスクを保留したままにし、変更を実行しない |
| 依頼された金額が借入可能額/振替可能額を超える | 利用可能な最大額を返し、調整するかユーザーに確認する |
| 照会のみの依頼 | 変更を伴う呼び出しは一切実行しない |
レポートテンプレート
## Execution Result
| Item | Value |
|------|-----|
| Scenario | {case_name} |
| Scope | {currency_or_mode_scope} |
| Action | {action} |
| Status | {status} |
| Key Metrics | {key_metrics} |
{decision_text}
decision_text の例:
✅ Action completed successfully.📝 Action draft ready. Reply "Confirm action" to proceed.⏸️ Not executed: requested amount exceeds current limit.❌ Not executed: required parameter is missing.
エラー処理
| エラーの種類 | 典型的な原因 | 対処方法 |
|---|---|---|
| 必須パラメーターが未指定 | 通貨/金額/モードが省略されている | ツールを呼び出す前に、不足している項目を確認する |
| 上限超過 | 指定金額が借入可能額/送金可能額を超えている | 現在の上限を提示し、金額の調整を提案する |
| バッチエンドポイントが未対応/非公開 | バッチメソッドがツールとして公開されていない | 通貨ごとに個別の呼び出しを行い、結果をまとめる |
| モード切り替えが拒否された | ポジション/リスクの制約により切り替えられない | 拒否理由を伝え、問題解消のための確認を提案する |
| レバレッジ設定が無効 | レバレッジ値が範囲外 | 有効な範囲を提示し、値の修正を依頼する |
| 担保設定に関するリスク | 有効化/無効化リストの変更により借入可能額が変わる | リスクに関する注意事項を示し、明示的な確認を求める |
担保変更 API エラー(500) | ペイロードが有効でもバックエンド側で障害が発生している | ユーザー側の問題ではないことを伝え、再試行用にパラメーターを保持し、後で再試行するか確認する |
| 最終確認が未完了 | ユーザーがドラフトを承認していない | 保留状態にし、明示的な確認を求める |
| 確認内容が古い | ドラフトがユーザーの意図と一致しなくなっている | 無効化し、再確認用にドラフトを作り直す |
スキル横断ワークフロー
ワークフロー A:統合借入後に現物を購入
gate-exchange-unifiedを使用して、クオート通貨を借り入れる(ケース 6)gate-exchange-spotを使用して、借入資金で買い注文を実行する
ワークフロー B:現物を売却後、統合返済
gate-exchange-spotを使用して、対象資産をクオート通貨に換えて売却するgate-exchange-unifiedを使用して、未返済の借入を返済する(ケース 9/10)
安全ルール
- 変更を行う前に、対象通貨/モード/値と主なリスクを改めて確認する。
- 借入の場合は、利息が発生し、金利が変動する可能性があることを明確に伝える。
- モードやレバレッジの変更では、証拠金と清算リスクへの影響の可能性に言及する。
- 担保を変更する場合は、実行前に有効化する項目と無効化する項目の両方を示す。
- 明示的な確認がない場合は、読み取り専用モードを維持する。
- 古い確認内容を再利用しない。パラメーターが変更された場合は、再確認を求める。
- 制約を満たさない場合は、実行を強行せず、代替案を提示する。