Every error response follows the same format. The code field identifies the error type and the message provides a human-readable explanation.
{
"success": false,
"error": {
"code": "ERROR_CODE",
"message": "Description of what went wrong"
}
}
Each endpoint page also lists its specific errors. This page is a consolidated reference across the entire API.
Authentication
| Code | Message | Cause | Solution |
|---|
UNAUTHORIZED | Invalid or missing API key | API key is missing from the request header or is invalid | Add a valid X-API-Key header. Get your key from the Dashboard. |
Rate Limiting
| Code | Message | Cause | Solution |
|---|
RATE_LIMIT | Rate limit exceeded | Too many requests in a short period | Back off and retry with exponential delay. See Rate Limits for plan-specific limits. |
Wallet Validation
| Code | Message | Cause | Solution |
|---|
INVALID_WALLET | Invalid private key / Invalid wallet address | A private key or public key is malformed | Verify the key is a valid base58-encoded Solana key |
NO_WALLETS | No wallets provided | The wallet array is empty or missing | Provide at least one wallet in the request |
TOO_MANY_WALLETS | Maximum 100 wallets per request | Array exceeds the per-request limit | Split into multiple requests of 100 wallets or fewer |
INVALID_DESTINATION | Invalid public key | A destination address is not a valid Solana public key | Check destination addresses for typos or invalid format |
NO_DESTINATIONS | No destination wallets | No destination wallets provided in a distribute request | Add at least one destination public key |
NO_SOURCES | No source wallets | No source wallets provided in a withdraw request | Add at least one source private key |
INVALID_COUNT | Count must be between 1 and 100 | Wallet creation count is out of range | Use a value between 1 and 100 |
Token Validation
| Code | Message | Cause | Solution |
|---|
INVALID_TOKEN | Invalid token address | Token address is not a valid Solana address | Verify the mint address is correct |
INVALID_MINT | Invalid mint address | One of the mint addresses is malformed | Check the mint address format |
NO_MINTS | No mints provided | No mint addresses in the request | Add at least one mint address |
Amount Validation
| Code | Message | Cause | Solution |
|---|
INVALID_AMOUNT | Invalid amount configuration | Amount mode, value, or range is missing or invalid | Check the amount object — ensure mode is valid and required fields are present |
INVALID_RANGE | min must be ≤ max | Range minimum exceeds the maximum | Swap min and max or correct the values |
INVALID_PERCENT | Percent must be 1–100 | Percentage value is out of range | Use a value between 1 and 100 |
Balance Errors
| Code | Message | Cause | Solution |
|---|
INSUFFICIENT_BALANCE | Insufficient SOL / Insufficient balance | Wallet does not have enough SOL or tokens | Fund the wallet or reduce the amount |
INSUFFICIENT_SOL | Insufficient SOL balance | Not enough SOL for the operation cost | Add SOL to cover the transaction and fees |
INSUFFICIENT_TOKENS | Insufficient token balance | Wallet does not hold enough of the specified token | Check the token balance before selling |
NO_BALANCE | No balance for token | Wallet does not hold the specified token at all | Verify the wallet address and mint are correct |
Token Creation
Errors specific to Create Token.
| Code | Message | Cause | Solution |
|---|
INVALID_NAME | Token name too long | Name exceeds 32 characters | Shorten the token name to 32 characters or fewer |
INVALID_SYMBOL | Token symbol too long | Symbol exceeds 10 characters | Shorten the symbol to 10 characters or fewer |
INVALID_IMAGE | Invalid image format / Image URL must be from a supported source | Image format not supported or URL not accepted | Use PNG, JPG, GIF, or WebP from a supported host |
INVALID_SOCIAL | Invalid Twitter URL / Invalid Telegram URL | Social media URL format is incorrect | Use the full URL (e.g., https://x.com/yourhandle) |
Token Management
Errors specific to PumpFun management endpoints (claim, update, transfer, revoke).
| Code | Message | Cause | Solution |
|---|
NOT_ADMIN | Wallet is not the token admin | The wallet does not have admin authority over this token | Use the wallet that created the token or currently holds admin authority |
NOT_RECIPIENT | Wallet is not a fee recipient | Wallet is not in the token’s fee recipients list | Verify the wallet is registered as a fee recipient |
NOT_CASHBACK_TOKEN | Token does not have cashback enabled | Token was not created with isCashback: true | Only cashback-enabled tokens support this endpoint. See Claim Cashback |
REVOKED | Token update authority has been revoked | The token can no longer be modified | This action is permanent — the token cannot be updated or transferred |
ALREADY_REVOKED | Token update authority already revoked | Revoke was already performed | No action needed — the token is already immutable |
CONFIRM_REQUIRED | confirm must be true | The confirm field is missing or set to false | Set confirm: true to acknowledge the irreversible action |
SAME_OWNER | New owner is the same as current | Transfer destination is the current admin | Provide a different wallet address as the new owner |
INVALID_NEW_OWNER | Invalid new owner address | The new owner address is not valid | Check the address format |
INVALID_RECIPIENT | Invalid recipient wallet address | One of the fee recipient addresses is invalid | Verify all recipient public keys |
INVALID_SHARE | Share must be between 1 and 100 | A fee share value is out of range | Use values between 1 and 100 |
INVALID_SHARE_TOTAL | Fee shares must total 100% | Sum of all shares does not equal 100 | Adjust share values so they add up to exactly 100 |
TOO_MANY_RECIPIENTS | Maximum 10 recipients allowed | More than 10 wallets in the recipients list | Reduce to 10 recipients or fewer |
NO_RECIPIENTS | At least 1 recipient required | Empty recipients list | Add at least one fee recipient |
Funding
Errors specific to Distribute and Withdraw.
| Code | Message | Cause | Solution |
|---|
INVALID_METHOD | Invalid method | Transfer method is not recognized | Use DIRECT, ISOLATED, EXCHANGE, or PRIVACY |
METHOD_UNAVAILABLE | Method not available | The selected method is not yet available | Use DIRECT or ISOLATED for now |
Utilities
Errors specific to Token Info, Close Accounts, and Burn.
| Code | Message | Cause | Solution |
|---|
INVALID_FILTER | Invalid filter | Filter value is not recognized | Use ALL, EMPTY, or WITH_BALANCE |
ACCOUNT_NOT_EMPTY | Account has balance | Token account still holds tokens and cannot be closed | Burn or sell the remaining tokens first, then close the account |
Server Errors
| Code | Message | Cause | Solution |
|---|
INTERNAL_ERROR | Internal server error | Unexpected server-side error | Retry the request. If it persists, open a ticket on Discord with the error details. |
SERVICE_UNAVAILABLE | Service temporarily unavailable | The API is down or unreachable | Check the Status Page and retry later |
What’s Next?
Rate Limits
Understand request limits and throttling
Best Practices
Tips for reliable API integration