Understanding Binance fees without guessing at numbers
How Binance fees work: maker and taker pricing, tier levels, withdrawal network costs, deposit routes, and where to read the authoritative schedule.
The official developer documentation is the only reliable reference. Here is how the API fits together and how to keep keys safe.
Binance publishes public API documentation on its own developer portal at developers.binance.com/docs. That portal is the reference for endpoints, parameters, error codes and rate limits, and it is updated as the interface evolves. Anything else you read, including this page, is a summary.
Because the API changes, treat any tutorial older than the current documentation with suspicion. When a blog example and the official docs disagree, the docs are right, and the difference is usually a renamed parameter or a deprecated endpoint.
The interface splits into two halves. REST endpoints are request-and-response: you ask for an order book snapshot, an account balance or a list of recent trades, and you get an answer. WebSocket streams push continuous updates, such as trade prints or order book changes, which is how most live dashboards stay current without hammering the API.
The usual architecture combines both. A WebSocket subscription keeps your local view of the market fresh, while occasional REST calls handle account state, order placement and anything that must be confirmed rather than streamed.
Both halves are rate limited, and the limits differ by endpoint and by weight. The documentation explains how the weights are measured, and well-behaved clients track their own usage rather than waiting to be throttled.
Keys are generated inside your verified account and are the only way to access private endpoints. Treat a key and its secret exactly like a password, because that is what they are.
The controls that matter are permission scoping and IP restriction. Give a key the minimum it needs — for a market-data consumer that usually means no trading and no withdrawal rights at all — and bind it to a fixed IP address so a leaked key is useless from anywhere else.
Never paste API keys into a chat window, an issue tracker, a screenshot, a public code repository or an online code generator. The most common way API users lose funds is a secret committed to a repository that was public for a few minutes.
Private requests are authenticated with a signature derived from your secret key and the request payload, and they carry a timestamp so the server can reject stale messages. If your server clock drifts, signed requests will start failing for reasons that look unrelated to time, so keep the machine synchronised.
Errors are part of normal operation. Exceeding a rate limit, submitting a quantity below the market's minimum, or using an invalid symbol all produce structured error responses that the documentation defines. A client that handles those paths explicitly is far easier to run than one that treats every failure as fatal.
Idempotency and retry logic deserve attention too. A retry after a timeout can duplicate an order if the first attempt actually succeeded, so check state before resubmitting rather than blindly repeating a request.
Community-maintained libraries exist for Python, JavaScript, Go and other languages, and they can save time by handling authentication, signing and reconnection. They are not published by Binance, which means their quality, maintenance and security are the responsibility of whoever wrote them.
If you use one, read the code before you trust it with a key that can move funds, pin a version rather than tracking the latest, and confirm its behaviour against the official documentation instead of assuming it is current. A library that quietly changes an endpoint or a signature scheme is a common cause of confusing failures.
For automated strategies, the same discipline applies as anywhere else: start with small size, log everything you need to explain a bad outcome later, and never let a script hold permissions broader than the strategy requires.
On the Binance developer portal at developers.binance.com/docs. It covers endpoints, authentication, rate limits and error codes for each product line, and it is updated as the interface changes.
Public market data endpoints are available without an account. Private endpoints that read your balance or place orders require an account, identity verification and an API key with the relevant permissions.
Both, usually. REST fits request-and-response tasks such as placing an order or reading account state, while WebSocket streams continuous market updates without repeated polling.
Community libraries exist and can help, but they are not published by Binance. Review the code before giving a library permission to trade, pin the version you tested, and verify behaviour against the official documentation.
Only when the strategy genuinely needs it, and never with withdrawal rights. Restrict the key by permission and by IP address, store the secret outside your source code, and rotate it if you suspect exposure.
Common causes are a clock that is not synchronised, a secret that has been rotated or trimmed, a payload that does not match what was signed, and rate limits being exceeded. The documentation defines the error codes that distinguish them.
How Binance fees work: maker and taker pricing, tier levels, withdrawal network costs, deposit routes, and where to read the authoritative schedule.
Track live crypto market data for Bitcoin, Ethereum, Tether, BNB and Dogecoin. See what a market page really shows and where official quotes come from.
How the Binance Web3 Wallet works, what self-custody really means, how to set it up safely, and the mistakes that lose funds in decentralised apps.
Thirty questions answered in plain English, covering the official Binance site, apps, login, fees, markets, conversion, security and this site's own policies.
How to recognise the official Binance website, what it offers, and how to spot lookalike domains that imitate it. Independent guide, no affiliation.