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.
The examples below use our Frankfurt (FRA) primary IP 84.32.59.191. Your assigned port is provided once your server IP is whitelisted, and additional regional IPs are available on request.
HTTP endpoint:
http://84.32.59.191:[PORT]
WebSocket endpoint:
ws://84.32.59.191:[PORT]
3. Start Querying
TypeScript (@solana/web3.js)
1import { Connection } from '@solana/web3.js';
2
3const connection = new Connection('http://84.32.59.191:[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://84.32.59.191:[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://84.32.59.191:[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://84.32.59.191:[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