Error Response Format
Every error response follows the same envelope structure. Thecode field is a machine-readable string you can match against in your error-handling logic, while message provides a human-readable explanation.
Error Response
Error Code Reference
The table below covers every error code the API can return, what causes it, and how to resolve it.Troubleshooting Common Errors
401 INVALID_API_KEY — Invalid or revoked API key
401 INVALID_API_KEY — Invalid or revoked API key
This error means the API key you provided either does not exist in our system or has been revoked.Steps to resolve:
- Open your dashboard and navigate to Settings → API Keys.
- Confirm the key you are using matches the one listed (they are partially masked — copy a fresh one if unsure).
- Check that your
Authorizationheader is formatted exactly asBearer YOUR_API_KEYwith a single space betweenBearerand the key and no trailing whitespace. - If you recently rotated your key, make sure all environments and services have been updated to use the new value.
- If the key appears correct but the error persists, revoke it and generate a new one.
403 PLAN_REQUIRED — Endpoint requires a higher plan
403 PLAN_REQUIRED — Endpoint requires a higher plan
This error means the endpoint you are calling is restricted to Pro API plan subscribers and is not available on your current plan.Steps to resolve:
- Review the endpoint’s documentation to confirm which plan tier is required.
- Navigate to Settings → Plan & Billing to review your current plan and upgrade options.
- If you recently upgraded, allow a few minutes for your new plan permissions to propagate, then retry the request.
404 NOT_FOUND — Token address not found
404 NOT_FOUND — Token address not found
This error means the token address you supplied does not exist in our index for the specified network.Steps to resolve:
- Double-check the contract address against a block explorer (Etherscan, BscScan, etc.) to confirm it is a valid token contract.
- Make sure you are querying the correct network. A token address on Ethereum will not resolve on BNB Chain, even if the address string looks valid.
- Newly deployed tokens can take up to five minutes to appear in the index after their first on-chain trade.
- Use the
GET /searchendpoint to look up a token by symbol or name if you are unsure of the exact address.
404 NOT_FOUND — Network not found
404 NOT_FOUND — Network not found
This error means the
{network} path segment you provided does not match any supported network slug.Steps to resolve:- Fetch the full list of supported networks and their slugs by calling
GET /networks. - Use the
idfield from that response as the{network}path parameter — for example,ethereum,bsc,solana. - Network slugs are lowercase and use underscores, not hyphens (e.g.,
arbitrum_one, notarbitrum-one).
422 INVALID_ADDRESS — Contract address format is invalid
422 INVALID_ADDRESS — Contract address format is invalid
This error means the address string you passed is syntactically malformed and cannot be resolved to a contract, regardless of which network you queried.Steps to resolve:
- For EVM networks (Ethereum, BNB Chain, Polygon, Arbitrum, etc.), ensure the address is a 42-character hexadecimal string starting with
0x. Checksummed (mixed-case) addresses are accepted; lowercase is also valid. - For Solana, ensure the address is a valid Base58-encoded public key (typically 32–44 characters).
- Check for common copy-paste issues: extra spaces, truncated strings, or characters from a surrounding URL.
- Use the
GET /searchendpoint to find the canonical address for a token or pool if you only have a name or symbol.
429 RATE_LIMITED — Daily quota exceeded
429 RATE_LIMITED — Daily quota exceeded
Your account has consumed all of its allocated requests for the current UTC day. The API will reject further requests until the quota resets.Steps to resolve:
- Check the
X-RateLimit-Resetresponse header for the Unix timestamp when your quota resets (always midnight UTC). - Review the
X-RateLimit-LimitandX-RateLimit-Remainingheaders on your previous responses — if you were not monitoring them, start doing so to add proactive throttling to your code. - Reduce redundant requests by caching responses and using
POST /tokens/batchfor multi-token lookups. - Upgrade to the Pro API plan for unlimited requests with no daily or per-minute caps.
500 INTERNAL_ERROR — Server-side error
500 INTERNAL_ERROR — Server-side error
This error indicates an unexpected failure on the DexUtils API server. It is not caused by your request parameters.Steps to resolve:
- Retry the request using exponential backoff — most transient server errors resolve within one or two retries.
- Check the DexUtils Status Page for any active incidents that may be affecting the API.
- If the error persists across multiple retries and no incident is reported, contact support@dexutils.io and include the
X-Request-IDresponse header value so the support team can trace your request in the server logs.
If you receive repeated
500 INTERNAL_ERROR responses that are not resolved by retrying, please contact support at support@dexutils.io and include the X-Request-ID response header value so the team can trace your specific requests in the server logs.