Errors
The API returns normal HTTP status codes and JSON error bodies.
Common Status Codes
| Status | Meaning |
|---|---|
400 | Invalid Solana address or malformed request field. |
401 | Missing or invalid API key. |
404 | Managed wallet or source wallet not found. |
422 | Valid JSON, but the operation does not make sense. |
429 | Rate limited — only from /v1/laser/setup, one call per IP per 5 seconds. |
502 | Upstream RPC/provider, transaction submission, or simulation failure. |
503 | Required provider configuration is missing. |
Error Shape
{
"detail": "destination split does not consume selected transfer total"
}
Retry Notes
- Do not blindly retry transaction execution after a timeout if a signature was returned.
- For batch-style operations like consolidation, inspect per-transaction results before retrying.
- For
422, change the request. Retrying the same payload will not help.
Trade-Specific Errors
Trade endpoints return 400 for routing or request-shape problems:
{
"detail": "trade simulation failed: InstructionError(...)"
}
Common trade fixes:
| Error hint | Fix |
|---|---|
action must be buy or sell | Use exactly "buy" or "sell". |
sell amount must be denominated in token units | For sells, set denominated_in_sol: false and pass token atomic units. |
PumpSwap buys must be denominated in SOL | Token-exact buys only work on the bonding curve; use a SOL amount for graduated tokens. |
slippageBps must not exceed 5000 | Lower slippage_bps to 5000 or below. |
Helius Sender is required for trade execution | Don't send use_helius_sender: false — it cannot be disabled. |
bonding curve completed while routing | The token graduated mid-request — retry, it will route to PumpSwap. |
simulation failed | Check wallet balance, token balance, slippage, pool, and token state. |