error code, which is what you should match on. The message field is written for humans and may change without notice.
Error Response Format
Code-specific fields are additive, so we recommend handling their absence rather than assuming they are present.
Auth and Access
Trading
The three migration codes describe one sequence. A token leaves the bonding curve, spends a short period in
migration_pending while the Raydium pool is created, and may briefly return pool_not_open before trading resumes. All three clear on their own, so retrying after a delay is the right response.You do not need to route migrated tokens elsewhere yourself. The trade endpoints resolve the venue per request and execute against the pool once migration completes.Governance
Metadata and Mutability
Validation
Link Fields on update-content
Thewebsite, twitter, and telegram fields on proposals/update-content are validated separately from the rest of the body, and they are currently the one place where the error contract does not hold.
Normalization is strict. The
website field must resolve to https:// with a dotted hostname, twitter must reduce to a handle matching [A-Za-z0-9_]{1,15}, and telegram to [A-Za-z0-9_]{5,32}. Bare handles, @handle, and full URLs are all accepted as input and normalized to a canonical URL.
Infrastructure
These errors are transient, and retrying with backoff is appropriate.Oracle
The SOL price oracle gates operations that price in USD, and all four of these errors are transient.Error Handling in Code
The most useful way to group these is not by HTTP status but by what you should do next.Retry Logic
- 429 (Rate Limited): wait for the interval in
retry-after, then retry. Nothing was submitted on-chain. - 409 (
migration_pending,pool_not_open): the token is between venues. Wait a few seconds and retry, since nothing was submitted on-chain. - 500/502 on reads: retry with exponential backoff, up to a fixed attempt ceiling.
- 400/401/403/404 and most 422s: do not retry, since the request needs to change first.
- Any write endpoint: see the caution below before retrying at all.
A
429 and a 403 daily_cap_exceeded both indicate that you should slow down, but rate limits clear within the minute whereas volume caps reset at 00:00 UTC. We recommend handling them separately.Trench emits a broader error catalog than this page covers. Codes tied to token launches, creator rewards, referrals, and trader cashback only arise on first-party surfaces and are unreachable through the Partner API. Everything reachable with a partner access token is listed above.