Skip to main content

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

The following table explains the reason for each errorCode returned by Bitvavo with a HTTP 400 status code:

errorCodeReason
102The JSON object you sent is invalid.
200Path parameters are not accepted for this endpoint.
201Body parameters are not accepted for this endpoint.
202A parameter is not supported for this orderType.
203Missing or incompatible parameters in your request.
204You used a parameter that is not valid for this endpoint.
205Invalid parameter value.
206Incompatible parameters in your call.
210amount exceeds the maximum allowed for the market.
211price exceeds the maximum allowed.
212amount is lower than the minimum allowed for the market.
213price is too low.
214price has too many significant digits.
215price has more than 15 decimal places.
216Insufficient balance to perform this operation.
217amountQuote is lower than the minimum allowed for the market.
218triggerAmount has too many significant digits.
219The market is no longer listed on Bitvavo.
220clientOrderId conflict within the market.
231timeInForce must be set to GTC when markets are paused.
232Changes required for a successful update to your order.
233Only orders with status new or partiallyFilled can be deleted.
234Cannot update a market order type.
235Maximum of 100 open orders per market exceeded.
236Only one of amount, amountRemaining, or amountQuote is allowed.
237Required parameters missing for stopLoss order type.
238Required parameters missing for stopLossLimit order type.
239Cannot switch between amount and amountQuote during an update.
400Unknown server error. Contact support.
401Deposits for this asset are not available.
402Verify your identity to deposit or withdraw assets.
403Verify your phone number to deposit or withdraw assets.
404Could not complete the operation due to an internal error.
405Withdrawal not allowed during the cooldown period.
406amount is below the minimum allowed value.
407Internal transfer is not possible.
408Insufficient balance to perform this operation.
409Verify your bank account and try again.
410Withdrawals for this asset are not available.
411You cannot transfer assets to yourself.
412Error during deposit or withdrawal.
413IP address not in your whitelist.
414Cannot withdraw assets within 2 minutes of logging in.
423The market is halted due to maintenance, technical issues, or other operational reasons.
425The market is in an auction phase. Trading is temporarily restricted.
429Too 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:

errorCodeReason
105Exceeded rate limit; account or IP blocked temporarily.
300Authentication required to call this endpoint.
301Invalid API key length.
302Timestamp for authentication must be in milliseconds.
303Access window must be between 100 and 60000 milliseconds.
304Request not received within the access window.
305API key is not active.
306API key activation not confirmed.
307IP not whitelisted for this API key.
308Invalid signature format.
309Invalid signature.
310API key lacks trading endpoint permissions.
311API key lacks account endpoint permissions.
312API key lacks withdrawal permissions.
313Invalid Bitvavo session.
314REST must be used to connect from a browser.
316Public asset information only via this WebSocket.
317Account locked. Contact support.
318Account verification required for API use.
319Feature 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:

errorCodeReason
110Unknown REST endpoint. Verify the URL and HTTP method.
240No order found. Ensure no conflicting calls are made.
415Unknown 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:

errorCodeReason
110Rate limit exceeded for REST API calls.
112Rate 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:

errorCodeReason
101Unknown 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:

errorCodeReason
107Bitvavo is overloaded. Retry after 500ms.
108Processing issue. Increase execution window or retry after 500ms.
109Timeout. Operation success uncertain.
111The matching engine is temporarily unavailable, please try again.
430The 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.