mcpField
U
upbit

upbit

github.com/upbit-officialその他38515 回インストール8 週間前に更新
リポジトリ

upbit について

upbitは、`upbit` CLIでUpbit取引所を操作するスキルです。API呼び出しや市場・応答フィールドの説明を案内し、書き込み操作の前に確認を求めます。

主な機能

  1. 01CLIでUpbit REST APIを呼び出し
  2. 02公開エンドポイントと認証必須エンドポイントを区別
  3. 03用語集に沿って取引所フィールドを説明
  4. 04書き込み操作前に確認を要求
  5. 05セットアップとコマンド詳細の資料を参照

活用シーン

  1. 01ティッカー、板、約定、ローソク足の確認
  2. 02口座残高と注文状況の確認
  3. 03確認を経た注文の発注やキャンセル
  4. 04出金アドレスとウォレット状態の確認

インストール

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

$npx skills add https://github.com/upbit-official/upbit-agent-skills --skill upbit

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

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

LICENSE.md
references/
account.md
candles.md
deposits.md
glossary.md
orderbooks.md
orders.md
pockets.md
setup.md
tickers.md
trades.md
trading-pairs.md
travel-rule.md
withdraws.md

詳細

Upbit スキル

すべての Upbit REST API とのやり取りには、upbit CLI バイナリを使用してください。

言語の動作

ユーザーの言語を検出し、それに応じて応答してください。

  • 韓国語のユーザー:韓国語で応答し、references/glossary.md の韓国語用語(例:주문、매수、잔고、체결、호가)を使用してください
  • 英語のユーザー:英語で応答し、同じ用語集の英語用語を使用してください
  • 複数言語が混在する場合/曖昧な場合:直近のメッセージの言語に従ってください

API フィールドやコマンド出力を説明するときは、用語集を使ってフィールド名を必ずユーザーの言語に翻訳してください。たとえば、ユーザーが韓国語で質問した場合、bid は「매수」、ask は「매도」、balance は「보유 잔고」と説明してください。

用語の翻訳やレスポンスフィールドの説明を行う場合は、references/glossary.md を読み込んでください。

セットアップ

upbit がインストールされていない場合、または認証情報が設定されていない場合は、references/setup.md を読み込んで、記載されている手順に従ってください。

upbit が利用可能で、最小バージョン要件を満たしているか確認してください。

upbit --version

v1.0.0 以降が必要です。 古い場合は、続行する前にアップグレードしてください。

npm install -g @upbit-official/upbit-cli@latest

必須リクエストヘッダー

API を呼び出すすべての upbit コマンドの最後の引数として、必ず --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}' を追加してください。 これは、パブリック(tickers、orderbooks、trades、candles、trading-pairs)とプライベート(accounts、orders、withdraws、deposits、travel-rule、api-keys、wallet-status、pockets)の両方のエンドポイントを含む、API を呼び出すすべての実行に適用されます。

upbit <resource> <command> [flags] --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}'

{metadata.version} はプレースホルダーです。文字列のまま送信しないでください。 コマンドを実行する前に、{metadata.version} を上記のフロントマターにある、このスキルの metadata.version フィールドの値に置き換えてください。

対象外(API リクエストを行わないため、ヘッダーは省略してください):upbit --version、upbit config set、upbit config show、upbit config path、インストール/シェルのスニペット(npm install、node --version、curl、export ...)。

認証

プライベートエンドポイントには認証情報が必要です。CLI から設定する方法を推奨します。

upbit config set

認証情報は ~/.upbit/config に保存され、すべての CLI コマンドで自動的に使用されます。

または、環境変数で設定します。

export UPBIT_ACCESS_KEY=<your-access-key>
export UPBIT_SECRET_KEY=<your-secret-key>

または、コマンドごとに直接指定します。

upbit <resource> <command> --access-key <key> --secret-key <secret> --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}'

プライベート(認証が必要):accounts、api-keys、orders、withdraws、deposits、travel-rule、wallet-status、pockets パブリック(認証不要):tickers、orderbooks、trades、candles、trading-pairs

安全ルール — 書き込み操作

書き込み操作を実行する前に、コマンド全体を表示し、ユーザーに CONFIRM と入力するよう求めてください。

書き込み操作:

  • orders create、orders cancel、orders cancel-and-new、orders cancel-by-uuids、orders cancel-open
  • withdraws create-withdrawal、withdraws create-krw-withdrawal、withdraws cancel-withdrawal
  • deposits deposit-krw、deposits create-coin-address
  • travel-rule verify-deposit-by-txid、travel-rule verify-deposit-by-uuid
  • pockets transfer、pockets universal-transfer

orders test-create はドライランのため、CONFIRM は不要です。

Upbit のドメイン概念

マーケットペアの形式
  • フィールド名:market
  • 形式:{QUOTE}-{BASE} — クオート通貨が先、ベース資産が後
  • 区切り文字:ハイフン(-)。スラッシュ(/)ではありません
  • 常に大文字
  • クオート通貨:KRW、BTC、USDT
  • {BASE}-{QUOTE} や {BASE}/{QUOTE} ではありません — Upbit は、ほとんどの取引所で使われる一般的な順序とは逆の順序を採用しています
マーケット意味
KRW-BTCKRW建ての BTC。Upbit では BTC/KRW や BTC-KRW ではなく、KRW-BTC を使用します
KRW-ETHKRW建ての ETH
KRW-XRPKRW建ての XRP
BTC-ETHBTC建ての ETH
USDT-XRPUSDT建ての XRP
口座残高フィールド

accounts list の各エントリー:

フィールド説明
currency資産コード(例:KRW、BTC、ETH)
balance利用可能残高(未約定の注文には使われていない残高)
locked未約定の注文または出金のために現在ロックされている残高
avg_buy_price平均購入価格(小数文字列)
unit_currencyavg_buy_price の建て通貨(例:KRW、BTC)

保有総額 = balance + locked

ポケット

韓国(KR)のみ — ポケットはUpbit Koreaでのみ利用できます。グローバルサービスではサポートされていません。

ポケットを使うと、ユーザーは単一のUpbitアカウント内で資産を用途ごとに分けられます。各ポケットはuuidで識別されます。

  • メインポケット:アカウントとともに自動作成されます。外部からの入出金を含むアカウントの標準取引を処理し、アカウント内のすべてのポケットに対するマスター権限を持つことができます。
  • サブポケット:特定の目的のためにユーザーが作成します。APIキーの権限範囲内で独立して動作しますが、外部からの入出金はできません。サブポケットの資産を外部へ移動するには、専用のキーを使ってpockets transferを実行してください。

すべてのpocketsコマンドには、2種類の権限のいずれかが必要です。それぞれ利用できるポケットの種類は1つだけなので、1つのAPIキーで両方のコマンドグループを呼び出すことはできません。

コマンド権限呼び出し可能なキー
list、retrieve-balance、list-api-keys、universal-transfer、list-universal-transfersポ켓관리(ポケット管理)メインポケットのキーのみ
transfer、list-transfers자산이전(資産移動)サブポケットのキーのみ

retrieve-balanceはサブポケットの残高を読み取りますが、メインポケットのキーを使って呼び出す点に注意してください。 コマンド構文とパラメーターの詳細については、references/pockets.mdおよび公式概要(https://docs.upbit.com/kr/reference/pocket-overview)を参照してください。

注文タイプ(ord_type)
ord_type説明必須項目設定してはならない項目
limit指定価格での指値注文price、volume—
price成行買い — 固定の見積通貨額を使いますpricevolume
market成行売り — 固定の基準通貨額を売りますvolumeprice
best最良価格(以下のルールを参照)以下を参照以下を参照

best注文のルール:

  • time_in_forceはiocまたはfokでなければなりません(post_onlyは不可)
  • side=bid(買い)の場合:priceが必須で、volumeは省略してください
  • side=ask(売り)の場合:volumeが必須で、priceは省略してください

post_onlyとsmp_typeの競合:この2つは相互に排他的です。両方を設定しないでください。

売買方向の値
side意味
bid買い
ask売り
注文状態
状態意味
wait約定待ち
watch予約待ち(ストップ注文)
done全量約定
cancelキャンセル済み
注文手数料フィールド
フィールド説明
reserved_fee注文時に確保された手数料の合計
paid_feeすでに徴収された手数料(部分約定の場合)
remaining_feereserved_fee - paid_fee
lockedこの注文のためにロックされた金額(買いは見積通貨、売りは基準資産)
初回の注文発注

使い慣れていない市場で注文を発注する前に、orders retrieve-chanceを実行して次の項目を確認してください。

  • 最小注文額(bid.min_total、ask.min_total)
  • 対応する注文タイプ(bid_types、ask_types)
  • 手数料率(bid_fee、ask_fee、maker_bid_fee、maker_ask_fee)
upbit orders retrieve-chance --market "KRW-BTC" --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}'
出金 — 複数チェーン対応の資産

USDTなど複数のネットワークで利用可能な資産では、ブロックチェーンを指定するためにnet_typeが必要です。出金前にwithdraws list-coin-addressesを使って、対応ネットワークとアドレスを確認してください。

upbit withdraws list-coin-addresses --currency "USDT" --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}'
出金 — セカンダリアドレス

一部の資産では、メインアドレスに加えてセカンダリアドレス(Destination Tag、Memo など)が必要です。送金する前に、必ず withdraws list-coin-addresses で登録済みアドレスを確認し、secondary_address があるかどうかを確かめてください。

出金 — アドレスが未登録(withdraw_address_not_registered)

withdraws create-withdrawal が name: withdraw_address_not_registered を含む 400 エラーを返す場合、そのアドレスは Upbit Open API の出金許可リストに登録されていません。

出金アドレスを登録するには、ご利用の環境に応じた許可リスト管理ページにアクセスしてください。

環境URL
KRhttps://www.upbit.com/mypage/open_api_management/withdraw_access_register
SGhttps://sg.upbit.com/mypage/open_api_management/withdraw_access_register
IDhttps://id.upbit.com/mypage/open_api_management/withdraw_access_register
THhttps://th.upbit.com/mypage/open_api_management/withdraw_access_register

登録後、再試行する前に withdraws list-coin-addresses を実行し、アドレスが表示されることを確認してください。

入出金の状態
状態意味
PROCESSING処理中
ACCEPTED完了
CANCELLEDキャンセル済み
REJECTED拒否
TRAVEL_RULE_SUSPECTEDTravel Rule の確認待ち
REFUNDING返金処理中
REFUNDED返金完了

入金が TRAVEL_RULE_SUSPECTED 状態の場合は、travel-rule コマンドを使用して確認してください。

ウォレットの状態

wallet-status list は、資産ごとのネットワーク状態を返します。

wallet_state意味
working入金と出金の両方が利用可能
withdraw_only入金停止中
deposit_only出金停止中
paused入金と出金の両方が停止中
unsupportedサポート対象外
ローソク足の単位と上限
  • 分足ローソク足:サポートされる単位は 1, 3, 5, 10, 15, 30, 60, 240 のみです
  • 秒足ローソク足:データの保持期間は最大 3 か月です(それより古いデータを照会すると空の配列が返されます)
  • count:デフォルトは 1、リクエストあたりの上限は 200 です
取引のページネーション
  • count:リクエストあたりの上限は 500 です
  • cursor:次のページに進むには、最後の結果の sequential_id を渡します
  • days_ago:整数の 1~7(UTC 基準の日数オフセット)
ティッカーの主要フィールド
フィールド説明
trade_price現在価格(直近価格)
acc_trade_price_24h24 時間の累積取引額
acc_trade_volume_24h24 時間の累積取引量
change前日終値に対する RISE、EVEN、FALL
signed_change_price符号付きの絶対変動額(下落時は負の値)
highest_52_week_price / lowest_52_week_price52 週間の価格範囲
価格方向の列挙値(change、ask_bid)
change の値意味
RISE前日終値より高い価格
EVEN前日終値と同じ価格
FALL前日終値より低い価格
ask_bid の値意味
ASK売り注文によって成立した取引
BID買い注文によって成立した取引
単位と形式
値単位形式
volume基軸資産の数量10 進文字列(例:"0.01")
price(指値)クォート通貨建ての単価10 進文字列(例:"140000000")
price(成行買い)使用するクォート通貨の合計額10 進文字列(例:"10000")
手数料フィールドクォート通貨の金額10 進文字列
timestampUNIX エポックからのミリ秒数整数
created_at / done_atKST オフセット付き ISO 8601文字列(例:2024-01-01T09:00:00+09:00)
trade_dateUTC の日付文字列 yyyyMMdd
trade_timeUTC の時刻文字列 HHmmss(24 時間表記)
手数料率10 進数(0.05% = "0.0005")10 進文字列

日付の境界(opening_price、acc_trade_price など)は、KST ではなく UTC 00:00 を基準とします。

コマンドリファレンス

リソースのフラグについて詳しく知りたい場合は、対応するリファレンスファイルをお読みください。

リソースサブコマンドリファレンス
orderscreate, test-create, retrieve, list-open, list-closed, list-by-uuids, cancel, cancel-and-new, cancel-by-uuids, cancel-open, retrieve-chancereferences/orders.md
tickerslist-by-quote-currencies, list-by-trading-pairsreferences/tickers.md
candleslist-minutes, list-days, list-weeks, list-months, list-years, list-secondsreferences/candles.md
orderbookslist, list-instrumentsreferences/orderbooks.md
tradeslistreferences/trades.md
trading-pairslistreferences/trading-pairs.md
withdrawsretrieve, list, cancel-withdrawal, create-withdrawal, create-krw-withdrawal, list-coin-addresses, retrieve-chancereferences/withdraws.md
depositsretrieve, list, create-coin-address, deposit-krw, list-coin-addresses, retrieve-chance, retrieve-coin-addressreferences/deposits.md
travel-rulelist-vasps, verify-deposit-by-txid, verify-deposit-by-uuidreferences/travel-rule.md
pocketslist, retrieve-balance, transfer, list-transfers, universal-transfer, list-universal-transfers, list-api-keysreferences/pockets.md
accounts / api-keys / wallet-statuslistreferences/account.md
出力とフィルタリング--format, --transform, GJSON, debug, auto-pagingreferences/output.md
韓国語 ↔ 英語用語集用語の翻訳、フィールド名の韓国語 ↔ 英語対応references/glossary.md
CLI のセットアップと認証情報インストール、環境の選択、API キーの設定、config setreferences/setup.md

リファレンスファイルに記載されていないフラグについては、次を実行してください:upbit <resource> <command> --help

環境

upbit accounts list --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}'                   # kr (default)
upbit accounts list --environment sg --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}'  # sg | id | th
upbit accounts list --base-url <url> --header 'X-Upbit-Initiator: upbit-cli-skill/{metadata.version}'  # custom base URL

コメント