upbit について
upbitは、Upbit REST APIの操作で`upbit` CLIを使うためのスキルです。市場データや口座操作に加え、書き込み前の確認や認証情報、取引所固有のルールを案内します。
主な機能
- 01公開市場データの取得
- 02口座・注文・入出金コマンド
- 03認証情報の設定と認証案内
- 04書き込み操作前の確認
- 05Upbit市場と応答フィールドの解説
活用シーン
- 01ティッカー、板、約定、ローソク足の確認
- 02残高と既存注文の確認
- 03市場ルールに沿った取引準備
- 04安全策を用いた入出金管理
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ starchild-ai-agent/ official-skills --skill upbitインストール後、Claude Code で/upbitを入力して読み込まれたか確認します。
同梱ファイル
SKILL.md と一緒にインストールされる参考資料やスクリプト。
LICENSE.mdreferences/account.mdcandles.mddeposits.mdglossary.mdorderbooks.mdorders.mdoutput.mdsetup.mdtickers.mdtrades.mdtrading-pairs.mdtravel-rule.mdwithdraws.md詳細
Upbit スキル
すべての Upbit REST API 操作には、upbit CLI バイナリを使用してください。
⚠️ オンボーディング — 認証情報が不足している場合
UPBIT_ACCESS_KEY / UPBIT_SECRET_KEY が設定されていない場合、または認証が必要なコマンドが 401 を返す場合:
1 回のターンで、次のすべてをこの正確な順序で実行してください:
bash("curl -s https://api.ipify.org")を呼び出して、送信元 IP を取得します。- 返信テキストに以下のセットアップ手順を記載します(
<ip>は手順 1 で取得した実際の IP に置き換えてください):
ステップ 1 — Upbit でこの IP を許可リストに登録する
Upbit は、明示的に許可した IP アドレスからの API 呼び出しのみを受け付けます。次の IP を追加してください:
<ip>
ステップ 2 — API キーを作成する
- upbit.com にログイン → プロフィール → API 관리(API 管理)
- API 키 발급(API キー発行)をクリック
- IP の入力を求められたら、
<ip>を貼り付けます - スコープを有効化します:
- 자산조회(資産照会)— 常に必須
- 주문조회(注文照会)— 必須
- 주문생성(注文作成)— 取引に必須
- 출금(出金)— 出金サポートが必要な場合のみ
- 2FA + メール認証を完了し、Access Key と Secret Key をコピーします
ステップ 3 — キーを入力する
以下の安全な入力カードに Access Key と Secret Key を入力してください。
言語の動作
ユーザーの言語を検出し、それに応じて応答します:
- 韓国語ユーザー: 韓国語で応答し、
references/glossary.mdの韓国語用語を使用します(例: 주문、매수、잔고、체결、호가) - 英語ユーザー: 英語で応答し、同じ用語集の英語用語を使用します
- 混在/曖昧: 直近のメッセージの言語に従います
API フィールドやコマンド出力を説明する際は、常に用語集を使用してフィールド名をユーザーの言語に翻訳してください。たとえば、ユーザーが韓国語で質問した場合、bid は「매수」、ask は「매도」、balance は「보유 잔고」と説明します。
用語を翻訳したりレスポンスフィールドを説明したりする際は、references/glossary.md を読み込んでください。
セットアップ
upbit がインストールされていない、または認証情報が設定されていない場合は、references/setup.md を読み込み、そこに記載されている手順に従ってください。
upbit が利用可能かどうかを確認します:
upbit --version
認証
プライベートエンドポイントには認証情報が必要です。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>
プライベート(認証が必要): accounts、api-keys、orders、withdraws、deposits、travel-rule、wallet-status
パブリック(認証不要): tickers、orderbooks、trades、candles、trading-pairs
安全規則 — 書き込み操作
書き込み操作を実行する前に、コマンド全体を表示し、ユーザーに CONFIRM と入力するよう求めてください。
書き込み操作:
orders create、orders cancel、orders cancel-and-new、orders cancel-by-uuids、orders cancel-openwithdraws create-withdrawal、withdraws create-krw-withdrawal、withdraws cancel-withdrawaldeposits deposit-krw、deposits create-coin-addresstravel-rule verify-deposit-by-txid、travel-rule verify-deposit-by-uuid
orders test-create はドライランです — CONFIRM は不要です。
Upbit ドメインの概念
マーケットペアの形式
- フィールド名:
market - 形式:
{QUOTE}-{BASE}— クォート通貨が先、基軸資産が後 - 区切り文字: ハイフン(
-)であり、スラッシュ(/)ではありません - 常に大文字
- クォート通貨:
KRW、BTC、USDT {BASE}-{QUOTE}や{BASE}/{QUOTE}ではありません — Upbit はほとんどの取引所が採用している慣例的な順序を逆にしています
| マーケット | 意味 |
|---|---|
KRW-BTC | KRW で価格付けされた BTC。Upbit は BTC/KRW や BTC-KRW ではなく KRW-BTC を使用します |
KRW-ETH | KRW で価格付けされた ETH |
KRW-XRP | KRW で価格付けされた XRP |
BTC-ETH | BTC で価格付けされた ETH |
USDT-XRP | USDT で価格付けされた XRP |
口座残高フィールド
accounts list の各エントリ:
| フィールド | 説明 |
|---|---|
currency | 資産コード (例: KRW、BTC、ETH) |
balance | 利用可能残高 (未約定注文に含まれないもの) |
locked | 現在、未約定注文または出金でロックされている残高 |
avg_buy_price | 平均購入価格 (10 進数文字列) |
unit_currency | avg_buy_price の基準通貨 (例: KRW、BTC) |
総保有量 = balance + locked
注文タイプ (ord_type)
ord_type | 説明 | 必須 | 設定してはいけない項目 |
|---|---|---|---|
limit | 指定価格での指値注文 | price、volume | — |
price | 成行買い — 固定のクォート金額を消費 | price | volume |
market | 成行売り — 固定の基軸資産数量を売却 | volume | price |
best | 最良の利用可能価格 (下記のルールを参照) | 下記を参照 | 下記を参照 |
best 注文のルール:
time_in_forceはiocまたはfokである必要があります (post_onlyは不可)side=bid(買い) の場合:priceが必要で、volumeは省略する必要がありますside=ask(売り) の場合:volumeが必要で、priceは省略する必要があります
post_only + smp_type の競合: この 2 つは排他的であり、両方を設定しないでください。
side の値
side | 意味 |
|---|---|
bid | 買い |
ask | 売り |
注文ステータス
| ステータス | 意味 |
|---|---|
wait | 約定待ち |
watch | 予約待ち (逆指値注文) |
done | 完全約定 |
cancel | キャンセル済み |
注文手数料フィールド
| フィールド | 説明 |
|---|---|
reserved_fee | 注文時に確保された手数料の合計 |
paid_fee | すでに請求された手数料 (部分約定の場合) |
remaining_fee | reserved_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"
出金 — マルチチェーン資産
複数のネットワークで利用可能な資産 (例: USDT) の場合、ブロックチェーンを指定するために net_type が必要です。出金前に withdraws list-coin-addresses を使用して、サポートされるネットワークとアドレスを確認してください:
upbit withdraws list-coin-addresses --currency "USDT"
出金 — セカンダリアドレス
一部の資産では、メインアドレスに加えてセカンダリアドレス (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 の出金許可リストに登録されていません。
出金アドレスを登録するには、お使いの環境の許可リスト管理ページにアクセスしてください:
登録後、withdraws list-coin-addresses を実行してアドレスが表示されることを確認してから再試行してください。
入金 / 出金ステータス
| ステータス | 意味 |
|---|---|
PROCESSING | 処理中 |
ACCEPTED | 完了 |
CANCELLED | キャンセル済み |
REJECTED | 拒否済み |
TRAVEL_RULE_SUSPECTED | Travel 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: リクエストあたり最大 500cursor: 最後の結果のsequential_idを渡すと次ページへ進みますdays_ago: 1〜7 の整数 (UTC ベースの日オフセット)
ティッカーの主要フィールド
| フィールド | 説明 |
|---|---|
trade_price | 現在 (最新) 価格 |
acc_trade_price_24h | 24 時間の累計取引金額 |
acc_trade_volume_24h | 24 時間の累計取引量 |
change | 前日終値に対する RISE、EVEN、または FALL |
signed_change_price | 符号付きの絶対変化額 (下落時は負の値) |
highest_52_week_price / lowest_52_week_price | 52 週間の範囲 |
価格方向の列挙型 (change、ask_bid)
change の値 | 意味 |
|---|---|
RISE | 前日終値より高い価格 |
EVEN | 前日終値と同じ |
FALL | 前日終値より低い価格 |
ask_bid の値 | 意味 |
|---|---|
ASK | 売り注文によって成立した取引 |
BID | 買い注文によって成立した取引 |
単位とフォーマット
| 値 | 単位 | フォーマット |
|---|---|---|
volume | 基軸資産の数量 | 10 進数文字列 (例: "0.01") |
price (指値) | クォート通貨での 1 単位あたりの価格 | 10 進数文字列 (例: "140000000") |
price (成行買い) | 使用するクォート通貨の合計額 | 10 進数文字列 (例: "10000") |
| 手数料フィールド | クォート通貨の金額 | 10 進数文字列 |
timestamp | エポックからのミリ秒 | 整数 |
created_at / done_at | KST オフセット付きの ISO 8601 | 文字列 (例: 2024-01-01T09:00:00+09:00) |
trade_date | UTC 日付 | 文字列 yyyyMMdd |
trade_time | UTC 時刻 | 文字列 HHmmss (24 時間制) |
| 手数料率 | 10 進数 (0.05% = "0.0005") | 10 進数文字列 |
日付の境界 (opening_price、acc_trade_price など) は KST ではなく UTC 00:00 に基づきます。
コマンドリファレンス
リソースの詳細なフラグ情報が必要な場合は、対応するリファレンスファイルを参照してください。
| リソース | サブコマンド | リファレンス |
|---|---|---|
orders | create, test-create, retrieve, list-open, list-closed, list-by-uuids, cancel, cancel-and-new, cancel-by-uuids, cancel-open, retrieve-chance | references/orders.md |
tickers | list-by-quote-currencies, list-by-trading-pairs | references/tickers.md |
candles | list-minutes, list-days, list-weeks, list-months, list-years, list-seconds | references/candles.md |
orderbooks | list, list-instruments | references/orderbooks.md |
trades | list | references/trades.md |
trading-pairs | list | references/trading-pairs.md |
withdraws | retrieve, list, cancel-withdrawal, create-withdrawal, create-krw-withdrawal, list-coin-addresses, retrieve-chance | references/withdraws.md |
deposits | retrieve, list, create-coin-address, deposit-krw, list-coin-addresses, retrieve-chance, retrieve-coin-address | references/deposits.md |
travel-rule | list-vasps, verify-deposit-by-txid, verify-deposit-by-uuid | references/travel-rule.md |
accounts / api-keys / wallet-status | list | references/account.md |
| 出力とフィルタリング | --format, --transform, GJSON, debug, auto-paging | references/output.md |
| 韓国語 ↔ 英語用語集 | 用語の翻訳、フィールド名の韓国語 ↔ 英語マッピング | references/glossary.md |
| CLI のセットアップと認証情報 | インストール、環境の選択、API キーの設定、config set | references/setup.md |
リファレンスファイルに記載されていないフラグについては、次を実行してください: upbit <resource> <command> --help
環境
upbit accounts list # kr (default)
upbit accounts list --environment sg # sg | id | th
upbit accounts list --base-url <url> # custom base URL