Quick Start Data
Make your first Carbium Data calls: search tokens, resolve one mint, batch resolve multiple mints, and load cached token logos from the public REST API.
Quick Start Data
Use this page when you want the fastest path from zero to one working Carbium Data request.
The live Carbium Data surface is the Token Index API at https://tokens.carbium.io. It is a public REST API for Solana token search, mint lookup, batch resolves, metadata enrichment, and cached token logos. No API key is required for the current free rate-limited surface.
The 5-minute path
For most builders, start in this order:
- Search for a token with
GET /tokens. - Pick a mint address from the result.
- Resolve the mint with
GET /tokens/:mint. - Batch resolve known mints with
POST /tokens/batch. - Use
GET /img/:mintwhen you need a cached logo URL for an<img>tag or backend asset flow.
Base URL:
https://tokens.carbium.io1. Search tokens
Search by mint, symbol, or partial name. Results are ranked toward exact mint, exact symbol, symbol prefix, name prefix, then fuzzy matches.
curl 'https://tokens.carbium.io/tokens?q=USDC&limit=3'Common query parameters:
| Parameter | Type | Notes |
|---|---|---|
q | string | Optional text query: mint, symbol, or partial name |
limit | integer | Optional, 1–200, default 50 |
page | integer | Optional, 1-indexed, default 1 |
include_token22 | boolean | Optional, default true; set false to hide Token-2022 mints |
Minimal response shape:
{
"items": [
{
"mint": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"symbol": "USDC",
"name": "USD Coin",
"decimals": 6,
"logo_url": "https://...",
"logo_status": "ok",
"is_token22": false
}
],
"page": 1,
"limit": 3,
"total": null
}2. Resolve one mint
Use a mint address when your app already knows the token and needs the current Carbium token record.
curl 'https://tokens.carbium.io/tokens/So11111111111111111111111111111111111111112'This returns one token object. Fields can include basic identity, logo state, Token-2022 status, supply, authorities, Metaplex URI, external links, extensions, and tags. Some fields are nullable when metadata is missing or still being enriched.
3. Batch resolve mints
Use the batch endpoint when your UI or backend already has a list of mint addresses and needs token records in one request.
curl -X POST 'https://tokens.carbium.io/tokens/batch' \
-H 'content-type: application/json' \
-d '{
"mints": [
"So11111111111111111111111111111111111111112",
"EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
]
}'mints accepts up to 500 base58 mint addresses per request.
The response contains:
items: records the API resolvedunknown: mint addresses that were not found
4. Try it from TypeScript
Use this tiny client when you want to prove the API path inside an app before wiring a full selector or cache.
const DATA_BASE = "https://tokens.carbium.io";
export async function findToken(query: string) {
const url = new URL("/tokens", DATA_BASE);
url.searchParams.set("q", query);
url.searchParams.set("limit", "5");
const response = await fetch(url);
if (response.status === 429) {
throw new Error("Carbium Data rate limit hit. Back off and retry later.");
}
if (!response.ok) {
throw new Error("Carbium Data request failed with HTTP " + response.status);
}
const data = await response.json();
return data.items ?? [];
}
const matches = await findToken("USDC");
console.log(matches.map((token) => ({
mint: token.mint,
symbol: token.symbol,
name: token.name,
logoStatus: token.logo_status,
})));This is only the discovery call. Store mint addresses as the durable value, then use GET /tokens/:mint or POST /tokens/batch when your app needs to hydrate known tokens.
5. Load a cached logo
Use the image endpoint when your app wants a token logo without depending directly on the original upstream asset URL.
curl 'https://tokens.carbium.io/img/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v' -o usdc.pngIn a browser:
<img
src="https://tokens.carbium.io/img/EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v"
alt="USDC logo"
/>The response is cached server-side after the first hit. Your app should still provide a local fallback for unknown or missing logos.
Before production
Read Rate Limits before you ship a public frontend or high-traffic backend. The public surface is free and rate-limited; production apps should cache responses, batch where possible, and avoid repeatedly resolving the same mint in hot render paths.
The current Carbium Data token API does not require an API key. If your product needs higher throughput or custom datasets, contact Carbium instead of trying to bypass the public limits.
For the broader platform context, start from Carbium and connect Data with RPC, Swap API, gRPC, and the DEX where your product needs the full Solana stack.
Updated 1 day ago
