Handle errors
If there is an error with your API request, Bitvavo sends a response with an error message and a corresponding HTTP status code. The response body contains the description of the error along with a possible cause and how to proceed.
- HTTP 400: Bad Request
- HTTP 403: Forbidden
- HTTP 404: Not Found
- HTTP 429: Too Many Requests
- HTTP 500: Internal Server Error
- HTTP 503: Service Unavailable
HTTP 400: Bad Request
The following table explains the reason for each errorCode
returned by Bitvavo with a HTTP 400 status code:
errorCode | Reason |
---|---|
102 | The JSON object you sent is invalid. |
200 | Path parameters are not accepted for this endpoint. |
201 | Body parameters are not accepted for this endpoint. |
202 | A parameter is not supported for this orderType . |
203 | Missing or incompatible parameters in your request. |
204 | You used a parameter that is not valid for this endpoint. |
205 | Invalid parameter value. |
206 | Incompatible parameters in your call. |
210 | amount exceeds the maximum allowed for the market. |
211 | price exceeds the maximum allowed. |
212 | amount is lower than the minimum allowed for the market. |
213 | price is too low. |
214 | price has too many significant digits. |
215 | price has more than 15 decimal places. |
216 | Insufficient balance to perform this operation. |
217 | amountQuote is lower than the minimum allowed for the market. |
218 | triggerAmount has too many significant digits. |
219 | The market is no longer listed on Bitvavo. |
220 | clientOrderId conflict within the market. |
231 | timeInForce must be set to GTC when markets are paused. |
232 | Changes required for a successful update to your order. |
233 | Only orders with status new or partiallyFilled can be deleted. |
234 | Cannot update a market order type. |
235 | Maximum of 100 open orders per market exceeded. |
236 | Only one of amount , amountRemaining , or amountQuote is allowed. |
237 | Required parameters missing for stopLoss order type. |
238 | Required parameters missing for stopLossLimit order type. |
239 | Cannot switch between amount and amountQuote during an update. |
400 | Unknown server error. Contact support. |
401 | Deposits for this asset are not available. |
402 | Verify your identity to deposit or withdraw assets. |
403 | Verify your phone number to deposit or withdraw assets. |
404 | Could not complete the operation due to an internal error. |
405 | Withdrawal not allowed during the cooldown period. |
406 | amount is below the minimum allowed value. |
407 | Internal transfer is not possible. |
408 | Insufficient balance to perform this operation. |
409 | Verify your bank account and try again. |
410 | Withdrawals for this asset are not available. |
411 | You cannot transfer assets to yourself. |
412 | Error during deposit or withdrawal. |
413 | IP address not in your whitelist. |
414 | Cannot withdraw assets within 2 minutes of logging in. |
423 | The market is halted due to maintenance, technical issues, or other operational reasons. |
425 | The market is in an auction phase. Trading is temporarily restricted. |
429 | Too many decimal places in a parameter value. Differs per market. |
HTTP 403: Forbidden
The following table explains the reason for each errorCode
returned by Bitvavo with a HTTP 403 status code:
errorCode | Reason |
---|---|
105 | Exceeded rate limit; account or IP blocked temporarily. |
300 | Authentication required to call this endpoint. |
301 | Invalid API key length. |
302 | Timestamp for authentication must be in milliseconds. |
303 | Access window must be between 100 and 60000 milliseconds. |
304 | Request not received within the access window. |
305 | API key is not active. |
306 | API key activation not confirmed. |
307 | IP not whitelisted for this API key. |
308 | Invalid signature format. |
309 | Invalid signature. |
310 | API key lacks trading endpoint permissions. |
311 | API key lacks account endpoint permissions. |
312 | API key lacks withdrawal permissions. |
313 | Invalid Bitvavo session. |
314 | REST must be used to connect from a browser. |
316 | Public asset information only via this WebSocket. |
317 | Account locked. Contact support. |
318 | Account verification required for API use. |
319 | Feature unavailable in your region. |
HTTP 404: Not Found
The following table explains the reason for each errorCode
returned by Bitvavo with a HTTP 404 status code:
errorCode | Reason |
---|---|
110 | Unknown REST endpoint. Verify the URL and HTTP method. |
240 | No order found. Ensure no conflicting calls are made. |
415 | Unknown WebSocket action. Verify against the API reference. |
HTTP 429: Too Many Requests
The following table explains the reason for each errorCode
returned by Bitvavo with a HTTP 429 status code:
errorCode | Reason |
---|---|
110 | Rate limit exceeded for REST API calls. |
112 | Rate limit exceeded for WebSocket requests per second. |
HTTP 500: Internal Server Error
The following table explains the reason for each errorCode
returned by Bitvavo with a HTTP 500 status code:
errorCode | Reason |
---|---|
101 | Unknown server error. Operation success uncertain. |
HTTP 503: Service Unavailable
The following table explains the reason for each errorCode
returned by Bitvavo with a HTTP 503 status code:
errorCode | Reason |
---|---|
107 | Bitvavo is overloaded. Retry after 500ms. |
108 | Processing issue. Increase execution window or retry after 500ms. |
109 | Timeout. Operation success uncertain. |
111 | The matching engine is temporarily unavailable, please try again. |
430 | The connection timed out because no new market data events have been received. For example, trying to retrieve the order book data for a market that is not in a trading status . |