Tool

Exchange Error Lookup

Look up exchange API error codes for Binance, Bybit, Kraken, and Coinbase. Get the meaning, root cause, and recovery action for each error.

Exchange API errors typically fall into a few categories: clock drift (timestamp out of sync), authentication (invalid key/signature/IP), rate limiting (too many requests), and validation (order parameters, precision, balance). The most common production issues are timestamp drift (-1021 on Binance, 10016 on Bybit) and rate limiting (10006 on Bybit).

Showing 27 of 27 errors

Binance-1021

Timestamp for this request is outside of the recvWindow

Your server clock is out of sync with Binance's API servers. The timestamp in the request header is either ahead or behind the allowed recvWindow (default 5000ms).

Recovery: Sync your server clock using NTP. Increase recvWindow if clock sync is difficult. Common in cloud VMs with drift issues.

Binance-2015

Invalid API-key, IP, or permissions for action

The API key is invalid, the IP address is not whitelisted, or the key does not have permission for the requested endpoint.

Recovery: Check API key permissions in Binance dashboard. Whitelist your server IP. Regenerate the key if it was revoked.

Binance-1013

Filter failure: LOT_SIZE or PRICE_FILTER

The order quantity or price does not meet the trading pair's filter rules (min/max/step size).

Recovery: Fetch the exchange info for the symbol and validate order params against LOT_SIZE, PRICE_FILTER, and MIN_NOTIONAL.

Binance-2010

Insufficient balance

Account does not have enough funds to place the order.

Recovery: Check available balance via account endpoint. Ensure you're using the correct free balance (not locked in other orders).

Binance-2011

Order does not exist

Attempting to cancel or query an order that doesn't exist or was already filled/cancelled.

Recovery: Implement idempotency for cancel operations. Use order list endpoint to verify order state before acting.

Binance-1010

Unsupported order combination

The order type, time in force, or other parameters form an invalid combination.

Recovery: Validate order parameters against exchange info. Check pair trading status and permissions.

Binance-1111

Precision is over the maximum defined for this asset

Price or quantity has too many decimal places for the trading pair.

Recovery: Use the exchange info endpoint to get exact precision rules for each symbol before placing orders.

Bybit10001

Unknown error

Generic server error with no specific cause.

Recovery: Retry the request. If persistent, check Bybit system status page.

Bybit10002

Invalid request

Request parameters are malformed or missing required fields.

Recovery: Validate all request parameters against Bybit API documentation before sending.

Bybit10004

Invalid signature

The API request signature is incorrect or malformed.

Recovery: Check your signing logic. Verify API secret, timestamp, and parameter ordering match Bybit's specification.

Bybit10006

Rate limit exceeded

Request frequency exceeds the API rate limit for your API key.

Recovery: Implement request throttling. Use the rate limit headers in responses to adjust your sending rate dynamically.

Bybit10007

IP not in whitelist

Requesting IP is not in the API key's whitelist.

Recovery: Add your server IP to the API key whitelist in Bybit account settings.

Bybit10016

Timestamp for this request is invalid

Request timestamp differs from server time by more than the allowed threshold.

Recovery: Sync system clock via NTP. Implement timestamp retrieval from Bybit server time endpoint before signing.

Bybit10028

Leverage modification not permitted

Cannot change leverage due to open positions or active orders.

Recovery: Close all positions and cancel orders before adjusting leverage. Check current position state first.

Bybit10043

Insufficient balance

Account equity is too low for the requested operation.

Recovery: Check wallet balance and margin requirements. Reduce position size or add funds.

KrakenEAPI:Rate limit exceeded

Rate limit exceeded

Too many requests in a short period. Kraken enforces a strict rate limit per IP and API key.

Recovery: Implement request throttling. Add delay between requests. Kraken recommends no more than 1 request per second for most endpoints.

KrakenEGeneral:Invalid arguments

Invalid arguments

Request contains invalid or missing parameters.

Recovery: Check endpoint documentation for required parameters. Validate data types and ranges before sending.

KrakenEService:Unavailable

Service temporarily unavailable

Kraken backend servers are temporarily down or in maintenance.

Recovery: Wait and retry with exponential backoff. Check Kraken status page for scheduled maintenance.

KrakenEGeneral:Permission denied

Permission denied

API key does not have permission for the requested operation.

Recovery: Check API key permissions in Kraken account. Ensure key has the required access level.

KrakenEOrder:Cannot open opposing position

Cannot open opposing position

Attempting to open a position in the opposite direction of an existing position with no reduce-only flag.

Recovery: Use reduce-only orders when closing positions. Or close existing position before opening opposite.

KrakenEOrder:Insufficient margin

Insufficient margin

Account equity is too low to support the position size.

Recovery: Reduce position size or add funds. Check margin requirements for the trading pair.

CoinbaseRATE_LIMIT_EXCEEDED

Rate limit exceeded

Request frequency exceeds Coinbase API rate limits.

Recovery: Implement exponential backoff. Reduce request frequency. Coinbase allows 3 requests per second for REST API.

CoinbaseINVALID_SIGNATURE

Invalid signature

The CB-ACCESS-SIGN header is incorrect.

Recovery: Verify your signing implementation. The signature must be HMAC-SHA256 of the timestamp + method + requestPath + body.

CoinbaseINVALID_API_KEY

Invalid API key

The API key provided is invalid or has been revoked.

Recovery: Check API key exists and is active in Coinbase settings. Regenerate if necessary.

CoinbaseUNAUTHORIZED

Unauthorized

API key lacks permission for the requested resource.

Recovery: Review API key permissions. Ensure the key has the required scopes for the endpoint.

CoinbaseINSUFFICIENT_FUNDS

Insufficient funds

Account does not have enough funds for the transaction.

Recovery: Check available balance. Consider reducing order size or depositing additional funds.

CoinbaseTIMESTAMP_OUT_OF_SYNC

Timestamp out of sync

Request timestamp differs from server time by more than 30 seconds.

Recovery: Sync server clock via NTP. Use the Coinbase server time endpoint to calculate the timestamp offset.

Frequently asked questions

Why am I getting Binance error -1021?
Binance error -1021 (Timestamp for this request is outside of the recvWindow) means your server clock is out of sync. Fix: sync your clock via NTP, increase recvWindow (default 5000ms), or use the Binance server time endpoint to calculate an offset before signing.
What does Bybit error 10006 mean?
Bybit error 10006 (Rate limit exceeded) means your API key is sending requests too fast. Fix: implement request throttling, respect the retry-after headers in responses, and use the rate limit calculator to determine safe request frequency.
How do I fix Coinbase INVALID_SIGNATURE error?
Coinbase INVALID_SIGNATURE means the CB-ACCESS-SIGN header is incorrect. Verify your HMAC-SHA256 signature uses the exact format: timestamp + method + requestPath + body. Ensure your API secret is correct and the timestamp is within 30 seconds of server time.
Which exchange error codes indicate rate limiting?
Rate limit errors: Binance -2015 (IP ban), Bybit 10006, Kraken EAPI:Rate limit exceeded, Coinbase RATE_LIMIT_EXCEEDED. For all: implement exponential backoff with jitter, respect Retry-After headers, and reduce request frequency.