Errors
Vertex API errors.
List of possible error
values in the API Response:
General
Error Code | Error Value | Description |
---|---|---|
1000/1015 | RateLimit | Too Many Requests: You have exceeded the rate limit. Please reduce your request frequency and try again later. |
1001 | BlacklistedAddress | This address has been blacklisted from accessing the sequencer due to a violation of the Terms of Service. If you believe this is an error, please reach out for assistance. |
1002 | BlockedLocation | Access from your current location ({location}) is blocked. Please check your location and try again. |
1003 | BlockedSubdivision | Access from your current location ({location} - {subdivision}) is blocked. Please check your location and try again. |
1004 | Maintenance | Service is temporarily unavailable due to scheduled maintenance. Please try again later. |
Execute / Query API
Error Code | Error Value | Description |
---|---|---|
2000 | InvalidPriceIncrement | Invalid order price: Order price, {order.price}, is not divisible by the price_increment_x18; price_increment_x18 for product {product_id}: {price_increment_x18}. |
2001 | InvalidAmountIncrement | Invalid order amount: Order amount, {order.amount}, must be divisible by the size_increment; size_increment for product {product_id}: {size_increment}. |
2002 | ZeroAmount | Invalid order amount: The provided amount is zero. Please specify a valid order amount. |
2003 | OrderAmountTooSmall | Invalid order amount: Order amount, {order.amount}, is too small. abs(amount) must be >= min_size; min_size for product {product_id}: {min_size}. |
2004 | OrderExpired | Invalid order expiration: The order has already expired. Please ensure the expiration date is in the future. |
2005 | MaxOrdersLimitReached | You have reached the maximum number of open orders allowed for this market. |
2006 | UnhealthyOrder | Insufficient account health. The execution of this order would lower your account health below the required threshold. Please adjust your order size or manage your positions to maintain a healthy account balance. |
2007 | OraclePriceDifference | Order price must be no less than 20% and no more than 500% of the determined oracle price. |
2008 | PostOnlyOrderCrossesBook | The order cannot be placed as it is post-only and crosses the book. Please adjust your order parameters. |
2009 | OrderTypeNotSupported | The order type you are trying to use is not currently supported. |
2010 | InvalidTaker | Invalid taker: The order placement health checks were successfully passed; however, the health checks failed upon matching. |
2011 | LateRecvExecution | Execute request received after โrecv_timeโ. Ensure that your โrecv_timeโ allows adequate time for requests to be received. |
2012 | EarlyRevcExecution | Execute request received more than 100 seconds before the 'recv_time'. Ensure that the request is sent no more than 100 seconds prior to the 'recv_time'. |
2013 | DigestAlreadyExists | The provided digest already exists. Ensure that the provided digest is unique. |
2014 | UnauthorizedSubaccountCancellation | Operation failed. You're attempting to cancel an order for a different subaccount. Please verify the subaccount. |
2015 | MarketNotFound | The market for the given product or ticker ID was not found. Please try again with a different product or ticker ID. |
2016 | InvalidProductId | The provided 'product_id' is invalid. Please verify and input a valid 'product_id'. |
2017 | SpotExecuteExceedsBorrowLimit | Executing this action could result in exceeding your borrowing limit as your spot leverage is currently set to false. Please adjust your withdrawal amount or manage your borrowings to prevent potential risk. |
2019 | InappropriateSpotLeverage | Spot leverage cannot be applied to a non-spot product. Please ensure you're using the correct type of leverage for the product in question. |
2020 | OrderNotFound | Order with the provided digest ({digest}) could not be found. Please verify the order digest and try again. |
2021 | AddressRiskTooHigh | The risk associated with the provided address is too high. Please use a different address or mitigate the associated risk. |
2022 | InvalidNonce | The provided nonce is invalid. Ensure the nonce is correct and try again. |
2023 | AddressScreeningPending | Risk screening check for the provided address is still in progress. Please wait until the check is complete before proceeding. |
2024 | NoPriorDeposit | The provided address has no previous deposits. Ensure you're using an address with prior deposits. |
2025 | SingleSignatureInsufficientAccountValue | Your account must hold a minimum value of 5 USDC to enable single signature sessions. Please ensure your account balance meets this requirement. |
2026 | DuplicateSignerLinking | You cannot link a signer to the same address more than once. Please provide a unique address for each signer. |
2027 | SignatureLength | The provided signature does not meet the required length specifications. Please verify and provide a valid signature. |
2028 | InvalidSigner | The provided signature does not match with the sender's or the linked signer's. Please verify and provide the correct signature. |
2029 | InvalidSignerZero | Signer cannot be zero. Please provide a valid non-zero signer. |
2030 | LinkedSignerUpdateLimitExceeded | Linked Signer update limit exceeded. Please wait for {{wait_time}} seconds before trying again. |
2031 | FillOrKillNotFilled | Your 'Fill or Kill' order could not be entirely filled. Slippage parameters may be too conservative or size too large. |
2033 | NonceMissingInPayload | No nonce provided in the request payload. Please ensure a valid nonce is included. |
2034 | InvalidSignatureV | Invalid Signature: The 'v' value of the signature you provided is not valid. Please verify your signature and try again. |
2035 | SignatureError | Signature error: {error_msg} |
2036 | SubaccountHealthTooLow | Subaccount health insufficient. Please ensure sufficient health level in your subaccount to proceed. |
2037 | ExcessiveLPTokenBurn | Attempt to burn more LP tokens than currently owned. Please adjust the amount to match or be less than your current LP token balance. |
2038 | InvalidExecuteMessage | The execute message provided is invalid. Please verify and provide a valid execute message. |
2039 | MismatchedDigestsAndProductIdsLength | 'digests' and 'productIds' arrays should have the same length. Please ensure their lengths match. |
2040 | InvalidBool | The value you entered is not a valid boolean. Please try again with a value of true or false. |
2041 | RebateExecuteFormatting | The length of 'subaccounts' array does not match the length of 'amounts' array. Ensure that both arrays have the same number of elements and try again. |
2042 | NotLiquidatable | Failed to initiate liquidation: The account does not meet the requirements for liquidation. |
2043 | LiquidatorHealthTooLow | Failed to initiate liquidation: The liquidator's account health is too low. |
2044 | PositiveInitialHealthLiquidationAttempt | Failed to initiate liquidation: The account to be liquidated has positive initial health. |
2045 | InvalidLiquidationParameters | Failed to initiate liquidation: Attempted to liquidate quote or provided invalid liquidation parameters. |
2046 | PerpLiquidationSizeIncrementMismatch | Failed to initiate liquidation: Attempted to liquidate perpetual contract but the amount is not divisible by sizeIncrement. |
2047 | InvalidLiquidationAmount | Failed to initiate liquidation: Attempted to liquidate either too little, too much or the signs are different. |
2048 | LiabilitiesBeforePerpsLiquidationAttempt | Failed to initiate liquidation: Attempted to liquidate liabilities before perpetual contracts. |
2049 | TransferFailed | ERC20 Transfer failed. Please verify the transaction details. |
2050 | UnauthorizedAction | Unauthorized action attempted. Please ensure you have the necessary permissions. |
2051 | NotFinalizableSubaccount | Attempted to finalize a subaccount which is not eligible for finalization. Ensure that the subaccount meets all the necessary conditions before proceeding. |
2052 | InvalidMaker | The maker order subaccount is invalid or has failed the risk check. Please verify the subaccount and ensure it meets the necessary risk parameters. |
2053 | OrdersCannotBeMatched | Order failed to match due to an internal error. Please try again. |
2054 | SlippageTooHigh | The requested operation could not be completed due to excessive slippage. Please adjust your order to match market conditions. |
2055 | InvalidPrice | Invalid price provided. The price must be greater than 0. Please input a valid price. |
2056 | ImmediateOrCancelDoesNotCross | Your 'Immediate or Cancel' order does not cross the book. Please review the market conditions or adjust your order. |
2057 | MaxTriggerOrdersLimitReached | You have reached the maximum number of trigger orders allowed for this subaccount. |
2058 | TriggerOrderNotFound | Trigger order with the provided digest ({digest}) could not be found. Please verify the order digest and try again. |
2059 | NotTriggerOrder | Submitted order is not a trigger order. |
2060 | InvalidProductIds | The provided 'product_ids' is invalid. Please verify input contains only valid products and no duplicates. |
2061 | InvalidProductType | Invalid product type {{product_type}}. 'product_type' must be 'spot' or 'perp' |
2062 | MissingProductIds | The 'product_ids' provided is empty. Please ensure you include a non-empty list of valid |
2063 | InvalidQueryResponse | Invalid query response. Expected {{Response}}. |
2064 | ReduceOnlyIncreasesPosition | Reduce only order increases position. |
2065 | InvalidExpirationBits | Invalid expiration bits: The 4th to 6th most significant bits are reserved and must be unset. |
2066 | CancelAndPlaceDifferentSenderOrSigner | Sender or signer of cancel and place are not the same. |
2067 | ReduceOnlyNotTaker | Only taker orders can be set as reduce only. |
2068 | SystemUnderMaintenance | We're currently performing maintenance on the system. Please try again later. |
2069 | MarketTradingBlocked | Trading is blocked for this market. |
2070 | MarketMaxOpenInterest | Market has reached maximum open interest. Please only close positions at this time. |
2071 | MaxUtilization | Product at maximum utilization |
2072 | OrderBatchExceedLimit | The number of specified 'orders' exceeds the limit. Please reduce the 'orders' to meet the defined limit. |
2073 | SelfMatchNotAllowed | Self-match is not allowed. |
2074 | MismatchedProductIds | Product IDs do not match. |
2075 | NonDefaultPrivateBatchOrder | Private batch order types must all be default. |
2076 | InvalidTriggerPrivateBatchOrder | Private batch order cannot be trigger order. |
Indexer API
Error Code | Error Value | Description |
---|---|---|
3000 | DigestsNotAllowed | Unable to accept 'digests' in conjunction with 'subaccount' or 'product_ids'. Please make sure your request does not contain these fields simultaneously. |
3001 | DigestsExceedLimit | The number of specified 'digests' exceeds the specified limit. Please reduce the 'digests' to meet the defined limit. |
3002 | MissingSubaccount | A 'subaccount' is required but not specified. Please ensure you include a 'subaccount' in your request. |
3003 | InvalidInterval | Invalid interval: Please try again with a different 'max_timestamp', 'granularity', or 'count'. |
Other Misc.
Error Code | Error Value | Description |
---|---|---|
4000 | PerpTickFormatting | The length of the 'avg_price_diffs' array does not match the length of 'product_ids'. Ensure that the arrays are correctly formed and try again. |
4001 | NotImplemented | The feature you are trying to use is not yet implemented. Please check back later. |
4002 | TemporarilyDisabledMintLp | MintLp operation is currently disabled. Please try again later. |
4003 | EvmRevert | A critical error occurred while attempting match. Reverted with: {revert message} |
4004 | WithdrawRisk | Protocol risk: {limit} withdrawal limit over 24 hours exceeded; Try again later |
5000 | InternalError | Internal error: {message} |
Last updated