Code | Message | Description |
---|---|---|
0 | "" | No error (typically omitted from a successful response) |
-32000 | "Rate limit exceeded" | Check per IP rate limits for non-auth requests or your account details for auth requests |
-32100 | "Number of concurrent websocket clients limit exceeded" | Check per IP max concurrent clients for non-auth requests or your account details for auth requests |
-32700 | "Parse error" | Invalid JSON was received by the server. An error occurred on the server while parsing the JSON text. |
-32600 | "Invalid Request" | The JSON sent is not a valid Request object. |
-32601 | "Method not found" | The method does not exist / is not available. |
-32602 | "Invalid params" | Invalid method parameter(s). |
-32603 | "Internal error" | Internal JSON-RPC error. |
9000 | "Order confirmation timeout" | Order confirmation timed out but order status is unknown. Please check status of open orders. |
10000 | "Manager not found" | The requested margin type does not exist. |
10001 | "Asset is not an ERC20 token" | The requested asset is not an ERC20 token and therefore cannot be deposited/withdrawn/transferred. |
10002 | "Sender and recipient wallet do not match" | Transfers can only be made to subaccounts under the same wallet. |
10003 | "Sender and recipient subaccount IDs are the same" | Transfers can only be made to a different subaccount id. |
10004 | "Multiple currencies not supported" | Only standard margin accounts may hold assets of multiple currencies. |
10005 | "Maximum number of subaccounts per wallet reached" | Withdraw any unused subaccounts to add new ones. |
10006 | "Maximum number of session keys per wallet reached" | Deactivate any unused session keys to add new ones. |
10007 | "Maximum number of assets per subaccount reached" | Number of assets in a subaccount is limited by the on-chain constraints. |
10008 | "Maximum number of expiries per subaccount reached" | Number of expiries in a portfolio margin subaccount is limited by the on-chain constraints. |
10009 | "Recipient subaccount ID of the transfer cannot be 0" | Transfers must be made to registerred non-zero subaccounts. |
10010 | "PMRM only supports USDC asset collateral. Cannot trade spot markets." | PMRM only supports USDC asset collateral. Cannot trade spot markets. |
10011 | "ERC20 allowance is insufficient" | ERC20 allowance is insufficient for the requested action. |
10012 | "ERC20 balance is less than transfer amount" | ERC20 balance is insufficient for the requested action. |
11000 | "Insufficient funds" | Insufficient funds to place order. |
11002 | "Order rejected from queue" | Order did not reach the queue, matching engine might be down, or order was in the queue for too long. |
11003 | "Already cancelled" | Order is already cancelled. |
11004 | "Already filled" | Order is already filled. |
11005 | "Already expired" | Order is already expired. |
11006 | "Does not exist" | Order does not exist. |
11007 | "Self-crossing disallowed" | Order was rejected because it crossed with another order placed by the same user. |
11008 | "Post-only reject" | A post-only order was rejected because it would have matched with an existing order. |
11009 | "Zero liquidity for market or IOC/FOK order" | A market or an IOC/FOK order was rejected because there was no liquidity within the provided limit price. |
11010 | "Post-only invalid order type" | A post-only order was rejected because it was not a limit order. |
11011 | "Invalid signature expiry" | Order expiry is above or below the min/max validity or is beyond expiry (for options only). |
11012 | "Invalid amount" | Order amount is invalid, see data for details. |
11013 | "Invalid limit price" | Order limit price is invalid, see data for details. |
11014 | "Fill-or-kill not filled" | A fill-or-kill order was not filled. |
11015 | "MMP frozen" | An order was rejected because the market maker protections were triggered. |
11016 | "Already consumed" | Order is already consumed (Filled/expired/rejected). |
11017 | "Non unique nonce" | This nonce has already been used, please use a new nonce. |
11018 | "Invalid nonce date" | First 10 digits of nonce must be a UTC sec timestamp within 1 hour of the true UTC timestamp. |
11019 | "Open orders limit exceeded" | Too many open orders for this subaccount. |
11020 | "Negative ERC20 balance" | Wrapped ERC20 balances cannot be negative. |
11021 | "Instrument is not live" | Instrument has either been deactivated or expired (if an Option) |
11022 | "Reject timestamp exceeded" | Order was rejected because it reached the engine after the supplied reject_timestamp . |
11023 | "Max fee order param is too low" | Max fee order param must always be >= 2 x max(taker, maker) x spot_price. If the order crosses the book, it must be >= 2 x max(taker, maker) x spot_price + base_fee / fill_amount. |
11024 | "Reduce only not supported with this time in force" | Reduce only orders have to be market orders or non-resting limit orders (IOC or FOK). |
11025 | "Reduce only reject" | A reduce-only order was rejected because it would have increased position size. |
11026 | "Transfer reject" | A transfer was rejected because it would have increased a subaccount position size. |
11027 | "Subaccount undergoing liquidation" | A trade or order was rejected because the subaccount is undergoing a liquidation. |
11028 | "Replaced order filled amount does not match expected state." | New create order was reverted as the filled amount of the old order does not match the expected filled amount. |
11050 | "Trigger order was cancelled between the time worker sent order and engine processed order" | Trigger order was not placed as it was cancelled right before entering engine |
11051 | "Trigger price must be higher than the current price for stop orders and vice versa for take orders" | Make sure the trigger price is properly set |
11052 | "Trigger order limit exceeded (separate limit from regular orders)" | Too many trigger orders for this subaccount. |
11053 | "Index and last-trade trigger price types not supported yet" | Only mark price is supported for now |
11054 | "Trigger orders cannot replace or be replaced" | Trigger orders cannot replace or be replaced |
11100 | "Leg instruments are not unique" | Leg provided in the RFQ or Quote parameter must not have repeated instrument names. |
11101 | "RFQ not found" | RFQ query or cancellation failed because nothing was found with the given filters. |
11102 | "Quote not found" | Quote query or cancellation failed because nothing was found with the given filters. |
11103 | "Quote leg does not match RFQ leg" | Legs provided in quote parameters must match the legs in the RFQ. |
11104 | "Requested quote or RFQ is not open" | Quote submission failed because the RFQ is either expired, filled or cancelled. |
11105 | "Requested quote ID references a different RFQ ID" | Quote execution failed because the RFQ ID parameter does not match the RFQ ID in the quote. |
11106 | "Invalid RFQ counterparty" | RFQ submission failed because the counterparty is not authorized to act as an RFQ maker or does not exist. |
11107 | "Quote maker total cost too high" | Quote submission failed because the maker total cost exceeded price bandwidth. |
11200 | "Auction not ongoing" | Supplied liquidated subaccount has no ongoing auction. |
11201 | "Open orders not allowed" | Bidding subaccount is not allowed to have open orders. |
11202 | "Price limit exceeded" | Supplied bid price limit is too low for this auction. |
11203 | "Last trade ID mismatch" | Liquidated subaccount has a different last trade ID. |
12000 | "Asset not found" | Requested asset does not exist. |
12001 | "Instrument not found" | Requested instrument does not exist. |
12002 | "Currency not found" | Requested currency does not exist. |
12003 | "USDC does not have asset caps per manager" | USDC does not have asset caps per manager |
13000 | "Invalid channels" | All channels in the subscribe request were invalid. |
14000 | "Account not found" | Requested wallet does not exist. |
14001 | "Subaccount not found" | Requested subaccount does not belong to a registered wallet. |
14002 | "Subaccount was withdrawn" | Requested subaccount was withdrawn. Please re-deposit subaccount. |
14008 | "Cannot reduce expiry using registerSessionKey RPC route" | Must use the deregisterSessionKey RPC route to reduce expiry. |
14009 | "Session key expiry must be > utc_now + 10 min" | Increase the expiry_sec. |
14010 | "Session key already registered for this account" | Requested session key is already registered for this account. |
14011 | "Session key already registered with another account" | Requested session key is already registered with another account. |
14012 | "Address must be checksummed" | Requested address must be checksumed |
14013 | "String is not a valid ethereum address" | String must be a valid ethereum address: e.g. 0xd3cda913deb6f67967b99d67acdfa1712c293601 |
14014 | "Signature invalid for message or transaction" | Address recovered from message and signature does not match the signer |
14015 | "Transaction count for given wallet does not match provided nonce" | Ensure the nonce is set correctly |
14016 | "The provided signed raw transaction contains function name that does not match the expected function name" | Ensure that the right contract abi was used when generating the transaction |
14017 | "The provided signed raw transaction contains contract address that does not match the expected contract address" | Ensure that the right contract address was used when generating the transaction |
14018 | "The provided signed raw transaction contains function params that do not match any expected function params" | Ensure that the right contract abi was used when generating the transaction |
14019 | "The provided signed raw transaction contains function param values that do not match the expected values" | Ensure that the signed function inputs match the ones provided in the request |
14020 | "The X-LyraWallet header does not match the requested subaccount_id or wallet" | Ensure the X-LyraWallet header is set to match the requested subaccount_id or wallet |
14021 | "The X-LyraWallet header not provided" | Ensure the X-LyraWallet header is included in the request |
14022 | "Subscription to a private channel failed" | A private channel is not authorized for this websocket connection, or it was requested over a public method |
14023 | "Signer in on-chain related request is not wallet owner or registered session key" | Address of the signer must be a wallet owner or registered session key |
14024 | "Chain ID must match the current roll up chain id" | Refer to v2-docs for chain id for each deployment |
14025 | "The private request is missing a wallet or subaccount_id param" | Ensure request params include a subaccount_id or wallet |
14026 | "Session key not found" | Requested session key does not exist. |
14027 | "Unauthorized as RFQ maker" | The account is not authorized to act as an RFQ maker. |
14028 | "Cross currency RFQ not supported" | RFQs only support same-currency legs at this moment. |
14029 | "Session key IP not whitelisted" | IP address of the request is not whitelisted for the session key. |
14030 | "Session key expired" | Session key has expired. |
14031 | "Unauthorized key scope" | The key scope provided does not meet the minimum required scope. |
14032 | "Scope should not be changed" | The key scope of the registered session key is not admin. It should not be elevated for security purposes |
16000 | "You are in a restricted region that violates our terms of service." | You are in a restricted region that violates our terms of service. You may withdraw funds any time but deposits, transfers, orders are blocked |
16001 | "Account is disabled due to compliance violations, please contact support to enable it." | Account is disabled due to compliance violations, please contact support to enable it. |
16100 | "Sentinel authorization is invalid" | The sentinel authorization is invalid |
17000 | "This accoount does not have a shareable invite code" | This accoount does not have a shareable invite code |
17001 | "Invalid invite code" | Invalid invite code |
17002 | "Invite code already registered for this account" | Invite code already registered for this account |
17003 | "Invite code has no remaining uses" | Invite code has no remaining uses |
17004 | "Requirement for successful invite registration not met" | Requirement for successful invite registration not met |
17005 | "Account must register with a valid invite code to be elligible for points" | Account must register with a valid invite code to be elligible for points |
17006 | "Point program does not exist" | Point program does not exist |
17007 | "Invalid leaderboard page number" | Invalid leaderboard page number |
18000 | "Invalid block number" | Invalid block number |
18001 | "Failed to estimate block number. Please try again later." | Failed to estimate block number. Please try again later. |
18002 | "The provided smart contract owner does not match the wallet in LightAccountFactory.getAddress()" | The provided smart contract owner does not match the wallet in LightAccountFactory.getAddress() |
18003 | "Vault ERC20 asset does not exist" | Vault ERC20 asset does not exist |
18004 | "Vault ERC20 pool does not exist" | Vault ERC20 pool does not exist |
18005 | "Must add asset to pool before getting balances" | Must add asset to pool before getting balances |
18006 | "Invalid Swell season. Swell seasons are in the form 'swell_season_X'." | Invalid Swell season. Swell seasons are in the form 'swell_season_X'. |
18007 | "Vault not found" | Vault not found |