Cambrian Token Holders by Program ID API
GET /api/v1/solana/tokens/holders
Token Holders
Overview
Returns a list of accounts currently holding a specific Solana token (identified by its program ID/mint address), sorted by their current balance in descending order. This endpoint leverages pre-aggregated data for high performance and is ideal for analyzing token ownership distribution. It supports pagination to efficiently retrieve large holder lists.
Business Value
- Portfolio Analysis: Track token distribution across holders to understand concentration and diversification patterns
- Community Insights: Identify large holders and community distribution for token governance and ecosystem health
- Risk Assessment: Monitor holder concentration to assess potential liquidity and market manipulation risks
- Market Research: Analyze token adoption patterns and holder behavior for investment and partnership decisions
- Compliance Monitoring: Track token distribution for regulatory reporting and AML compliance requirements
Endpoint Details
URL:
https://opabinia.cambrian.network/api/v1/solana/tokens/holders
Method: GET
Authentication: Required via X-API-Key header
Query Parameters
| Parameter | Type | Required | Default | Description |
|---|---|---|---|---|
| program_id | string | Yes | - | The program ID (mint address) of the token. Must match the pattern ^[1-9A-HJ-NP-Za-km-z]{32,44}$. |
| limit | integer | No | 100 | Limit the number of results. Minimum: 1, Maximum: 1000. |
| offset | integer | No | 0 | Offset the results, allows you to skip a number of rows before starting to return rows. Minimum: 0, Maximum: 100000. |
Response Field Descriptions
| Response Field | Type | Description |
|---|---|---|
| account | String | The wallet address of the token holder (base58-encoded Solana public key). |
| balanceRaw | UInt64 | The raw token balance in the token's smallest unit (before applying decimals). |
| balanceUi | Float64 | The human-readable token balance with decimals applied. |
| balanceUSD | Float64 | The current USD value of the holder's token balance based on the latest token price. |
Examples
1. Top Token Holders for ORCA
Retrieve the top 5 holders of the ORCA token by balance to analyze ownership concentration.
curl -X GET "https://opabinia.cambrian.network/api/v1/solana/tokens/holders?program_id=orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE&limit=5" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
{
"columns": [
{
"name": "account",
"type": "FixedString(44)"
},
{
"name": "balanceRaw",
"type": "UInt64"
},
{
"name": "balanceUi",
"type": "Float64"
},
{
"name": "balanceUSD",
"type": "Float64"
}
],
"data": [
[
"5ooCx5vKiV2ZxAEKNNHAJjAJ7BARfLUZPGvgiApZjgFD",
14200768337139,
14200768.337139,
17180883.18414367
],
[
"Ce5j11WAsSzM3nkzrw4Kw6v6ic3nbyqpv5eywjYKeKc5",
9279147186819,
9279147.186819,
11226430.857848316
],
[
"3YzoJK4pS8Urmd6PZtj16BMBVtc8eepk3MLs6LYtrArV",
8350646724836,
8350646.724836,
10103079.107081903
],
[
"BwzWKw33iBQin9E8HwFgevCeMByioZCvoZFk7uN433ft",
6027328553947,
6027328.553947,
7292198.9387709405
],
[
"3qPbC7P9baPCXxz2Duqk2Qmbj21ap8pRRbRY8sfobKje",
4078280040240,
4078280.04024,
4934131.118831049
]
],
"rows": 100
// ... additional rows omitted for brevity
}
The top holder (5ooCx5vKiV2ZxAEKNNHAJjAJ7BARfLUZPGvgiApZjgFD) holds approximately 14.2 million ORCA tokens valued at ~$17.2M USD, indicating significant concentration among the largest wallets.
2. Paginated Holder List
Use pagination to retrieve the next page of holders after the top 100, useful for comprehensive holder analysis.
curl -X GET "https://opabinia.cambrian.network/api/v1/solana/tokens/holders?program_id=orcaEKTdK7LKz57vaAYr9QeNsVEPfiu6QeMU1kektZE&limit=100&offset=100" \
-H "X-API-Key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Response:
{
"columns": [
{
"name": "account",
"type": "FixedString(44)"
},
{
"name": "balanceRaw",
"type": "UInt64"
},
{
"name": "balanceUi",
"type": "Float64"
},
{
"name": "balanceUSD",
"type": "Float64"
}
],
"data": [
[
"3qPbC7P9baPCXxz2Duqk2Qmbj21ap8pRRbRY8sfobKje",
4078280040240,
4078280.04024,
4934131.118831049
]
],
"rows": 100
// ... additional rows omitted for brevity
}
By setting offset=100, you retrieve holders ranked 101–200 by balance, allowing you to page through the full holder distribution for deep ownership analysis.
x402 Payment Option
This endpoint supports pay-per-use access via the x402 payment protocol (v2) — pay $0.05 USDC per request using blockchain micropayments. No API key required.
Quick Start (TypeScript)
npm install @x402/fetch @x402/evm viem
import { x402Client } from "@x402/core/client";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { wrapFetchWithPayment } from "@x402/fetch";
import { privateKeyToAccount } from "viem/accounts";
const signer = privateKeyToAccount(process.env.EVM_PRIVATE_KEY as `0x${string}`);
const client = new x402Client();
client.register("eip155:*", new ExactEvmScheme(signer));
const fetchWithPayment = wrapFetchWithPayment(fetch, client);
const response = await fetchWithPayment(
"https://x402.cambrian.network/api/v1/solana/tokens/holders"
);
const data = await response.json();
Quick Start (Python)
pip install "x402[httpx]"
import asyncio, os
from eth_account import Account
from x402 import x402Client
from x402.http.clients import x402HttpxClient
from x402.mechanisms.evm import EthAccountSigner
from x402.mechanisms.evm.exact.register import register_exact_evm_client
async def main():
client = x402Client()
account = Account.from_key(os.getenv("EVM_PRIVATE_KEY"))
register_exact_evm_client(client, EthAccountSigner(account))
async with x402HttpxClient(client) as http:
response = await http.get("https://x402.cambrian.network/api/v1/solana/tokens/holders")
print(response.json())
asyncio.run(main())
Payment Flow
- Send a normal request to the endpoint (no API key needed)
- Server returns
402 Payment Requiredwith payment details - The x402 SDK automatically signs a payment authorization with your wallet
- The SDK resubmits the request with the signed payment
- Server verifies payment and returns the API response
The x402 SDK handles steps 2–5 automatically.
Network: Base (chain ID 8453) | Currency: USDC | Price: $0.05 per request
Related Endpoints
/api/v1/solana/tokens/holders-over-time- Returns snapshots of token holders at specified block intervals within a given range, useful for tracking holder changes over time./api/v1/solana/tokens/holder-distribution-over-time- Returns the distribution of token holders over a block range grouped by USD value tiers for macro-level ownership analysis./api/v1/solana/tokens/security- Provides comprehensive security analysis for a Solana token including ownership concentration and holder distribution metrics./api/v1/solana/token-details- Retrieves comprehensive details about a Solana token including price history, trade statistics, and holder information./api/v1/solana/traders/leaderboard- Leaderboard of the top traders by trade count and volume for any SPL token across major Solana DEXs.