Supported ChainSolana
Solana API
Access Solana blockchain data through the Spectrum API. Solana is a high-throughput blockchain using the Solana Virtual Machine (SVM) with sub-second finality. Spectrum supports a focused set of Solana endpoints including block slots, native and SPL token balances, and JSON-RPC passthrough.
| Property | Value |
|---|---|
| Slug | solana |
| Type | SVM |
| Native Token | SOL |
| Address Format | Base58 |
Available methods
Solana supports a subset of curated token methods plus raw JSON-RPC passthrough. ENS, NFTs, and contract-read endpoints are not available for Solana.
| Method | Description |
|---|---|
| getBlockHeight | Latest Solana slot number |
| getBalance | SOL balance for a wallet |
| getTokenBalance | SPL token balance |
| getTokenMetadata | SPL name/symbol/decimals/supply/uri (Metaplex or Token-2022) |
| getPortfolio | Native SOL + all non-zero SPL / Token-2022 holdings |
| rpcProxy | Raw Solana JSON-RPC passthrough |
| getChainHealth | Solana RPC health check |
Quick start
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \ -H "Content-Type: application/json" \
{ "jsonrpc": "2.0", "method": "getBlockHeight", "params": { "chain": "solana" }, "id": 1 }
{
"jsonrpc": "2.0",
"result": {
"chain": "solana",
"height": 312456789
},
"id": 1
}Get a Solana wallet balance
Solana uses base58-encoded addresses instead of the 0x-prefixed addresses used by EVM chains.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \ -H "Content-Type: application/json" \
{ "jsonrpc": "2.0", "method": "getBalance", "params": { "chain": "solana", "address": "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg" }, "id": 1 }
{
"jsonrpc": "2.0",
"result": {
"chain": "solana",
"address": "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg",
"token": "SOL",
"balance": "42.5"
},
"id": 1
}Get an SPL token balance
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \ -H "Content-Type: application/json" \
{ "jsonrpc": "2.0", "method": "getTokenBalance", "params": { "chain": "solana", "address": "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg", "token": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" }, "id": 1 }
Get SPL token metadata
Name, symbol, decimals, supply, and off-chain uri — resolved from the Metaplex metadata account, or the inline metadata extension for Token-2022 mints.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \ -H "Content-Type: application/json" \
{ "jsonrpc": "2.0", "method": "getTokenMetadata", "params": { "chain": "solana", "address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v" }, "id": 1 }
Get a Solana wallet portfolio
Native SOL plus every non-zero SPL and Token-2022 holding.
curl -X POST https://your-endpoint.simplystaking.xyz/v1 \ -H "Content-Type: application/json" \
{ "jsonrpc": "2.0", "method": "getPortfolio", "params": { "chain": "solana", "address": "9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM" }, "id": 1 }
SDK
import { Spectrum } from '@spectrumnodes/sdk';
const spectrum = new Spectrum({ api: 'https://your-endpoint.simplystaking.xyz/YOUR_API_KEY/' });
// Get the latest Solana slot
const block = await spectrum.core.getBlockHeight('solana');
console.log(block.height);
// Get a wallet's SOL balance
const balance = await spectrum.tokens.getBalance(
'solana',
'vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg'
);
console.log(balance.balance);
// Get an SPL token balance (e.g., USDC)
const usdc = await spectrum.tokens.getTokenBalance(
'solana',
'vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg',
'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v'
);
console.log(usdc.balance);
// SPL token metadata (Metaplex or Token-2022)
const meta = await spectrum.tokens.getMetadata('solana', 'EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v');
console.log(meta.symbol, meta.decimals);
// Full portfolio: SOL + all SPL / Token-2022 holdings
const portfolio = await spectrum.data.getPortfolio('solana', '9WzDXwBbmkg8ZTbNMqUxvQRAyrZzDsGYdLVL9zYtAWWM');
console.log(portfolio.tokens.length);Endpoint differences from EVM chains
- Block height returns the current slot number instead of a block number.
- Addresses use base58 encoding (e.g.,
vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg) instead of0x-prefixed hex. - Token balances use SPL mint addresses instead of ERC-20 contract addresses.
- Token metadata and portfolio are available via curated Solana methods; ENS, NFTs, and contract-read endpoints are not.
Related pages
- API Reference: Full endpoint documentation
- Accounts & Balances: Balance endpoint details
- Supported Chains: All networks