Upbit
Spot trading on the Korean exchange Upbit (API address https://api.upbit.com): the KRW, BTC and USDT markets. It uses REST only, with no market-data or order push. Private endpoints are signed with an Upbit API key (Access Key and Secret Key). Conditional orders are not supported.
Names and Configuration
exchange.GetName(): Upbit (Spot).
| Field | Required |
|---|---|
| Access Key | Yes |
| Secret Key | Yes |
Trading Pairs and Contract Codes
Pair examples: BTC_KRW, ETH_BTC, XRP_USDT
Trading pairs are written BASE_QUOTE; Upbit native market codes put the quote currency first (BTC_KRW is KRW-BTC), and the connector converts between them.
Function Support
Not supported (the call fails with an error and returns null): exchange.CreateConditionOrder, exchange.ModifyConditionOrder, exchange.CancelConditionOrder, exchange.GetConditionOrder, exchange.GetConditionOrders, exchange.GetHistoryConditionOrders.
Served through a fallback:
exchange.GetRecords: Native periods are 1s, 1m, 3m, 5m, 10m, 15m, 30m, 1h, 4h, 1d, 1w, 1M, 1y; other periods are synthesized by the docker.
Notes
- The amount of a market buy order is the quote currency to spend (placed as Upbit's
pricewithord_typeprice); a market sell order uses the base-currency quantity. - Limit orders support IOC, FOK and maker-only (
postOnly). exchange.ModifyOrder()uses Upbit's cancel-and-new endpoint (cancel_and_new): the exchange atomically cancels the original order and places a new one, and the new order ID is returned; use the new ID from then on. The new order stays a limit order and needs a new price greater than 0; a price that is not positive is an error and never turns it into a market order. When the amount is not changed (not positive), the new order takes the original order's remaining amount.exchange.ModifyOrder()never turns an order into a market order.- The batch tickers of
exchange.GetTickers()carry no order book, soBuyandSellare 0. exchange.GetHistoryOrders()returns filled and canceled orders; withoutlimit, at most 100 orders are returned.