Skip to content
  • System
  • Light
  • Dark

Plans, limits & credits

View as Markdown

Every plan has a rate limit (requests per second, with a burst of twice that), a monthly credit quota, WebSocket limits and a set of endpoints. Each request costs a number of credits depending on the endpoint; cheap calls such as prices cost 1.

Plan Price Credits / month Requests / s WebSockets Subscriptions
Anonymous (no key) free n/a, per IP 2 none none
Free $0 1,000,000 10 1 10
Starter $19 / month 10,000,000 25 3 100
Pro $79 / month 50,000,000 75 10 1,000
Business $249 / month 200,000,000 200 50 10,000
Enterprise custom custom custom custom custom

Paying for 6 months gives 10% off, and 12 months 20% off. Plans are paid on-chain on Robinhood Chain in USDG, ETH or WETH; see Billing & payments. Credits reset at the start of each UTC month and are shared by all of an account’s keys.

Plan needed Endpoints Credits per call
Anonymous token profile, price, batch prices, batch profiles, pools, pool, token lists, search, stats, volume, launchpads, security (cached), status, chains 1
Anonymous trades, candles 2
Free holders, launch, activity feed, hooks, hook detail 2
Free holder snapshot, top traders, liquidity & locks, developer profile 5
Free WebSocket stream (per connection) 1
Starter wallet profile, wallet trades, fees & claims 5
Starter holder cohort, holder history, bundles, bubble map, wallet connections 10
Starter fresh security simulation (/security?fresh=1) 20
Enterprise firehose:trades stream channel (every trade on chain)

Each endpoint page in the API reference shows its plan and cost. Calls to the Account API (/v1/account/*) are free and don’t count against your credits.

Every data response carries:

Header Meaning
x-ratelimit-limit Your requests-per-second limit for this key
x-ratelimit-remaining Requests left in the current burst
x-ratelimit-reset Milliseconds until the bucket refills (1000)
x-credits-cost Credits this request cost
x-quota-remaining Credits left this month (after this request)

When you go over the rate limit you get 429 rate_limited with a retry-after header (seconds). When the month’s credits run out you get 429 quota_exceeded until the next month, or until you upgrade.

async function crius(path, tries = 4) {
for (let i = 0; i < tries; i++) {
const res = await fetch(`https://api.crius.sh${path}`, {
headers: { "x-api-key": process.env.CRIUS_API_KEY },
});
if (res.status !== 429) return res.json();
const body = await res.json();
if (body.error?.code === "quota_exceeded") throw new Error("monthly credits used up");
const wait = Number(res.headers.get("retry-after") ?? 1) * 1000;
await new Promise((r) => setTimeout(r, wait + Math.random() * 250));
}
throw new Error("still rate limited");
}

The dashboard shows usage per day and per endpoint, and GET /v1/account/usage returns the same data. We email you when you reach 50%, 80%, 90% and 100% of your monthly credits.