Type/to search
Built-in Functions
Structures
Built-in Variables and Constants
Conventions
Exchanges
Capability Matrix
Centralized Exchanges
AscendEx
Backpack
BigONE
Binance
Bitfinex
bitFlyer
Bitget
Bithumb
Bitstamp
Bybit
Coincheck
Coinone
CoinW
Crypto.com
DeepCoin
Deribit
DigiFinex
Gate
Gemini
HashKey
HitBTC
HTX
Korbit
Kraken
KuCoin
LBank
MEXC
OKX
Poloniex
Upbit
WEEX
WOO X
Zaif
Decentralized Exchanges (DEX)
Prediction Markets
Securities and Futures
On-chain & Custom

Spot trading on the Korean exchange Bithumb, using Bithumb's new API (Upbit-style, JWT authentication). Only spot pairs are served and conditional orders are not supported. Access uses an API Key and Secret Key.

Names and Configuration

exchange.GetName(): Bithumb (Spot).

FieldRequired
Access KeyYes
Secret KeyYes

Trading Pairs and Contract Codes

Pair examples: BTC_KRW, ETH_KRW

Trading pairs are written BASE_QUOTE; Bithumb 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.ModifyOrder, exchange.CreateConditionOrder, exchange.ModifyConditionOrder, exchange.CancelConditionOrder, exchange.GetConditionOrder, exchange.GetConditionOrders, exchange.GetHistoryConditionOrders.

Served through a fallback:

  • exchange.GetRecords: Native periods are 1m, 3m, 5m, 10m, 15m, 30m, 1h, 4h, 1d, 1w, 1M; other periods are synthesized by the docker.

Notes
  • The amount of a market buy order is the quote currency to spend (placed with Bithumb's order_type=price); a market sell order uses the base currency amount. In order queries Price of market orders is -1, and Amount of a market buy placed by amount is the order amount.
  • Limit orders support the tif values IOC (ioc/fak), FOK and post-only (postOnly), sent as Bithumb's time_in_force values ioc, fok and post_only. Bithumb only allows them on limit orders in KRW markets: market orders, non-KRW markets, or postOnly together with IOC/FOK fail without sending the order. An IOC order whose remainder was canceled after a partial fill is recorded as done by the exchange and is reported as canceled (DealAmount is the filled amount).
  • A custom order id (clientId) is sent as Bithumb's client_order_id (1-36 characters, letters, digits, - and _ only; anything else fails); the returned and queried order ID is still the exchange order ID, and order queries return the custom id as sent.
  • In exchange.GetMarkets() the price precision of KRW markets is derived from the price band of the latest price (Bithumb's KRW tick size depends on the price), the amount step is 0.00000001 and the minimum order value (MinNotional) is 5000 KRW; other markets give no price/amount precision.
  • The batch data of exchange.GetTickers() has no order book, so Buy and Sell are 0; exchange.GetTicker() queries the order book separately for the best bid and ask.
  • The order list endpoints carry no fill details: for orders with fills, AvgPrice in exchange.GetOrders() and exchange.GetHistoryOrders() is the executed total returned by the exchange (executed_funds) divided by the filled amount; when that total is missing it is the order price for limit orders and 0 for market orders. Use exchange.GetOrder() for the exact average fill price.
  • exchange.GetHistoryOrders() returns filled and canceled orders, at most 100 by default; since is applied locally to the order creation time.