Error Codes
All error responses use the same format:Codes
On a
/swap or /instructions rejection whose simulation failed, the result is
attached at data.simulation. Its insufficientFunds and slippageExceeded
booleans mirror SIM_INSUFFICIENT and SIM_SLIPPAGE.
HTTP status codes
API errors
Authentication errors
Quote errors (GET /api/v1/quote)
Swap errors (POST /api/v1/swap)
|
simulation failed: insufficient funds | 400 | The wallet cannot fund this trade. Retrying will not change that |
| simulation failed: slippage tolerance exceeded — re-quote and retry | 409 | The price moved between the quote and the build |
| simulation failed: ... | 422 | The transaction would revert for some other reason; read data.simulation.logs |
GET /quote will return an ExactOut quote over a Fluxbeam route, because the DEX restriction is enforced when the transaction is built, not when the route is priced. Handle the 400 at /swap or /instructions rather than assuming a successful quote implies an executable ExactOut swap.Instructions errors (POST /api/v1/instructions)
Firm-quote errors (POST /api/v1/swap, POST /api/v1/instructions with quoteId)
See Firm quotes for how
quoteId and firm work.
Simulation result errors
WhenskipSimulation is false, the swap response includes a simulation object:
On-chain errors
These surface after a signed transaction is submitted — in the transaction’s error and program logs, not in an HTTP response. They come from two sources: the Vulcx aggregator program itself, and the Solana runtime / SPL Token program underneath it.Vulcx aggregator program errors
Anchor custom errors from programVu1cUxynmbPUsFqVz51FJJ2y69vX2yrkTS13ajomd9D. In a failed transaction they appear as Custom(<code>) on the aggregator instruction and by name in the program logs.
Administration and validation errors (
6000 InvalidAmount, 6004 InvalidIndex, 6012–6015 InvalidFeeRecipient / FeeTooHigh / InvalidAdmin / ProtocolNotInitialized, 6018 InvalidStepCount) occur only on protocol-admin instructions or malformed hand-built transactions — not on engine-built swaps.
Solana runtime & SPL Token errors
These are not Vulcx program errors — they come from the network or the token program, so they carry no6xxx code.