Errors
Overview
The API uses standardized error codes to help you identify and troubleshoot issues. All error responses follow this format:
HTTP Status Codes
400
Bad Request - The request was invalid
401
Unauthorized - Authentication is required or failed
404
Not Found - The requested resource was not found
409
Conflict - The request conflicts with the current state
429
Too Many Requests - Rate limit exceeded
500
Internal Server Error - Something went wrong on our end
Error Codes
Validation Errors (400)
VALIDATION_ERROR
Generic validation error
Check the errors
array for specific field validation issues
INVALID_ADDRESS
Invalid Solana address format
Ensure the address is a valid Solana public key
INVALID_TOKEN_ADDRESS
Invalid token address format
Ensure the token address is a valid Solana token mint address
INVALID_CLAIM_TYPE
Invalid claim type
Claim type must be either "TOKEN" or "SOL"
INVALID_SIGNATURE
Invalid transaction signature format
Ensure the signature is in the correct format
Authentication Errors (401)
MISSING_AUTHENTICATION
Missing signature or timestamp headers
Include both X-Signature and X-Timestamp headers
INVALID_SIGNATURE
Signature verification failed
Ensure the signature matches the timestamp and is from the correct wallet
EXPIRED_SIGNATURE
Timestamp is older than 5 minutes
Generate a new timestamp and signature
INVALID_TIMESTAMP
Timestamp is not a valid number
Ensure the timestamp is a valid Unix timestamp in milliseconds
SIGNATURE_VERIFICATION_ERROR
Error during signature verification
Check that the signature is properly encoded in base58 format
Resource Errors (404)
TOKEN_NOT_FOUND
Token not found or no rewards available
Verify the token address or check if any rewards are available
CLAIM_NOT_FOUND
Claim transaction not found
Verify the transaction signature
Logical Errors (400-409)
CLAIM_ERROR
Generic claim error
Check the error message for more details
CLAIM_IN_PROGRESS
A claim for this token is already in progress
Wait for the existing claim to complete or expire
CLAIM_EXPIRED
Claim transaction has expired
Initiate a new claim
CLAIM_FAILED
Claim transaction failed during processing
Check the error message and blockchain explorer for details
Service Limits (429)
RATE_LIMIT_EXCEEDED
Too many requests
Slow down your request rate and try again later
Error Handling Best Practices
Always check the error code, not just the HTTP status
Implement exponential backoff for retrying rate-limited requests
Display human-readable error messages to your users
Log detailed error information for debugging
Handle common errors gracefully in your UI
Last updated