chart-candlestickRate 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:

Category
Endpoints
Limit

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:

Category
Endpoints
Limit

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

Header
Description
Example

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]envelope

Optimization First

Before requesting higher limits, ensure you're optimizing:

  1. Caching - Are you caching responses?

  2. Batching - Can you batch operations?

  3. Polling - Can you reduce polling frequency?

  4. 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]envelope to discuss custom rate limits for your application.


© 2025 Vision.meme. All rights reserved.

Last updated