API Reference
Base URL:
https://api.soltop.sh
Authentication & rate limits
Authentication is optional. Every endpoint works with
no key at the anonymous tier. Sending an API key raises you to your
key's tier and gives you a private per-key budget. Pass the key as a
bearer token on any /api/* request:
curl https://api.soltop.sh/api/summary \
-H "Authorization: Bearer sk_live_your_key_here"
Tiers
Limits are per fixed 60-second window. Anonymous traffic is bucketed by client IP; keyed traffic gets its own per-key budget (not shared with anonymous IP traffic).
| Tier | Limit | Bucketed by | How to get it |
|---|---|---|---|
| anonymous | 30 req/min | client IP | no key required |
| free | 120 req/min | API key | self-mint in the dashboard |
| partner | 3,000 req/min | API key | issued by Soltop |
Response headers
Every /api/* response carries:
| Header | Meaning |
|---|---|
| X-API-Tier | the tier your request resolved to (anonymous, free, partner, …) |
| RateLimit-Limit | your tier's request ceiling for the window |
| RateLimit-Remaining | requests left in the current window |
| RateLimit-Reset | absolute Unix epoch seconds when the window resets (not seconds-remaining) |
Errors
| Status | When | Body |
|---|---|---|
| 429 | over your window limit. Also sends a Retry-After: <seconds> header. |
{ "error": "Rate limit exceeded", "tier": "partner", "limit": 3000, "window": "1m", "retry_after_seconds": <n> } |
| 401 | a key was sent but is invalid or expired (a missing key is not an error — it's anonymous). | { "error": "Invalid API key" } |
Need a higher tier or MEV Analysis API access? Reach us on Discord.
Loading spec