API Errors

Vertex API errors.
List of possible error values in the API Response:
{
"status": "success",
"error": null
}
Warning: this list is going to be revised and updated in the coming weeks. We will communicate in appropriate channels about these changes.

Execute / Query API

Error Value
Description
Endpoints
invalid price: not divisible by increment
The order price must be an increment of price_increment_x18; use All products query to see current price increment of a product in book_info.
Execute: Place Order​
invalid amount: not divisible by increment
The order amount must be an increment of size_increment; use All products query to see current size increment of a product in book_info.
Execute: Place Order​
invalid amount: zero
The order amount provided is zero.
Execute: Place Order​
invalid expiration: already expired
The order has already expired.
Execute: Place Order​
invalid amount: too small
The order amount must be >= min_size; use All products query to see current min size of a product in book_info. (Note: this requirement only applies if the order will end up on the book)
Execute: Place Order​
max orders limit reached
You have exhausted the max number of open orders for a subaccount on a given market.
Execute: Place Order​
unhealthy order
Placing this order fails health checks.
Execute: Place Order​
Order price must be within a range of 20% to 500% of oracle price
Order price is too far from current oracle price.
Execute: Place Order​
spot_leverage is false, but placing this order can cause borrows
When providing spot_leverage=false, placing the order fails if it leads to a borrow.
Execute: Place Order​
order is post only, but it crosses book
The order you're trying to place as post-only would immediately execute against an existing order on the book.
Execute: Place Order​
order type not supported!
The order type encoded in the expiration field is not supported.
Execute: Place Order​
fill or kill order cannot be fully filled
You placed an FOK order that cannot be fully filled.
Execute: Place Order​
invalid taker order
The order placement health checks were successfully passed; however, the health checks failed upon matching.
Execute: Place Order​
execute received after recv_time
A recv_time is an encoded time in the order's nonce which tells our engine to ignore this order after this time. This error indicates that the encoded recv_time provided is in the past. See Place Order for more info.
Execute: Place Order, Cancel Orders​
execute received more than 100 seconds before recv_time
This error indicates that the encoded recv_time in the order is more than 100 seconds in the future. recv_time should be <= 100 seconds. See Place Order for more info.
Execute: Place Order, Cancel Orders​
digest already exists
  • When placing an order, the order digest provided already exists on the orderbook.
  • When cancelling product orders, a request with the same digest has already been provided.
trying to cancel order for another subaccount
You are trying to cancel an order associated with a different subaccount than the one provided in the request i.e: subaccount and order.sender do not match.
Execute: Cancel Orders​
order with digest {order_digest} not found
The order you are trying to cancel is no longer on the orderbook.
Execute: Cancel Orders​
digests and productIds must be the same length
Trying to cancel orders with an invalid input. digests and producIds must be of the same length.
Execute: Cancel Orders​
market not found for given product id
The product id provided does not have a market. e.g: product_id=0
spot_leverage is false, but executing this withdraw can cause borrows
When providing spot_leverage=false , the withdraw fails if it leads to a borrow.
Execute: Withdraw Collateral​
Invalid product id
The product id provided does not exist.
product_id must be spot
Attempting to perform a spot-only action but the product id provided is not a spot.
spot_leverage is false, but executing this mint can cause borrows
When providing spot_leverage=false, the LP mint fails if it leads to a borrow.
Execute: Mint LP​
Order not found
Order for digest provided is not found on the orderbook.
Query: Order​
Invalid nonce
The nonce provided has already been used.
Linking signer to the same address again is not allowed
the signer provided is the currently linked signer.
Execute: Link Signer​
Must have account value more than 5 USDC to enable single signature sessions.
the subaccount you are attempting to link a signer to does not meet the min balance requirement. See link signer for more details.
Execute: Link Signer​
Address risk is too high
The address provided fails Chainalysis risk checks.
All executes
Address screening risk check pending for this address
Our system is currently reviewing this address via Chainalysis for potential risks. Should try again later.
All executes
Address has never deposited into Vertex
Sender address provided has not deposited collateral into Vertex.
All executes

Indexer API

Error Value
Description
Endpoints
cannot specify digests with subaccount or product_ids
You can only specify either digests or subaccount + product_ids but not both.
Indexer: Orders​
cannot specify more digests than limit
The number of digests provided must be <= limit
Indexer: Orders​
must specify subaccount
Missing required subaccount field
Indexer: Orders​

General

Error Value
Description
Endpoints
IP is from blocked location: {locale}
Attempting to perform an action from a blocked location.
General
No locale found for ip: {IP}
Our system was unable to determine the locale associated to the client IP address.
General
Too Many Requests!
Request is being rate-limited.
General