GoldRush Foundational API on Solana
Critical Rules
- Base URL:
https://api.covalenthq.com/v1/solana-mainnet/...(kebab-case chain name). - Wallet address format: base58, case-preserved (unlike EVM 0x-hex which is lowercased).
- Token mints: base58 mint pubkey - takes the
contract_address/tokenMintslot. USDC =EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v, wrapped SOL =So11111111111111111111111111111111111111112. - Transaction id: base58
signature(~88 chars), addressed via/transaction_v2/{signature}/- nottx_hashand not/transaction_v2/{txHash}/. - Slot is primary;
block_heightis secondary and can be null because ~5% of slots are skipped. - SPL Token + Token-2022 are aggregated by default in every balance/transfer/holder response. Opt out with
?include-token-2022=false. - cNFTs surface alongside Metaplex NFTs with
compressed: true. For cNFTs,contract_addressis the Bubblegum Merkle tree (not a mint), andtoken_idis the Merkle leaf index. - ALT references in versioned transactions (
v0) are pre-resolved at index time - clients always see the fullaccount_keys. processedcommitment is not exposed via Foundational (too unstable for REST semantics). Default isconfirmed; use?commitment=finalizedfor rollback-impossible reads.
The GoldRush Foundational API on Solana is the same REST surface that serves other chains, adapted for Solana addressing. Wallets and mints are base58.
Endpoint
solana-mainnet slots into the same {chainName} path parameter as eth-mainnet, base-mainnet, or other supported chains.
Solana addressing conventions
| Topic | Convention |
|---|---|
| Wallet address | Base58, 32-44 chars, case-preserved (unlike EVM 0x-hex which is lowercased). Example: 4ZJhPQAgUseCsWhKvJLTmmRRUV74fdoTpQLNfKoekbPY. |
| Token mint | Base58 mint pubkey - takes the same path slot as contract_address on EVM. SOL is represented as So11111111111111111111111111111111111111112 (wrapped SOL mint), USDC as EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v. |
| Native unit | Lamports - 1 SOL = 10⁹ lamports. |
Supported endpoint
| Endpoint | What it returns |
|---|---|
| Get token balances for address | SPL token balances plus native SOL with USD quote where pricing exists. |
Not supported today
The following are not part of Foundational REST coverage on Solana today:- SPL token transfer history (REST). Available in the warehouse via the
transfersnormalizer. - Solana transactions (signature lookup, paginated history, summary)
- NFTs (Metaplex and Bubblegum compressed)
- Token pricing REST endpoints (historical or pool spot). Real-time OHLCV is available via the streaming OHLCV recipe.
- Solana-native primitives (stake, IDL, validators, Token-2022 extensions, SPL delegations)
Error handling
Follows the standard GoldRush envelope and error taxonomy - see Error handling.This page walks through the wallet-centric Foundational endpoint currently supported on
solana-mainnet: SPL token balances.
Balances (SPL + native SOL)
Returns SPL token holdings plus native SOL with USD pricing where available.cURL
TypeScript
Python
contract_address, decimals from the Mint account, and quote in USD where pricing exists. The wrapped-SOL row (So111…) is the native balance.
Reference: get-token-balances-for-address.
SPL transfer history
SPL transfer history is not available on the Foundational REST API for Solana today. For decoded SPL transfers, use the warehousetransfers normalizer.
Related
- DEX firehose - new DEX pair events on
SOLANA_MAINNET. - Wallet activity - real-time push of decoded swaps and transfers for a list of wallets.
- OHLCV markets - real-time candles by pool or token mint.
- SPL Transfers warehouse recipe - decoded SPL transfers landed in your warehouse.
- DEX Swaps warehouse recipe - decoded DEX swaps landed in your warehouse.