We just launched! If you find any bugs, please report them. Your support means everything — we're improving every day.
- Token launches and trading are live
- Bug reports with a screenshot go straight to the team
- Valid bug reports are rewarded
Public read API for ARCTIS token data, trades, OHLCV candles, holders, supply and platform stats.
All public endpoints are read-only GET requests under /api/v1 (a few legacy supply aliases live under /api). They return JSON unless noted. No API key or authentication is required for the endpoints listed here.
Base URL: https://arctis.fun
Every response carries the Access-Control-Allow-Origin: * header, so browser clients and cross-origin dashboards can read them directly. A preflight OPTIONS request returns 204.
Errors use one envelope: { "error": { "code", "message", "retryable", "correlationId" } }. Common codes: INVALID_REQUEST, NOT_FOUND, RATE_LIMITED (retryable), SERVICE_UNAVAILABLE (retryable).
List endpoints expose an index-freshness object coverage (network, finality, asOf, status) and, where paginated, an opaque nextCursor.
List ARCTIS-indexed tokens (both Solana and Robinhood Chain) with cursor pagination and current metrics.
| Param | Type | Description |
|---|---|---|
| chain | all | solana | robinhood | Filter by network (default all). |
| mode | all | native | pump | raydium | meteora | Launch mode (default all). |
| status | all | active | graduated | failed | Lifecycle status (default all). |
| q | string | Case-insensitive search on name, symbol or mint. |
| limit | integer | Page size (default 50). |
| cursor | string | Opaque cursor from a previous nextCursor. |
curl "https://arctis.fun/api/v1/tokens?chain=solana&limit=20"Example response
{
"data": [
{
"mint": "8x…arct",
"name": "Example Token",
"symbol": "EXMPL",
"decimals": 6,
"cluster": "mainnet-beta",
"mode": "native",
"status": "active",
"last_price": "0.000000123",
"market_cap_sol": "98.40",
"volume_24h_lamports": "1230000000",
"change_percent": "12.34",
"holder_count": "128",
"bonding_progress": "37.50",
"hot": false
}
],
"nextCursor": "eyJ…",
"coverage": { "network": "mainnet-beta", "finality": "finalized", "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" }
}Explore board with server-side sort, filter and search over the indexed tokens.
| Param | Type | Description |
|---|---|---|
| sort | newest | volume | change | mcap | holders | trades | Sort key. |
| order | asc | desc | Sort direction. |
| q | string | Search name, symbol or mint. |
| chain | solana | robinhood | Network filter. |
| limit | integer | Page size. |
| cursor | string | Pagination cursor. |
curl "https://arctis.fun/api/v1/explore?sort=volume&order=desc"Example response
{
"data": [ { "mint": "8x…arct", "name": "Example Token", "symbol": "EXMPL", "…": "…" } ],
"nextCursor": "eyJ…",
"coverage": { "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" }
}Search tokens across external venues (providers are kept server-side).
| Param | Type | Description |
|---|---|---|
| q | string | Search term (required). |
curl "https://arctis.fun/api/v1/search/tokens?q=dog"Example response
{
"data": [ { "mint": "…", "name": "…", "symbol": "…", "dexId": "raydium", "…": "…" } ],
"query": "dog",
"asOf": "2026-10-19T13:00:00.000Z",
"source": "internal",
"externalSource": null,
"externalUnavailable": false
}Search indexed tokens and ARCTIS profiles in one call.
| Param | Type | Description |
|---|---|---|
| q | string | Search term. |
| type | all | tokens | users | Scope (default all). |
curl "https://arctis.fun/api/v1/search?q=cat&type=tokens"Example response
{
"tokens": [ { "mint": "…", "name": "…", "symbol": "…" } ],
"users": [ { "id": "…", "handle": "…", "display_name": "…" } ]
}Top-coins marquee (volume and view leaders), cached ~10s.
Example requestcurl "https://arctis.fun/api/v1/ticker"Example response
{
"data": [ { "mint": "…", "symbol": "…", "priceUsd": "…", "change24hPct": "…", "volumeUsd24h": "…" } ],
"serverTime": "2026-10-19T13:00:00.000Z"
}One indexed token with its latest metrics. The mint is a Solana base58 address or a Robinhood Chain (EVM) 0x address.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct"Example response
{
"data": { "mint": "8x…arct", "name": "…", "symbol": "…", "decimals": 6, "cluster": "mainnet-beta", "status": "active", "last_price": "0.000000123", "market_cap_sol": "98.40", "change_percent": "12.34", "…": "…" },
"coverage": { "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" },
"external": null,
"solUsd": { "usd": 178.42, "asOf": "2026-10-19T13:00:00.000Z" },
"quoteUsd": { "usd": 178.42, "asOf": "2026-10-19T13:00:00.000Z", "asset": "SOL" }
}Market summary: price, market cap, liquidity, volume, 24h change and transactions.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/market"Example response
{
"data": {
"listed": true,
"dex": "raydium",
"pairAddress": "…",
"priceUsd": "0.000123",
"marketCapUsd": 123456.78,
"fdvUsd": 234567.89,
"liquidityUsd": 42000,
"volumeUsd": { "h24": 12000, "h6": 3000, "h1": 500, "m5": 90 },
"priceChangePct": { "h24": 12.34, "h6": 2.1, "h1": 0.4, "m5": 0.1 },
"txns": { "h24": { "buys": 210, "sells": 180 }, "m5": { "buys": 3, "sells": 2 } },
"asOf": "2026-10-19T13:00:00.000Z"
}
}Token description and social links (X, Telegram, website).
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/about"Example response
{ "data": { "description": "…", "links": [ { "label": "X", "url": "https://x.com/…" } ] } }Safety report: badge, score, mint/freeze authority status and risk flags.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/safety"Example response
{
"data": {
"badge": "caution",
"score": 32,
"risks": [ { "name": "…", "level": "warn", "score": 20 } ],
"lpLockedPct": 100,
"mintAuthorityRevoked": true,
"freezeAuthorityRevoked": true,
"sources": ["…"],
"asOf": "2026-10-19T13:00:00.000Z"
}
}Recent transactions for a token with 24h buy/sell counts.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/txns"Example response
{
"data": [ { "signature": "…", "side": "buy", "amountSol": "0.12", "amountToken": "420000", "wallet": "…", "at": "2026-10-19T12:59:00.000Z" } ],
"counts24h": { "buys": 210, "sells": 180 },
"source": "arctis-indexer",
"asOf": "2026-10-19T13:00:00.000Z"
}Trade-panel overview (price and market cap context) for any Solana mint.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/overview"Example response
{ "data": { "priceUsd": 0.000123, "marketCapUsd": 123456.78, "…": "…" } }Compact per-token data consumed by the token insight widgets.
| Param | Type | Description |
|---|---|---|
| metric | holders | market | safety | txns | chart | topholders | locks | Which insight to return. |
curl "https://arctis.fun/api/token/8x…arct/market"Example response
{
"data": {
"holders": 128,
"liquiditySol": "420.0",
"liquidityUsd": 42000,
"txns24h": { "buys": 210, "sells": 180 },
"priceUsd": "0.000123",
"change24hPct": 12.34,
"asOf": "2026-10-19T13:00:00.000Z"
}
}The most recent finalized trades across all indexed tokens.
Example requestcurl "https://arctis.fun/api/v1/trades"Example response
{
"data": [ { "mint": "…", "signature": "…", "side": "buy", "price": "0.000000123", "quote_amount": "120000000", "base_amount": "974000000", "trader": "…", "symbol": "EXMPL", "decimals": 6, "block_time": "2026-10-19T12:59:59.000Z" } ],
"coverage": { "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" }
}Trades for one token (latest first).
| Param | Type | Description |
|---|---|---|
| wallets | comma list | Optional: restrict to up to 10 trader wallets. |
curl "https://arctis.fun/api/v1/tokens/8x…arct/trades"Example response
{
"data": [ { "signature": "…", "side": "sell", "price": "0.000000121", "quote_amount": "96000000", "base_amount": "790000000", "trader": "…", "block_time": "2026-10-19T12:58:00.000Z" } ],
"coverage": { "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" }
}On-chain transaction status for a Solana signature.
Example requestcurl "https://arctis.fun/api/v1/transactions/5c…sig"Example response
{ "signature": "5c…sig", "status": "finalized", "slot": "278000000", "errorCode": null }Native OHLCV over finalized on-chain trades. Weekly buckets align to Monday 00:00 UTC.
| Param | Type | Description |
|---|---|---|
| interval | 1s | 15s | 30s | 1m | 5m | 15m | 30m | 1h | 4h | 1d | 1w | Candle interval (default 5m). |
| to | unix seconds | Exclusive upper bound; walks history backwards for backfill. |
| limit | integer | Max newest buckets (default 500, max 2000). |
curl "https://arctis.fun/api/v1/tokens/8x…arct/candles?interval=1h&limit=24"Example response
{
"data": [
{ "time": "1750000000", "open": "0.000000100", "high": "0.000000130", "low": "0.000000095", "close": "0.000000123", "volume": "1230000000" }
],
"coverage": { "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" }
}OHLCV for external-venue tokens (DB cache of third-party history).
| Param | Type | Description |
|---|---|---|
| interval | 1s | 15s | 30s | 1m | 5m | 15m | 30m | 1h | 4h | 1d | 1w | Candle interval (default 5m). |
| to | unix seconds | Exclusive upper bound. |
| limit | integer | Max bars (default 500, max 2000). |
curl "https://arctis.fun/api/v1/tokens/8x…mint/bars?interval=15m"Example response
{
"data": [ { "time": 1750000000, "open": 0.0001, "high": 0.00013, "low": 0.000095, "close": 0.000123, "volume": 1234 } ],
"source": "third-party OHLCV (cached)"
}Batched market data for up to 30 mints in one call (the pairs-style lookup for aggregated listings).
| Param | Type | Description |
|---|---|---|
| mints | comma list | Up to 30 Solana mints (required). |
curl "https://arctis.fun/api/v1/market/batch?mints=8x…arct,9y…mint"Example response
{
"data": [
{ "mint": "8x…arct", "listed": true, "priceUsd": "0.000123", "liquidityUsd": 42000, "volume24hUsd": 12000, "change24hPct": 12.34, "mcapUsd": 123456.78, "txns24h": { "buys": 210, "sells": 180 } }
],
"source": "third-party aggregated market data",
"asOf": "2026-10-19T13:00:00.000Z"
}Indexed holder list with raw balances.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/holders"Example response
{
"data": [ { "owner": "…", "balance_raw": "974000000", "slot": "278000000" } ],
"coverage": { "asOf": "2026-10-19T13:00:00.000Z", "ownerCount": 128, "status": "partial" }
}Holder summary: top-10 distribution, creator share, flags and LP vaults.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/holders/summary"Example response
{
"data": { "status": "indexed", "totalHolders": 128, "top10": [ { "owner": "…", "pctOfSupply": 8.2, "role": "holder" } ], "creatorPct": 2.1, "flags": [], "asOf": "2026-10-19T13:00:00.000Z" }
}Holder graph (nodes and edges) for the bubble map.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/graph"Example response
{ "nodes": [ { "id": "…", "label": "…", "size": 12 } ], "edges": [ { "source": "…", "target": "…" } ], "coverage": { "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" } }Full holder map (bubble-map data).
Example requestcurl "https://arctis.fun/api/v1/holders/8x…arct"Example response
{ "data": { "…": "…" } }Wallet relations between holders.
Example requestcurl "https://arctis.fun/api/v1/holders/8x…arct/relations"Example response
{ "data": { "…": "…" } }$ARCTIS circulating supply: total supply minus the Jupiter Lock escrows, in whole tokens.
| Param | Type | Description |
|---|---|---|
| format | raw | Optional: return raw atomic units instead of whole tokens. |
curl "https://arctis.fun/api/v1/supply/circulating"Example response
123456789.123456789
Alias of the circulating supply endpoint.
Example requestcurl "https://arctis.fun/api/circulating-supply"Example response
123456789.123456789
On-chain $ARCTIS total supply (burns already deducted), in whole tokens.
Example requestcurl "https://arctis.fun/api/total-supply"Example response
999999999.123456789
Supply endpoints return plain text (not JSON) so listing sites can ingest them directly. ?format=raw returns raw atomic units.
Risk summaries for up to 60 Solana mints (card badges).
| Param | Type | Description |
|---|---|---|
| mints | comma list | Up to 60 mints (required). |
curl "https://arctis.fun/api/v1/risk?mints=8x…arct,9y…mint"Example response
{
"data": [ { "mint": "8x…arct", "badge": "caution", "score": 32, "…": "…" } ],
"asOf": "2026-10-19T13:00:00.000Z"
}Full rug/scam risk report for one mint.
Example requestcurl "https://arctis.fun/api/v1/tokens/8x…arct/risk"Example response
{ "data": { "…": "…" }, "status": "ready" }Platform totals: tokens, graduations, traders, volume and fees by quote asset.
Example requestcurl "https://arctis.fun/api/v1/stats"Example response
{
"tokens": "4821",
"graduated": "317",
"tokensRobinhood": "44",
"traders": "12011",
"volumeLamports": "1230000000000",
"feesLamports": "12300000000",
"volumeWei": "0",
"feesWei": "0",
"coverage": { "network": "all", "finality": "finalized", "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" },
"venues": [ { "id": "native", "label": "ARCTIS Native", "asset": "SOL", "tokens": "3900", "graduated": "300", "volume": "…", "fees": "…" } ]
}Aggregated fee summary.
Example requestcurl "https://arctis.fun/api/v1/fees/summary"Example response
{ "data": { "…": "…" }, "network": "mainnet-beta" }Fee history over a rolling window.
| Param | Type | Description |
|---|---|---|
| days | integer | Window length 1–90 (default 30). |
curl "https://arctis.fun/api/v1/fees/history?days=7"Example response
{ "data": [ { "…": "…" } ], "network": "mainnet-beta" }Fees grouped by token.
Example requestcurl "https://arctis.fun/api/v1/fees/by-token"Example response
{ "data": [ { "…": "…" } ], "network": "mainnet-beta" }The most recent burn receipts.
Example requestcurl "https://arctis.fun/api/v1/burns"Example response
{
"data": [ { "mint": "…", "signature": "…", "amount": "123000000", "finalized_slot": "278000000", "block_time": "2026-10-19T12:00:00.000Z" } ],
"coverage": { "asOf": "2026-10-19T13:00:00.000Z", "status": "partial" }
}Trader leaderboard (profit or volume) over a window.
| Param | Type | Description |
|---|---|---|
| window | 24h | 7d | 30d | all | Ranking window (default 7d). |
| sort | pnl | volume | Ranking metric (default pnl). |
curl "https://arctis.fun/api/v1/leaderboards/traders?window=7d&sort=pnl"Example response
{ "data": [ { "…": "…" } ] }Current SOL price in USD.
Example requestcurl "https://arctis.fun/api/v1/prices/sol"Example response
{ "data": { "usd": 178.42, "asOf": "2026-10-19T13:00:00.000Z" } }Current ETH price in USD.
Example requestcurl "https://arctis.fun/api/v1/prices/eth"Example response
{ "data": { "usd": 2610.33, "asOf": "2026-10-19T13:00:00.000Z" } }Supported chains.
Example requestcurl "https://arctis.fun/api/v1/chains"Example response
{ "data": [ { "id": "solana", "label": "Solana" }, { "id": "robinhood", "label": "Robinhood Chain" } ] }Network status report.
Example requestcurl "https://arctis.fun/api/v1/network/status"Example response
{ "…": "…" }Service health list.
Example requestcurl "https://arctis.fun/api/v1/status"Example response
{ "data": [ { "service": "…", "status": "…", "updated_at": "…" } ], "network": "mainnet-beta", "launchReady": true }Readiness probe (database + program configuration).
Example requestcurl "https://arctis.fun/api/v1/health/ready"Example response
{ "status": "ready", "database": "ready", "financialExecution": "configured", "network": "mainnet-beta" }All public reads share a global 600 requests/minute bucket per client. Some endpoints add a tighter per-scope bucket because they fan out to metered third-party providers.
| Scope | Limit | Applies to |
|---|---|---|
| read | 600/min | All public GET endpoints (global) |
| ticker | 120/min | /api/v1/ticker |
| token-bars | 240/min | /tokens/{mint}/bars |
| token-insights | 300/min | /api/token/{mint}/{metric} |
| supply | 120/min | Supply endpoints |
| risk-batch / risk-report | 60/min | /api/v1/risk, /tokens/{mint}/risk |
| holder-graphs | 60/min | Holders, holder summary and graph |
| holder-map / holder-relations | 60 / 30/min | /api/v1/holders/{mint} and relations |
The public endpoints on this page require no authentication and no API key. They are the same read surface the ARCTIS web app uses.
Account, admin, portfolio and write endpoints (/api/v1/admin/*, auth, swaps, drafts, notifications, etc.) are not public: they require a session, origin and rate limits, and are intentionally omitted from this documentation. For listing or trading integrations, use the read endpoints above only.
If you need higher limits or a dedicated key for a production integration, contact us through the Report / support page.