GUIDES

Connecting Binance to TraderWe for market data, recording and backtesting

Contents
This guide covers connecting Binance so TraderWe can receive live market data, record it, and backtest against your own recordings. One thing to be clear about first: order routing to Binance is not supported yet. Market data, recording, backtesting and paper trading all work. If you need to send live orders today, our setup guides for IBKR, Alpaca, Coinbase, Schwab and Kraken Futures cover venues where order routing is implemented and verified.

1. Why Binance for data

From our own measurement of one full day across five venues, Binance perpetual futures had: - The widest symbol list of the five (64 symbols in our universe) - The tightest median spread at 3.0 basis points - The most stable spread through the day — between 1.5 and 1.8 bp across all 24 hours That last point is worth dwelling on. Crypto has no session, and Binance perpetuals showed essentially no time-of-day pattern at all. For research that means you do not need a time-of-day cost model, which removes a whole category of complication. The counterpoint, also from our measurement: Binance was mid-table on depth ($24k median across ten levels) and on quote staleness (9.8% of minutes with no update for five minutes or more). Tight quotes and deep books are different properties.

2. What you need

- A Binance account - An API key with read-only permissions Read-only is not a limitation here, it is the correct configuration. TraderWe needs market data from Binance and nothing else.

3. Create the key

In your Binance account, open API Management and create a key. - Enable Reading only - Leave spot and futures trading permissions off - Restrict the key to your IP address if your setup has a stable one Copy the key and the secret. The secret is shown once and cannot be retrieved later. Two habits worth adopting while you are here. Use a separate key for each purpose, so revoking one does not take down everything. And find the revoke button now, before you need it — the moment you need it is not the moment to be searching menus.

4. Enter it in TraderWe

Settings → Binance. Paste the key and secret, press Connect. If the connection fails, the two usual causes are a mistyped secret (it is long and the paste often picks up whitespace) and an IP restriction that does not match the machine you are actually running on.

5. Choose what to follow

Scanner ranks by turnover or change rate and follows the top names. Good for finding movement; the list changes through the day. Manual list means you name the symbols. Better when researching something specific, because the file contents stay comparable day to day. Binance quotes perpetuals in USDT rather than USD, and symbols carry no separator: BTCUSDT, ETHUSDT, SOLUSDT. This matters when comparing venues, the same coin is BTC-USD on Coinbase, PF_XBTUSD on Kraken Futures, and BTC-PERP-INTX on Coinbase International. A strategy comparing across venues has to account for the quote asset, not just the coin.

6. Verify you are actually receiving data

Do not trust a green badge. A connection status reflects the last handshake; it does not promise the next message. Watch the status bar instead. It shows feed lag (exchange timestamp to arrival), received ticks per second, and marks the stream stale when nothing has arrived for seven seconds. A quiet market and a dead feed look identical on a chart and completely different on that bar. The habit that catches the most: before a session that matters, confirm data is arriving on a symbol you know is active. Fifteen seconds, and it catches the mornings where everything looks connected and nothing is flowing.

7. Rate limits are a budget, not an error

Exchange APIs throttle, and the symptom is usually intermittent missing updates rather than a clear error. It looks like a bug in your setup and it is not. The useful mental model is a bucket that refills at a fixed rate where every request costs a token. Bursting is fine while the bucket has tokens; sustained demand above the refill rate empties it and then everything queues regardless of urgency. Which reframes the question from "how do I handle the error" to "what am I spending tokens on". Polling a status endpoint every second when the status changes every minute spends sixty tokens to learn one thing.

8. Common problems

Connected but no data. Check that the symbols you selected exist on the market you selected — spot and perpetual symbol lists differ, and a symbol that exists on one may not on the other. Data stops after a while. Usually rate limiting. Back off rather than retrying immediately, and treat a gap in updates as a state your logic handles rather than an impossibility. Different volume than another venue reports. Expected, and larger than most people assume. Venue coverage and aggregation differ. Research on the feed you will trade on. Symbols disappear from the universe. If you are using the scanner, this is by design, the ranking changes. Switch to a manual list if you need stability.

9. Next steps

With data arriving, the next step is recording it so you accumulate history you own. Our guide on recording your own crypto market data covers universe selection, disk sizing, and the checks worth running on the first day. If you want to try a backtest before setting up your own recording, the Downloads board has one full day of Binance perpetual data — 64 symbols, free, no sign-in, and our walkthrough takes it from download to first result.

Related reading

← All guides

Originally published by TraderWe on July 28, 2026. You may quote and link to this page. Republishing the full text without a link back to the original is not permitted.

5 replies

Q
QuietVol· Jul 2026 ago
The stable-through-the-day spread is the part I keep turning over — if there's genuinely no session structure, the spread distribution should look roughly the same sliced any way I like, not just by hour. Did you check whether that holds by day of week too, or only intraday?
BacktestBetty· Jul 2026 ago
Three things before I trust my own recordings here: (1) I want to know how the staleness minutes are handled in a backtest, dropped, forward-filled, or flagged, because each choice quietly changes the results; (2) tight median spread with mid-table depth means my fills depend on size, so I'd fit cost per size bucket rather than one number; (3) the widest symbol list is exactly the kind of thing that tempts me into scanning everything until something looks good, which is how I overfit last time. Recording first and only picking symbols after I've written the rule down is the plan.
DataDrivenDee· Jul 2026 ago
Genuinely curious how you'd separate "no time-of-day pattern" from "our one day happened to be calm" — is there a way to test that with recordings a normal user would have, or does it need a much longer sample than most of us keep?
M
MomoQueen· Jul 2026 ago
No live orders yet is fine by me, I'll just record and paper it until then! Honestly the read-only key requirement is the bit I want everyone to actually read twice.
TraderWeTraderWe Team· Jul 2026 ago
Fair hit. That line rests on one day, and one day cannot separate "no pattern" from "a calm Tuesday". The check does not need a long sample so much as several separate ones. Record the same hours on a handful of days that are not next to each other, take the per-hour median spread for each day, and see whether the hour-to-hour ordering repeats. If the flat shape is real it survives; if it was one quiet day, the days disagree with each other. A week of recordings shows that, and you already produce them by leaving the recorder on. We should have put "one day" in that sentence, not only in the method line.
Sign in to reply →