CCXT

CCXT vs the Binance.US API

Binance.US is a regional entity of Binance. What CCXT's binanceus class covers, how it differs from binance, and where the full comparison lives.

binanceus is a regional entity of Binance — the separate US entity of Binance, operated under US regulation with its own domain, its own listings and its own API host.

Because it shares an API dialect with Binance, CCXT implements it by extending its binance class. Everything in the CCXT vs the Binance API comparison applies here — this page covers only what is specific to binanceus.

What is different

A different venue with a different market list, not a flag on the main exchange. Accounts and API keys are not shared with binance.com, and the traded pairs are a subset. CCXT ships it as its own id for exactly that reason — ccxt.binance() credentials will not work against it.

The instrument list is materially smaller than binance.com, so code that hardcodes a symbol available on the global venue may not find it here. Call load_markets() and check.

What CCXT gives you here

binanceus
Unified capabilities103 (inherited from binance plus its own overrides)
fetch* methods50
WebSocket watch* methods24
Raw endpoints as implicit methods860
Testnet via setSandboxModeno
LanguagesTypeScript, JavaScript, Python, PHP, C#/.NET, Go, Java
LicenceMIT

Figures verified September 2026 against CCXT v4.5.77, read from the source tree with build/comparisons-facts.cjs. Counts include everything inherited from binance.

Using it

The class name is the only thing that changes — every unified method behaves as it does everywhere else in CCXT:

import ccxt

exchange = ccxt.binanceus({'apiKey': '...', 'secret': '...'})
markets = exchange.load_markets()
ticker = exchange.fetch_ticker(list(markets)[0])

Because binanceus lists a different market set from binance, call load_markets() and pick symbols from it rather than assuming a pair exists.

Streaming works the same way:

import ccxt.pro, asyncio

async def main():
    exchange = ccxt.pro.binanceus()
    while True:
        orderbook = await exchange.watch_order_book('BTC/USDT')
        print(orderbook['bids'][0], orderbook['asks'][0])

asyncio.run(main())

Should you use this class or the parent?

Use binanceus when you hold an account with Binance.US specifically. Use binance when you hold an account with the global venue. They are different venues with separate credentials, so this is not a preference — it follows from where your account is.

FAQ

Do my binance API keys work with binanceus? No. It is a separate legal entity with separate accounts; you need keys issued by Binance.US.

Does binanceus support the full unified API? It inherits 103 unified capabilities from binance. Where the venue does not offer a feature, the corresponding has flag is turned off, and the method raises NotSupported rather than failing quietly. Check exchange.has at runtime.

Can I reach Binance.US-specific endpoints? Yes — all 860 endpoints in this class's api block are generated as implicit methods, with signing, rate limiting and error mapping applied. The mechanism is documented on the binance implicit API page; this venue's own endpoint list differs slightly from the parent's.

Is CCXT free? Yes. MIT-licensed, including the WebSocket support.

Next steps

On this page