FAQ
Last updated
Last updated
A: You need a Solana wallet ( or are good options) and enough SOL for transaction fees. Try to keep your balance above 0.1 SOL at all times.
A: In order to interact with the Serum DEX, users must create an intermediary open orders account. This accounts stores funds used for placing or filling orders and tracks all of a given user's open orders. Technically, you can have multiple open order accounts for any target market. Our API looks up your open orders accounts (identified by your Solana address) and uses the first returned account by default. You should specify your account to skip this extra step, which can be time-consuming.
A: How is our Solana API faster than any other Solana RPC node out there? All transactions submitted through our Solana Trader API utilize the following technologies to get the best performance. bloXroute Solana BDN bloXroute Solana BDN is a network of servers optimized for sending data fast on blockchains. It offers reduced latency shred propagation, working alongside the existing Turbine protocol. In early stage testing, we observed the following mertrics:
Listen faster / React faster - 30/50ms advantage
Transaction routes to leader via BDN - 5-30ms speed advantage
A: Your funds are safe. All trades done on the orderbook-based DEX uses an intermediary account (the open orders account, as mentioned above) for each pair. Filled or canceled funds must to be settled back into your wallet. You can use GET Unsettled
to check your balance and POST Settle
to move funds to your wallet.
{"code":5, "message":"Not Found", "details":[]}
from HTTP endpoints. Why doesn't this work?A: Make sure you're not including an /
in your market name. For example, SOL/USDC
must be specified as SOLUSDC
, SOL:USDC
or SOL-USDC
in HTTP endpoints.
Debugging actual execution failures can be fairly complicated. We have work planned to try and make these error messages more helpful but you'll have to take some manual steps in the meantime. Error messages are specific to the relevant instruction's program, so you'll most likely want to set the skipPreflight
flag to see the transaction in SolScan and the exact instruction/program that failed, after which you should search for the error definition file for the failed program or the line of code in the program that failed.
Here are some useful links:
Some examples:
"Transaction simulation failed: Error processing Instruction 0: custom program error: 0x1"
"Transaction simulation failed: Error processing Instruction 0: custom program error: 0x29"
"Transaction simulation failed: Error processing Instruction 1: custom program error: 0x10005d3"
This one's more complicated –– this longer error code indicates that a lookup is required from the program. You'll want to take off the leading part to get 0x5d3
, which translates to line 1491 in the program code (see third link).
Learn more about . Marinade integration All Solana Trader API transactions are routed through Marinade mTransaction. mTransaction provides the service of sending the Solana transaction on behalf of the staked nodes and gets stake weighted QoS priority (Validators running an mTransaction client have 11M SOL in total.).
A: Before we submit a transaction to the network, we simulate the transaction execution and don't send it if execution fails to save you the transaction fee. Sometimes this behavior is not desirable. For example, if you are writing a high frequency application, the Solana transaction simulation might lag too far behind for your purposes. You might also want to see the failed transaction in an explorer like to get a visual sense of what's happening. In those cases you can set the skipPreflight
flag to be false
to skip the simulation and send the transaction directly.
This typically indicates insufficient funds (see first link).
When canceling orders this indicates that the client ID is not found (see second link).
This indicates that the account owner was specified incorrectly.