Auditsfreqtrade/freqtrade › Binance.US

Bot × exchange

Does freqtrade work with Binance.US?

The freqtrade README does not name Binance.US directly, but it names ccxt, the exchange library that ships a Binance.US adapter. Whether the bot's own code handles Binance.US's rules (symbols, order types, rate limits) is not something a README scan can tell. We did not run the bot against Binance.US: this page reports what the public code says and what the exchange itself publishes.

Binance.US facts

CoinGecko trust score
9 / 10 · rank 14
Country
United States
Established
2019
24h volume (BTC, normalized)
0
Tradable pairs
265
Quote currencies
BTC, USD, USDC, USDT
Order types (BTCUSD)
LIMIT, LIMIT_MAKER, MARKET, STOP_LOSS, STOP_LOSS_LIMIT, TAKE_PROFIT, TAKE_PROFIT_LIMIT
Markets
spot only: no futures, no margin
Puerto Rico residents
Accepted, in writing (source, 2026-09-17)
Fees
0 % maker / 0.02 % taker on spot (source, April 2026)
Official API
Yes: REST and websocket, HMAC-signed private endpoints (source, 2026-09-17)

Exchange data: CoinGecko public API and the exchange's own endpoints, 2026-09-17. More on the Binance.US page.

What the audit says about running it live

From the freqtrade audit (2026-09-17), the controls that matter most once a live API key is connected:

ControlVerdictEvidence
API key permissionsPartialdocs/exchanges.md, Gate.io section ('Spot Trade'/'Perpetual Futures' RW + 'Wallet' read-only + 'Account' read-only) and Bybit section ('Read-write, Contract-Orders, Contract-Positions... We do strongly recommend to limit all API keys to the IP you're going to use it from.') -- same URL as above
Orphaned stop-lossPartialdocs/stoploss.md ('stoploss_on_exchange': False default; note on bot recreating a manually-cancelled exchange stop) -- https://raw.githubusercontent.com/freqtrade/freqtrade/3774521e7028fa666770e7c7a8da323af5c4cefa/docs/stoploss.md
Websocket and data reconnectionPresentfreqtrade/exchange/common.py (retrier / retrier_async decorators, API_RETRY_COUNT=4, calculate_backoff); freqtrade/freqtradebot.py (daily self._schedule.every().day.at('00:02').do(self.exchange.ws_connection_reset)) -- both at commit 3774521e7028fa666770e7c7a8da323af5c4cefa
Order rejection handlingPresentfreqtrade/exchange/common.py, @retrier / @retrier_async decorators (API_RETRY_COUNT=4, calculate_backoff exponential delay, logs 'Retrying still for N times' / 'Giving up.') -- https://raw.githubusercontent.com/freqtrade/freqtrade/3774521e7028fa666770e7c7a8da323af5c4cefa/freqtrade/exchange/common.py
Position reconciliation with the exchangePartialfreqtrade/freqtradebot.py, FreqtradeBot.startup() calling self.startup_update_open_orders() with code comment 'Only update open orders on startup' -- https://raw.githubusercontent.com/freqtrade/freqtrade/3774521e7028fa666770e7c7a8da323af5c4cefa/freqtrade/freqtradebot.py

Before you connect a key