Solana RPC API
AllenHark RPC is a Solana JSON-RPC and WebSocket pubsub endpoint for trading bots, MEV searchers and production dApps, in Frankfurt or Amsterdam, billed by the month, not by the call.
Why AllenHark RPC
| Feature | AllenHark | Public RPC |
|---|---|---|
| Billing | Monthly, not per call | Free, or per call |
| Limits | The connections you buy, on one IP or split across several; 30 heavy calls (getProgramAccounts, getSignaturesForAddress) per 60 s per IP | Per-IP request limits |
| sendTransaction | Forwarded to the node as is | Forwarded to the node as is |
| Authentication | IP allowlist (no API keys) | Open |
| Regions | Frankfurt, Amsterdam | Varies |
Getting Started
1. Get Your Endpoint
Buy an RPC plan at checkout (see pricing) and enter your server's IP address. That address is added to the allowlist.
2. Connect
All standard Solana JSON-RPC methods are supported. Connections use IP whitelisting — no API keys or tokens needed.
HTTP and WebSocket share port 7999: Frankfurt 88.216.36.108:7999 or Amsterdam 84.32.104.38:7999. The examples below use Frankfurt.
HTTP endpoint:
http://88.216.36.108:7999WebSocket endpoint:
ws://88.216.36.108:79993. Start Querying
TypeScript (@solana/web3.js)
import { Connection } from '@solana/web3.js';
const connection = new Connection('http://88.216.36.108:7999', 'confirmed');
const balance = await connection.getBalance(new PublicKey('YOUR_PUBKEY'));
console.log(`Balance: ${balance / 1e9} SOL`);Python (solana-py)
from solana.rpc.api import Client
client = Client("http://88.216.36.108:7999")
balance = client.get_balance(Pubkey.from_string("YOUR_PUBKEY"))
print(f"Balance: {balance.value / 1e9} SOL")Rust (solana-client)
use solana_client::rpc_client::RpcClient;
use solana_sdk::pubkey::Pubkey;
use std::str::FromStr;
let client = RpcClient::new("http://88.216.36.108:7999".to_string());
let pubkey = Pubkey::from_str("YOUR_PUBKEY").unwrap();
let balance = client.get_balance(&pubkey).unwrap();
println!("Balance: {} SOL", balance as f64 / 1e9);cURL
curl http://88.216.36.108:7999 \
-X POST \
-H "Content-Type: application/json" \
-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 | Earliest. 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
