Binance provides dedicated market maker subdomains for qualified futures traders who participate in the Binance Futures Liquidity Provider Program. These endpoints are hosted on separate infrastructure from the standard public API and are designed to offer improved latency for high-frequency trading workflows. The Binance SDK exposes market maker endpoints through a single constructor option that can be set on both REST and WebSocket clients.Documentation Index
Fetch the complete documentation index at: https://mintlify.com/tiagosiebler/binance/llms.txt
Use this file to discover all available pages before exploring further.
Market maker endpoints are only available to traders who have enrolled in and qualified for at least one of Binance’s Futures Liquidity Provider Programs. If you are not enrolled,
useMMSubdomain: true will result in connection errors. More information on eligibility can be found in the Binance FAQ.What Are Market Maker Endpoints?
Standard Binance futures API calls are routed throughfapi.binance.com (USD-M) and dapi.binance.com (COIN-M). The market maker subdomains — fapi-mm.binance.com and dapi-mm.binance.com — are dedicated infrastructure paths that serve the same API surface but with routing optimised for the lower-latency requirements of high-frequency market making.
The SDK resolves the correct URL automatically when useMMSubdomain: true is set:
| Client | Standard endpoint | Market maker endpoint |
|---|---|---|
USDMClient | https://fapi.binance.com | https://fapi-mm.binance.com |
CoinMClient | https://dapi.binance.com | https://dapi-mm.binance.com |
WebsocketClient (USD-M) | Standard WS endpoint | MM WS endpoint |
WebsocketClient (COIN-M) | Standard WS endpoint | MM WS endpoint |
Market maker endpoints are available for USD-M and COIN-M futures only.
MainClient (Spot), PortfolioClient, and testnet clients do not have corresponding market maker subdomains. Setting useMMSubdomain: true has no effect on those clients — they fall back to the standard endpoint silently.Enabling Market Maker Endpoints
SetuseMMSubdomain: true in the constructor options of USDMClient, CoinMClient, or WebsocketClient:
Compatibility with Other Options
useMMSubdomain can be combined with other client options, with two important restrictions:
- Not compatible with
testnet: true: There are no market maker endpoints for testnet (usdmtest,coinmtest). Iftestnet: trueis set, the MM URL lookup returnsundefinedand the client falls back to the standard testnet URL. Do not combine these options with the expectation of using MM endpoints. - Not compatible with
demoTrading: true: Demo trading endpoints also do not have market maker variants. The same fallback behaviour applies.
Best Practices for Market Making
Following Binance’s guidance and the SDK’s capabilities, these practices are recommended for production market making integrations:Use Ed25519 keys
Ed25519 authentication is recommended for latency-sensitive integrations. With Ed25519, the WebSocket API can authenticate a session once at connection time rather than signing every individual request. This removes per-request signing overhead from the hot path. Pass your Ed25519 PEM private key as
api_secret — the SDK detects the key type automatically.Enable HTTP keep-alive for REST
Set
keepAlive: true on the REST client to reuse TCP connections. Each new connection involves a TLS handshake that adds latency. Keep-alive eliminates this overhead on subsequent requests from the same client instance.Keep WebSocket connections alive
Use the SDK’s built-in heartbeat mechanism (enabled by default) to detect and recover from silent disconnections. Do not set
disableHeartbeat: true in production. For critical paths, listen for reconnecting and reconnected events and reconcile state via REST on reconnect.Verify eligibility before deploying
The MM subdomain will reject connections from accounts that are not enrolled in the Liquidity Provider Program. Test connectivity with a simple public endpoint call (e.g.
client.getExchangeInfo()) immediately after instantiating the MM client to confirm access before placing orders.