Rate Limits
Vision.meme implements rate limits to ensure fair usage and system stability. This guide explains the limits, how to handle them, and best practices.
Rate Limit Tiers
Different endpoints have different rate limits based on their resource intensity.
General API Endpoints
Most read operations have generous limits:
General
GET /tokens GET /tokens/:mintAddress GET /featured
100 requests per 15 minutes
Authentication
POST /auth/challenge POST /auth/verify
20 requests per minute
Resource-Intensive Endpoints
Operations that create resources or upload data have stricter limits:
Token Creation
POST /tokens/create-unsigned POST /tokens/submit
5 requests per hour
File Upload
POST /tokens/upload-image
20 requests per hour
Distribution Updates
PATCH /distribution/:tokenId/settings
10 requests per hour
Featured Tokens
POST /featured/create-unsigned
5 requests per hour
DEX Operations
POST /dex/raydium/cpmm/create-unsigned POST /launchpad/create-unsigned
10 requests per hour
Rate Limit Headers
Every API response includes rate limit information in the headers:
http
Header Descriptions
X-RateLimit-Limit
Maximum requests allowed in window
100
X-RateLimit-Remaining
Requests remaining in current window
87
X-RateLimit-Reset
Unix timestamp when limit resets
1704124800
X-RateLimit-Window
Window size in seconds
900 (15 minutes)
Reading Headers
javascript
Rate Limit Exceeded (429)
When you exceed a rate limit, you'll receive a 429 Too Many Requests response:
Response:
json
Response Headers:
http
Retry-After Header
The Retry-After header tells you how many seconds to wait before retrying:
javascript
Handling Rate Limits
Check Before Request
Monitor your rate limit usage and pause when approaching the limit:
javascript
Exponential Backoff
Implement exponential backoff for retries:
javascript
Request Queue
Implement a queue system to prevent exceeding limits:
javascript
Best Practices
1. Cache Responses
Cache responses to reduce API calls:
javascript
2. Batch Requests
Where possible, use batch operations instead of individual requests:
javascript
3. Monitor Usage
Track your API usage to stay within limits:
javascript
4. Use Webhooks
For real-time updates, consider using webhooks instead of polling:
javascript
Rate Limit by Use Case
Building a Dashboard
Typical Usage:
Initial load: 3-5 requests
Updates: 1 request per minute
Total: ~65 requests per hour
Strategy:
Cache token data for 30-60 seconds
Use pagination for large lists
Update only visible data
Example:
javascript
Token Creation Bot
Typical Usage:
Create 1-5 tokens per hour
Upload images: 1-5 per hour
Check status: ~10 per hour
Total: ~20 requests per hour
Strategy:
Stay within 5 creations per hour limit
Queue creation requests
Add delays between operations
Example:
javascript
Analytics Service
Typical Usage:
Fetch token data: 50-100 per hour
Fetch burn stats: 20-30 per hour
Fetch featured: 10-20 per hour
Total: ~100-150 requests per hour
Strategy:
Heavy caching (5-15 minutes)
Batch operations
Use pagination efficiently
Example:
javascript
Increasing Rate Limits
For applications requiring higher rate limits:
Enterprise Plans
Contact us for custom rate limits:
Higher limits for all endpoints
Dedicated support for integration
Custom SLAs available
Priority access to new features
Contact: [email protected]
Optimization First
Before requesting higher limits, ensure you're optimizing:
Caching - Are you caching responses?
Batching - Can you batch operations?
Polling - Can you reduce polling frequency?
Webhooks - Can you use webhooks instead?
Rate Limit FAQs
Do rate limits reset at a specific time?
No, rate limits are based on sliding windows. Each request starts a new window.
Example:
Make request at 12:00 PM
Limit resets at 12:15 PM (for 15-minute window)
Not tied to clock hours
Are rate limits per API key or IP address?
Rate limits are per authenticated user (JWT token) for authenticated endpoints, and per IP address for public endpoints.
What happens if I hit the limit?
You receive a 429 Too Many Requests response. Wait for the time specified in Retry-After header.
Can I check my current usage?
Yes, check the X-RateLimit-Remaining header on any response.
Do failed requests count toward the limit?
Yes, all requests (successful or failed) count toward rate limits, except for 500 errors.
Next Steps
Error Handling - Handle rate limit errors properly
Code Examples - See rate limiting in practice
Authentication - Understand auth rate limits
Need Higher Limits?
📧 Contact [email protected] to discuss custom rate limits for your application.
© 2025 Vision.meme. All rights reserved.
Last updated