DN AI Trading Beginner Series · Reviewed 7 November 2026
What matters
Another API key does not automatically give your AI trading bot another independent allowance. Binance Spot, for example, measures request weight against an IP address. Kraken’s private REST counter is separate per key. The useful question is which counter applies to the particular request, and what else shares it. [1][2]
A single workflow can meet several restrictions. A key-specific allowance can have room while a shared account, network or platform constraint remains binding. Changing a credential label does not establish that any of those other boundaries changed.
DN’s practical test: map a small, specified request batch to each applicable counter. Keep its unit, owner, accounting rule and usage evidence together. The free DN Shared API Budget Map below records two counters independently and leaves missing information unresolved.
Imagine a fictional setup in which one bot appears to work, then a second bot starts receiving rate-limit errors. Giving them different names and credentials may make the dashboard tidier. It does not answer whether their requests still leave through the same IP address, affect the same account or use a shared service.
The previous guide examined what an order instruction means. This guide asks a separate operational question: which budgets does a request touch before you can assess its capacity implications? It focuses on beginner spot-trading workflows and the surrounding automation services. It does not rank exchanges by speed or prescribe a retry loop.
Start with the counter, not the bot name
A request class is a specific operation you want to account for, such as one account-status query with defined parameters. A counter is the particular measure against which that operation is assessed. Its scope identifies the bucket: a key, an IP address, an account, an account-and-pair combination or another documented boundary.
The unit tells you what is counted. An HTTP request, a weighted request unit, an alert trigger and an open order are different quantities. The accounting rule tells you how that quantity changes: it might reset at a fixed boundary, decay over time, refill toward a ceiling or depend on order events.
Those distinctions make a claim such as “the API allows 100” incomplete. One hundred of what, for which identity, under which rule, and over which period? A useful record can answer those questions without exposing a secret key.
| Documented family | Boundary to preserve in your record |
|---|---|
| Binance Spot REST weight | IP usage. Separate keys do not by themselves isolate the same-IP counter. [1] |
| Binance Spot ORDERS | The (sub)account across keys, IPs and APIs. This is a state-sensitive counter, not simply current open orders. [3] |
| Kraken private Spot REST | Separate key counters with decay; order operations use another limiter. [2] |
| Kraken Spot trading | Account and pair; the engine’s limits span REST, WebSocket and FIX. [4][5] |
| Coinbase Exchange REST | Public IP and private profile buckets. This evidence concerns Exchange, not Advanced Trade. [6] |
| 3Commas platform API | Key and IP weighted allowances, plus a separate IP burst restriction. These are platform-layer limits. [7] |
| TradingView alerts | Regular alerts, whole watchlist alerts and individual watchlist symbols have distinct trigger restrictions. [8] |
Use this table to identify questions, not to copy numerical quotas. The exact product, route and current documentation still govern your setup. A row for one service also does not account for every other service between the signal and the exchange.
Build a small map you can actually review
- Name two concrete request classes. Enter how many of each belong to the batch you are examining. A strategy instruction such as “open a position” is too broad if the resulting requests are still unknown.
- Name two counters separately. Keep each scope, unit, accounting window and observed usage attached to its own row. Two rows are a partial view, not a claim that your workflow has only two limits.
- Decide whether each request counts in each row. Choose counted, explicitly not counted, or unknown. Supply a cost only when the relevant evidence establishes one.
The numerical comparison is deliberately narrow: one unchanged, reader-declared fixed window, with the snapshot and batch in the same bucket. Other counter types remain visible but unmodeled. Start with a fictional example if you want to see the distinction before recording your own assumptions.
Two counters, separate records
DN Shared API Budget Map
Map one planned batch against two reader-defined counters. A request can consume both counters, while each keeps its own scope, units and window.
This tool calculates only a declared flat fixed-window model. It does not measure live capacity, suggest retries or approve order actions.
Examples use invented limits and weights. Selecting an example here does not change the record until you load it.
1. Name the batch
Enter whole request counts for this one batch, not a requests-per-second rate. Include relevant reads or control operations; the map does not add them for you.
Optional record label
The counter record is incomplete
Read each counter separately. These are reader-declared scopes, windows and units; no provider capacity or order action is approved.
- Counter 1: unresolved; the record is not complete.
- Counter 2: unresolved; the record is not complete.
2. Keep the counters separate
Open each card to enter its scope, window, numbers and request incidence. “Reader-declared yes” records your assertion; labels and calculations do not verify provider rules.
Counter 1: not named
Edit counter 1 inputs
These are reader declarations. Check the exact counter mechanism, scope and window before selecting yes. Naming a shared bucket does not verify it.
Unresolved inputs
The accounting regime is unknown. A name or window label cannot establish flat-window behavior.
- Batch increment
- Unknown
- Units not named
- Projected usage
- Unknown
- Units not named
- Remaining
- Unknown
- Units not named
- Allowance margin
- Unknown
- Units not named
Ceiling comparison: unresolved; a required input or declaration is unknown.
Planning-allowance comparison: unresolved; a required input or declaration is unknown.
This entered counter record is incomplete. Known calculations or findings above do not fill its missing facts.
Unresolved fields for this record
- Counter 1 name is unknown.
- Counter 1 scope label is unknown.
- Counter 1 window label is unknown.
- Counter 1 unit label is unknown.
- Counter 1 accounting regime is unknown.
- Counter 1 same-scope declaration is unknown.
- Counter 1 same-window declaration is unknown.
- Counter 1 ceiling is unknown.
- Counter 1 current usage is unknown.
- Counter 1 planning allowance is unknown.
- Counter 1 incidence for request class 1 is unknown.
- Counter 1 incidence for request class 2 is unknown.
- Request class 1 name is unknown.
- Request class 1 count is unknown.
- Request class 2 name is unknown.
- Request class 2 count is unknown.
Show this counter’s arithmetic
- Request class 1: incidence unknown; no zero contribution is inferred.
- Request class 2: incidence unknown; no zero contribution is inferred.
Incremental = the two applied contributions. Projected = current usage + incremental. Remaining = ceiling − projected. Allowance margin = remaining − planning allowance.
All four formulas use this counter’s units and fixed window only. An unknown contribution is not replaced by zero.
No unlisted/concurrent traffic or reset between the entered snapshot and batch is modeled. The reserve is only a reader planning allowance.
Counter 2: not named
Edit counter 2 inputs
These are reader declarations. Check the exact counter mechanism, scope and window before selecting yes. Naming a shared bucket does not verify it.
Unresolved inputs
The accounting regime is unknown. A name or window label cannot establish flat-window behavior.
- Batch increment
- Unknown
- Units not named
- Projected usage
- Unknown
- Units not named
- Remaining
- Unknown
- Units not named
- Allowance margin
- Unknown
- Units not named
Ceiling comparison: unresolved; a required input or declaration is unknown.
Planning-allowance comparison: unresolved; a required input or declaration is unknown.
This entered counter record is incomplete. Known calculations or findings above do not fill its missing facts.
Unresolved fields for this record
- Counter 2 name is unknown.
- Counter 2 scope label is unknown.
- Counter 2 window label is unknown.
- Counter 2 unit label is unknown.
- Counter 2 accounting regime is unknown.
- Counter 2 same-scope declaration is unknown.
- Counter 2 same-window declaration is unknown.
- Counter 2 ceiling is unknown.
- Counter 2 current usage is unknown.
- Counter 2 planning allowance is unknown.
- Counter 2 incidence for request class 1 is unknown.
- Counter 2 incidence for request class 2 is unknown.
- Request class 1 name is unknown.
- Request class 1 count is unknown.
- Request class 2 name is unknown.
- Request class 2 count is unknown.
Show this counter’s arithmetic
- Request class 1: incidence unknown; no zero contribution is inferred.
- Request class 2: incidence unknown; no zero contribution is inferred.
Incremental = the two applied contributions. Projected = current usage + incremental. Remaining = ceiling − projected. Allowance margin = remaining − planning allowance.
All four formulas use this counter’s units and fixed window only. An unknown contribution is not replaced by zero.
No unlisted/concurrent traffic or reset between the entered snapshot and batch is modeled. The reserve is only a reader planning allowance.
No protected reserve or order approval
The allowance is your planning choice. It is not provider-enforced cancellation capacity. Other traffic and limits can still matter, and nothing here authorizes retrying an order with an unresolved outcome.
Evidence still needed
- Identify the exact API route and counter mechanism, its current unit weights and its enforcement scope.
- Establish whether other keys, bots, processes, connections or accounts share the entered bucket. Names and labels do not establish this.
- Verify the usage snapshot and limit against the same scope and accounting window; account for unlisted traffic, resets and observations that themselves consume capacity.
- Check all other applicable limits independently. Two entered counters are not a complete inventory of provider constraints.
Model boundaries
- Only a flat fixed-window counter is modeled. Rolling windows, decay, refill, state-dependent order counts and other mechanisms are not approximated.
- Each counter retains its own units and window. No requests-per-second conversion, combined quota, retry calculation, ranking or throughput prediction is made.
- The snapshot and entire entered batch must refer to the same declared scope and fixed window. No reset or additional unlisted/concurrent traffic is modeled.
- The reserve is a reader planning allowance. It is not provider-enforced or protected cancellation capacity and cannot guarantee a cancellation.
- Observing usage, reading order state or other control operations may consume capacity; include them in the relevant request classes when applicable.
- No result authorizes resubmitting an order whose previous outcome is unresolved. No account or venue is connected.
Reference-documentation date: 2026-11-07 (Africa/Johannesburg). This date does not verify your entered limits, weights, usage, incidence, scope or window.
The record stays in this browser. No account, provider or API key is connected.
JavaScript is off. This is the initial unknown record; editing and downloads require JavaScript. The article and model boundaries remain readable.
Read the result literally. “Within entered budgets” describes the numbers on that counter’s card. It does not verify the provider’s current rules, identify every missing counter, reserve capacity or authorize an order. Use ordinary labels only; never paste API keys, secrets or signed request URLs into this worksheet.
1. Describe requests precisely enough to account for them
Start with a short inventory: what initiates work, what operation is requested and what parameters affect that operation. “Bot A checks the market” is not yet a request definition. A query for one market and a query for several markets may be different accounting cases.
There is a concrete example in the current 3Commas market-list endpoint. Its documentation gives different weights for requests covering one exchange and three exchanges. The changing input is part of the cost definition. That example does not establish the formula for another endpoint or a live account allowance. [9]
For your own record, distinguish a request you have observed from one you merely expect a connector to make. If a hosted service accepts one command but its downstream actions are hidden, do not invent a one-command-to-one-exchange-request relationship. Ask for the relevant implementation evidence or leave that mapping unknown.
Include routine account checks and reporting jobs in the inventory, alongside trading-related operations. The worksheet can represent only the two classes you enter; keep a separate list of omitted activity. This makes its limited coverage explicit instead of making a short form appear to cover a whole system.
Record: operation, product, parameter pattern, batch count, evidence source and any unobserved downstream work.
2. Identify who shares each bucket
Write a scope label that another reviewer can understand. “Key A,” “outbound network X” or “account A, pair B” is more useful than “my limit.” A descriptive label is enough for this exercise; the credential itself adds no accounting evidence.
Kraken’s support documentation illustrates why a single provider name is insufficient. Its public Spot Trades and OHLC limits use IP plus pair; other public endpoints use IP. Its private account-management and trading families use other boundaries. An authenticated bot can therefore interact with both credential-related and credential-independent restrictions. [4]
Build a list of possible co-users of each declared bucket: another bot, a reporting process, a manual script or a connector you operate. Mark the list incomplete if the hosting arrangement does not reveal all traffic. A usage snapshot can already contain work that the bot’s own logs do not explain.
The operational question is ownership. Who can explain the counter, coordinate its consumers and provide evidence when usage differs from the plan? Splitting bot names does not assign that responsibility automatically.
Record: bucket identity, known consumers, unknown consumers and the person or service responsible for the evidence.
3. Keep requests, weights and events in separate units
The same batch can contribute different amounts to different counters. Six requests costing two units each contribute twelve units to that counter. The request count is still six. Neither number can be transferred to another row without that row’s own rule.
In the map, “not counted” is an explicit assertion about one request-counter relationship. It is not a statement that the request is free of every restriction. “Unknown” means the relationship has not been established. Substituting zero for an unknown makes a missing fact look like spare capacity.
WebSocket terminology is another source of confusion. Binance Spot market-data streams distinguish client control traffic, including ping/pong and subscription messages, from the updates received by a bot. Connection attempts and stream counts have their own restrictions. These are different measures from the Spot request/response WebSocket API. [10]
Before comparing two values, read their unit labels aloud. “Twenty request-weight units” and “twenty open orders” are not two observations of the same quantity. Even identically named units can belong to different scopes or accounting rules.
Record: the unit for each counter and the evidence for counted, not counted or unknown on each request class.
4. Identify how the counter changes
A fixed-window sum is only one accounting model. Binance’s Spot WebSocket API describes multiple simultaneous intervals with boundary-aligned resets. Exhausting a longer interval can remain binding after a shorter interval resets. The same documentation says request weight is shared across connections from one IP. [11]
Coinbase Exchange documents a token bucket with refill and burst capacity. Those are time-dependent parameters. This article does not transplant that model or its numerical limits into Coinbase Advanced Trade. [6]
Binance’s Spot ORDERS counter has another important distinction: first fills can reduce it, while canceling or expiring an order does not reduce that counter. Treating it as a tally of currently open orders would misstate the rule. [3]
Kraken’s trading counter also involves decay and costs that can depend on order age. Its documentation says fixed increments can apply even when validation fails. A rejected request is therefore not universally a zero-cost event. [5]
The worksheet leaves these time- or state-dependent mechanisms unmodeled. That is useful information: it identifies where a simple addition problem stops being a defensible representation. Do not select “fixed window” merely because a documentation page mentions a minute or displays a reset timestamp.
Record: the accounting rule, the events that change the value and the evidence establishing that the chosen calculation applies.
5. Align the snapshot, scope and batch
A ceiling from one interval cannot be paired with usage from another. Nor can one key’s usage stand in for a shared account or network. For the worksheet’s fixed-window comparison, the entire entered batch must belong to the same accounting window as the usage snapshot.
Keep the source and time of each snapshot in your working notes. A fresh-looking number can still be the wrong measure. If the provider exposes several fields, identify which one belongs to this row before copying it.
The worksheet asks for your scope and window declarations separately. Checking them records what you assert; it does not independently verify either fact. If another process can consume the bucket after the snapshot, the arithmetic remains a conditional scenario. It has not acquired a reservation.
When evidence conflicts, preserve the conflict. At this review, Kraken’s formal REST guide and support page disagree on the cost of some history requests. We do not select a numerical default from that disagreement. The shared statements about scope and decay remain useful, while the disputed cost needs clarification. [2][4]
Record: snapshot source and time, exact counter, applicable window, concurrent-traffic assumption and unresolved documentation questions.
6. Explain exactly what another key would change
Make a before-and-after record. Does the proposed change affect a key-scoped counter, the outbound network, the trading account, the product or none of those? Which existing rows remain the same? Which genuinely require new evidence?
Do not infer a fresh usage value from a fresh label. In the worksheet, renaming “Key A” to “Key B” cannot change the arithmetic. A different snapshot is a separate input that needs its own basis. If the same shared-IP row still applies, its workload does not disappear because another credential is used.
Keep the purpose of a credential change explicit. Separating access responsibilities and establishing independent rate capacity are different questions. A change can serve an administrative purpose while leaving the binding limit untouched.
For a useful review, write one sentence per affected counter: “This row changes because this documented boundary changes; this other row remains shared.” If that explanation depends on an undocumented assumption, flag it before changing the running workflow.
Record: changed boundaries, unchanged boundaries, replacement evidence and any uncertainty about whether the new arrangement is supported.
7. Include the services before the exchange
An automation chain can have an alert source, a hosted bot platform and an exchange. Give each service its own identity in the map. A request addressed to the bot platform is not automatically a measured exchange request.
Current 3Commas API documentation lists weighted allowances for API keys and IPs, plus an IP raw-request burst rule. Its “tokens” are request-budget units in this context. The documentation does not establish every detail of the enforcement algorithm, so the worksheet must not silently assume a fixed-window model for it. [7]
TradingView separately describes alert-frequency restrictions for regular alerts and for watchlists, including whole-watchlist and individual-symbol limits. These concern signal generation. An exchange credential does not define those upstream boundaries, and an alert trigger is not the same unit as an exchange API request. [8]
Compare the full automation path
If you are evaluating a hosted platform or alerting setup, ask which service owns each constraint and what evidence you can inspect. Compare the relevant features and current account eligibility alongside this map. A subscription choice does not establish a separate downstream exchange allowance.
Explore 3Commas automation · affiliate link
Explore TradingView plans · affiliate link
These are optional product links. The map works independently of either product or a paid subscription.
Record: service, operation, observed response and any unverified translation from an upstream command to downstream requests.
8. Treat a reserve as a planning allowance
You may want to leave room for monitoring, reconciliation or cancellation-related work. Enter that allowance in the unit of each relevant counter. Keep it separate from the provider’s ceiling so a reviewer can see whether the batch fits the ceiling but consumes the room you intended to retain.
A number in this worksheet does not make the service prioritize that work. Nor does it prove that a cancellation will be accepted or that an earlier order has no fills. Kraken’s trading documentation has a narrow batch-cancel acceptance exception; that should not be generalized into a universal cancellation entitlement or universal blockage rule. [5]
A blank reserve remains unknown. An explicit zero means you entered no extra allowance for that row. Those are different records, even when the ceiling comparison itself is available. An allowance larger than the entire entered ceiling is an input configuration to correct.
If you already have a throttling response, preserve its route and error details. HTTP 429 identifies rate limiting, but the standard does not determine the server’s user identity or counting method; a Retry-After header is optional at that level. [12]
Follow the provider’s actual response contract. Binance Spot REST, for example, specifies Retry-After in seconds and warns that persistent violations can produce an IP ban. Its timeout guidance also distinguishes an unknown order outcome from a confirmed failure. [1]
The separate order-timeout guide handles the reconciliation question. A favorable budget calculation cannot establish whether a previous order executed.
Record: the purpose of the allowance, its unit, known response behavior and the unresolved order or service state.
One fictional batch, two different results
The map’s main example contains six status reads and two order-action requests. All names, limits, costs and usage values are synthetic. Neither request class instructs you to place a trade. For this arithmetic, assume each snapshot and the whole batch belong to its declared fixed window, with no other traffic or resets.
| Counter | Entered inputs | Result for this batch |
|---|---|---|
| Key counter Key-budget units |
Ceiling 30; usage 5; allowance 5. Read cost 1; action cost 2. |
Batch: 6 × 1 + 2 × 2 = 10. Projected usage: 15. Remaining: 15. |
| Shared IP counter Shared-budget units |
Ceiling 100; usage 88; allowance 5. Read cost 2; action cost 5. |
Batch: 6 × 2 + 2 × 5 = 22. Projected usage: 110. Remaining: −10. |
The first counter fits its entered ceiling and allowance. The second exceeds its entered ceiling by ten of its own units. We keep those observations separate. Adding the two projected usages would not create a meaningful universal API-budget number.
Now consider a conditional change: suppose independent evidence established a different key counter with usage zero, while all other entered assumptions stayed the same. That key row would project to ten. The shared-IP row would still project to 110. The calculation explains why improving one row may leave the relevant constraint unchanged; it does not claim that newly created real keys start at zero.
The reserve example changes the shared row’s usage to 70 and its allowance to 10. The same batch projects to 92, leaving eight. It fits the ceiling but leaves two fewer units than the reader intended to retain. That result is different from exceeding the ceiling.
The remaining examples show unknown costs, an unmodeled dynamic counter, a case within both entered budgets, and explicit zero or not-counted relationships. Editing an example keeps its fictional origin visible until you reset the record.
Methodology: separate arithmetic from evidence
DN Shared API Budget Map v1.0 is a deterministic worksheet for two request classes and two counters. The counter cards are independent. No provider quotas are preloaded, and no account is contacted to fill missing inputs.
For an eligible fixed-window card, the calculation is:
Batch increment = sum of each counted request quantity × its entered unit cost
Projected usage = entered current usage + complete batch increment
Remaining units = entered ceiling − projected usage
Allowance margin = remaining units − entered planning allowance
Arithmetic comparisons require the reader’s same-scope and same-window declarations. They assume the entire batch is in that window, with no intervening reset or unlisted traffic. The tool does not infer alignment from a label such as “minute,” from an IP-looking string or from the presence of a timestamp.
How unknown values behave
A counted relationship needs its request count and unit cost, including explicit zero where appropriate. A not-counted relationship contributes zero to that card, but a missing batch count still leaves the record’s documentation incomplete. Unknown relationships never become zero merely to produce a result.
The ceiling and allowance comparisons are separate. A missing allowance does not erase a known exceeded ceiling. When only part of a batch is known, the full projection stays unknown. Under the supported nonnegative-input assumptions, a clearly labeled known minimum can still demonstrate that the ceiling or intended allowance is already exceeded. It is never displayed as the complete batch.
Decay, refill, rolling windows, state-dependent changes and unspecified rules remain outside the numerical model. Select an unmodeled or unknown rule instead of forcing those mechanisms into a fixed-window sum. Equal remaining units preserve the entered allowance; exceeding a ceiling by any amount remains an exceedance.
What the record establishes
Inputs are decimal strings, and the calculation uses exact decimal arithmetic rather than rounding a near-boundary result into a different outcome. Request quantities are whole numbers. Blank values are unknown; unsupported or invalid input is identified. The tool has explicit precision limits and does not fall back to approximate calculations when its required arithmetic is unavailable.
The JSON and CSV exports capture the current inputs, reader declarations, results, source-review date and fictional-example origin. They contain your record rather than a hidden account measurement. CSV handles formula-leading labels as text. Keep the accompanying provider evidence and observation times with the export when handing the review to another person.
A complete two-counter record is still a two-counter record. It is not a certificate that every limit has been identified, that the platform will accept a request, or that an order is suitable. No throughput, retry time, fill, profit, cancellation success or provider safety score is calculated.
Use the map to make the next question specific
An incomplete map can produce a useful handoff. “Please investigate the API” is vague. “Which IP-scoped counter includes these two request classes, and what evidence identifies its current usage?” gives a developer or provider a precise question.
Keep unresolved items attached to the row they affect. If the cost changes with request content, identify the parameters. If the rule decays, request the appropriate model. If the provider does not expose a shared scope, record that limit on what your team can verify.
For adjacent decisions, use DN’s rate-limit documentation comparison, API performance and workload guide, Python bot API guide and REST, WebSocket and FIX comparison. Their questions are complementary. Here, the deliverable is a dated map of which request belongs to which counter.
Frequently asked questions
Does another API key give my trading bot more capacity?
Not automatically. A credential change does not establish a different bucket for every limit. Binance Spot’s request/response WebSocket API, for example, shares request weight across connections from the same IP. Identify the affected scope and obtain its own usage evidence. [11]
Can the DN Shared API Budget Map predict whether I will receive a 429 error?
No. It compares a declared batch with two reader-entered counters under a narrow fixed-window assumption. It does not discover all limits, verify the inputs or account for unlisted concurrent traffic. HTTP 429 also does not specify the provider’s identity or counting scope by itself. [12]
Why does the map leave a result unknown when another result is available?
The counters and comparisons are independent. A missing weight can prevent one projection while the other remains known. A missing planning allowance does not erase a known ceiling comparison. A known minimum may prove an adverse finding without turning the incomplete total into a complete projection.
Why are decay, token buckets and rolling windows unmodeled?
They need timing or state information beyond an unchanged fixed-window sum. Coinbase Exchange, for example, documents a refilling token bucket with separate burst capacity. The worksheet does not simulate that process, and Exchange documentation is not treated as a Coinbase Advanced Trade quota specification. [6]
Is an unfilled-order counter the same as the number of open orders?
Not necessarily. Binance Spot’s ORDERS counter has fill-related decrements and does not decrease simply because an order is canceled or expires. Use the exact counter definition. The worksheet does not model those state transitions. [3]
Does leaving a planning allowance guarantee room for cancellations?
No. The allowance is an assumption in your record, not a provider reservation or priority mechanism. Other activity, other constraints and the actual order state remain separate. A budget result does not prove that a cancellation will be accepted or that an order had no fills.
What is included in the JSON and CSV downloads?
The exports contain your current inputs, declared scope and window assumptions, separate counter results, unresolved items and source-review metadata. Fictional-example origin stays visible after editing an example until you reset. No account data or live API quota is retrieved to complete the record.
Research scope and disclosure
Official documentation was reviewed on 7 November 2026, Africa/Johannesburg. Provider examples retain their named product and API scope. The six dataset cases are DN-authored teaching scenarios, not measured provider performance or current quota tables.
No exchange account, credential, order or live counter was accessed for this article. Documentation can change, and an unresolved value remains unresolved. This is educational operational research, not a trade recommendation or a guarantee of service availability.
Links labeled affiliate may earn Decentralised News a commission. Inclusion does not change the mapping rules or establish product eligibility. Product, regional and account requirements need their own current review.
Primary sources
Official documentation reviewed on 7 November 2026 (SAST). Product, route, scope and accounting rule matter. These are documentation findings, not live quota measurements.
- General REST API Information — Binance Spot
- Spot REST Rate Limits — Kraken
- Spot Unfilled Order Count Rules — Binance
- What are the API rate limits? — Kraken
- Spot Trading Limits — Kraken
- REST Rate Limits Overview — Coinbase Exchange
- Rate Limits — 3Commas REST API
- Alert was triggered too often and stopped — TradingView
- Get exchanges markets — 3Commas REST API
- General WebSocket Streams information — Binance Spot
- General WebSocket API Information — Binance Spot
- RFC 6585, section 4 — 429 Too Many Requests