Solana RPC API
AllenHark provides high-performance, staked Solana RPC endpoints optimized for trading bots, MEV searchers, and production dApps. Our nodes run on bare-metal hardware in TeraSwitch Frankfurt with direct PNI connectivity to Solana validators.
Why AllenHark RPC
| Feature | AllenHark | Public RPC |
|---|---|---|
| Latency | Sub-millisecond (co-located) | 50–200 ms |
| Rate Limits | None | 40 req/s |
| Staked Connections | Yes (SWQoS priority) | No |
| sendTransaction | Priority propagation via QUIC | Best-effort |
| Uptime | 99.99% SLA | No guarantee |
| Authentication | IP whitelisting (no API keys) | Open |
Getting Started
1. Get Your Endpoint
Join our Discord and request RPC access. You'll receive a dedicated IP and port once your server IP is whitelisted.
2. Connect
All standard Solana JSON-RPC methods are supported. Connections use IP whitelisting — no API keys or tokens needed.
HTTP endpoint:
http://[IP_ADDRESS]:[PORT]
WebSocket endpoint:
ws://[IP_ADDRESS]:[PORT]
3. Start Querying
TypeScript (@solana/web3.js)
1import { Connection } from '@solana/web3.js';
2
3const connection = new Connection('http://[IP_ADDRESS]:[PORT]', 'confirmed');
4const balance = await connection.getBalance(new PublicKey('YOUR_PUBKEY'));
5console.log(`Balance: ${balance / 1e9} SOL`);Python (solana-py)
1from solana.rpc.api import Client
2
3client = Client("http://[IP_ADDRESS]:[PORT]")
4balance = client.get_balance(Pubkey.from_string("YOUR_PUBKEY"))
5print(f"Balance: {balance.value / 1e9} SOL")Rust (solana-client)
1use solana_client::rpc_client::RpcClient;
2use solana_sdk::pubkey::Pubkey;
3use std::str::FromStr;
4
5let client = RpcClient::new("http://[IP_ADDRESS]:[PORT]".to_string());
6let pubkey = Pubkey::from_str("YOUR_PUBKEY").unwrap();
7let balance = client.get_balance(&pubkey).unwrap();
8println!("Balance: {} SOL", balance as f64 / 1e9);cURL
1curl http://[IP_ADDRESS]:[PORT] \
2 -X POST \
3 -H "Content-Type: application/json" \
4 -d '{"jsonrpc":"2.0","id":1,"method":"getBalance","params":["YOUR_PUBKEY"]}'API Methods Reference
Every standard Solana JSON-RPC method is supported. Click any method below for full documentation with parameters, response format, and code examples.
Account Methods
| Method | Description |
|---|---|
| getAccountInfo | Returns all information associated with an account |
| getBalance | Returns the SOL balance in lamports |
| getMultipleAccounts | Returns info for multiple accounts in one call |
| getLargestAccounts | Returns the 20 largest accounts by lamport balance |
| getProgramAccounts | Returns all accounts owned by a program |
| getMinimumBalanceForRentExemption | Returns minimum balance needed for rent exemption |
Token Methods
| Method | Description |
|---|---|
| getTokenAccountBalance | Returns the token balance of an SPL token account |
| getTokenAccountsByOwner | Returns all token accounts owned by a wallet |
| getTokenAccountsByDelegate | Returns token accounts by approved delegate |
| getTokenLargestAccounts | Returns the 20 largest holders of a token |
| getTokenSupply | Returns total supply of an SPL token |
Transaction Methods
| Method | Description |
|---|---|
| sendTransaction | Submits a signed transaction to the cluster |
| simulateTransaction | Simulates a transaction without submitting it |
| confirmTransaction | Confirms a transaction has been processed |
| getTransaction | Returns transaction details for a confirmed signature |
| getSignatureStatuses | Returns the statuses of transaction signatures |
| getSignaturesForAddress | Returns confirmed signatures for an address |
| getTransactionCount | Returns the total number of transactions processed |
| getRecentPrioritizationFees | Returns recent priority fee data for compute budgeting |
Block Methods
| Method | Description |
|---|---|
| getBlock | Returns identity and transaction info for a block |
| getBlockHeight | Returns the current block height |
| getBlockTime | Returns estimated production time of a block |
| getBlocks | Returns a list of confirmed blocks between two slots |
| getBlocksWithLimit | Returns confirmed blocks starting at a slot with a limit |
| getBlockCommitment | Returns commitment information for a block |
| getBlockProduction | Returns recent block production information |
| getFirstAvailableBlock | Returns the slot of the lowest non-purged block |
Blockhash & Fee Methods
| Method | Description |
|---|---|
| getLatestBlockhash | Returns the latest blockhash for transaction signing |
| getFeeForMessage | Returns the fee for a given message |
| getStakeMinimumDelegation | Returns the minimum stake delegation amount |
Slot & Epoch Methods
| Method | Description |
|---|---|
| getSlot | Returns the current slot the node is processing |
| getSlotLeader | Returns the current slot leader |
| getSlotLeaders | Returns slot leaders for a given range |
| getEpochInfo | Returns information about the current epoch |
| getEpochSchedule | Returns the epoch schedule |
| getLeaderSchedule | Returns the leader schedule for an epoch |
Network & Node Methods
| Method | Description |
|---|---|
| getHealth | Returns the health status of the node |
| getVersion | Returns the Solana software version running on the node |
| getIdentity | Returns the identity pubkey of the current node |
| getClusterNodes | Returns information about all nodes in the cluster |
| getGenesisHash | Returns the genesis hash |
| getVoteAccounts | Returns the account info and associated stake of all voting accounts |
| getHighestSnapshotSlot | Returns the highest slot for available snapshots |
| getMaxRetransmitSlot | Returns max slot seen from retransmit stage |
| getMaxShredInsertSlot | Returns max slot seen after shred insert |
Supply & Inflation Methods
| Method | Description |
|---|---|
| getSupply | Returns information about the current SOL supply |
| getInflationGovernor | Returns the current inflation governor parameters |
| getInflationRate | Returns the current inflation rate |
| getInflationReward | Returns inflation rewards for a list of addresses |
Stake Methods
| Method | Description |
|---|---|
| getStakeActivation | Returns stake activation state for a stake account |
Other Methods
| Method | Description |
|---|---|
| getRecentPerformanceSamples | Returns recent performance samples |
| requestAirdrop | Requests a SOL airdrop (devnet/testnet only) |
Deprecated Methods
These methods are still supported but have been superseded by newer alternatives:
Commitment Levels
Solana supports three commitment levels that control how finalized the data must be before a query returns:
| Level | Description | Latency | Use Case |
|---|---|---|---|
processed | Fastest. Node has processed but not confirmed the block. | Lowest | HFT bots, real-time UIs |
confirmed | Supermajority of the cluster has voted on the block. | Medium | Most applications |
finalized | Block is confirmed and the supermajority has rooted it. | Highest | Exchanges, settlement |
Most methods accept an optional commitment parameter. If not provided, it defaults to finalized.
Support
- Discord: discord.gg/JpzS72MAKG
- Website: allenhark.com
- Solana Official Docs: solana.com/docs/rpc