> ## Documentation Index
> Fetch the complete documentation index at: https://docs.validationcloud.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Overview

export const logo_0 = "/nodeapi/assets/chains/solana.svg"

export const chain_0 = "Solana"

<span className="chain-logo-solana" />

<img className="page-cover" src="https://mintcdn.com/validation-cloud/QajBabafGojozKj4/nodeapi/assets/wallpaper-1-solana.png?fit=max&auto=format&n=QajBabafGojozKj4&q=85&s=18a26a1e7bf7cd503b2156738d3e4f96" alt="" noZoom width="3980" height="960" data-path="nodeapi/assets/wallpaper-1-solana.png" />

<div className="not-prose my-8 flex flex-col gap-4 rounded-2xl border border-gray-950/10 p-5 sm:flex-row sm:items-center dark:border-white/10">
  <img src={logo_0} alt="" className="h-10 w-10 shrink-0" noZoom />

  <div className="flex-1">
    <p className="m-0 font-semibold text-gray-900 dark:text-gray-100">Start building on {chain_0} for free</p>
    <p className="m-0 mt-1 text-sm text-gray-600 dark:text-gray-400">Create an endpoint in under a minute. The Free plan includes 50 million compute units a month, and no credit card is required.</p>
  </div>

  <a href="https://app.validationcloud.io/auth/signup?returnTo=%2Fnode%2Fcreate-endpoint" className="shrink-0 rounded-full bg-primary px-5 py-2 text-center text-sm font-semibold text-white no-underline hover:opacity-90">Try free</a>
</div>

Solana is a high-performance, layer 1 blockchain designed to support decentralized applications (dApps) requiring scalability. \
\
Solana's native token is `SOL`, it's used for transactions, executing smart contracts, and staking.

`Lamports` are the smallest unit of currency on the Solana blockchain, there are 1 billion lamports in 1 SOL.

## Network Support

| Network | HTTPS | WSS |
| - | - | - |
| Mainnet <br />(also known as Mainnet-beta) | ✅ | ✅ |
| Devnet | ✅ | ✅ |

> WebSocket clients **MUST** respond to server `ping` frames, otherwise the connection will be closed and re-established every minute.

## Getting Started

Send a request to check that your endpoint works. Replace `<YOUR_API_KEY_HERE>` with the key from your endpoint in the [Validation Cloud app](https://app.validationcloud.io/node).

<CodeGroup>
  ```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  curl https://mainnet.solana.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","id":1, "method":"getHealth"}'
  ```

  ```bash title="devnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  curl https://devnet.solana.validationcloud.io/v1/<YOUR_API_KEY_HERE> \
      -X POST \
      -H "Content-Type: application/json" \
      -d '{"jsonrpc":"2.0","id":1, "method":"getHealth"}'
  ```
</CodeGroup>

Connect over WebSocket:

<CodeGroup>
  ```bash title="mainnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  wscat -c wss://mainnet.solana.validationcloud.io/v1/<YOUR_API_KEY_HERE>
  ```

  ```bash title="devnet" theme={"theme":{"light":"github-light","dark":"github-dark-default"}}
  wscat -c wss://devnet.solana.validationcloud.io/v1/<YOUR_API_KEY_HERE>
  ```
</CodeGroup>

## Compute Units

### HTTP Methods

| Method | Compute units |
| - | - |
| [getAccountInfo](/nodeapi/solana/http-methods/getaccountinfo) | 30 |
| [getBalance](/nodeapi/solana/http-methods/getbalance) | 30 |
| [getBlock](/nodeapi/solana/http-methods/getblock) | 30 |
| [getBlockCommitment](/nodeapi/solana/http-methods/getblockcommitment) | 30 |
| [getBlockHeight](/nodeapi/solana/http-methods/getblockheight) | 30 |
| [getBlockProduction](/nodeapi/solana/http-methods/getblockproduction) | 30 |
| [getBlockTime](/nodeapi/solana/http-methods/getblocktime) | 30 |
| [getBlocks](/nodeapi/solana/http-methods/getblocks) | 30 |
| [getBlocksWithLimit](/nodeapi/solana/http-methods/getblockswithlimit) | 30 |
| [getClusterNodes](/nodeapi/solana/http-methods/getclusternodes) | 30 |
| getConfirmedBlock | 30 |
| getConfirmedBlocks | 30 |
| getConfirmedBlocksWithLimit | 30 |
| getConfirmedTransaction | 30 |
| [getEpochInfo](/nodeapi/solana/http-methods/getepochinfo) | 30 |
| [getEpochSchedule](/nodeapi/solana/http-methods/getepochschedule) | 30 |
| getFeeCalculatorForBlockhash | 30 |
| [getFeeForMessage](/nodeapi/solana/http-methods/getfeeformessage) | 30 |
| [getFirstAvailableBlock](/nodeapi/solana/http-methods/getfirstavailableblock) | 30 |
| [getGenesisHash](/nodeapi/solana/http-methods/getgenesishash) | 30 |
| [getHealth](/nodeapi/solana/http-methods/gethealth) | 30 |
| [getHighestSnapshotSlot](/nodeapi/solana/http-methods/gethighestsnapshotslot) | 30 |
| [getIdentity](/nodeapi/solana/http-methods/getidentity) | 30 |
| [getInflationGovernor](/nodeapi/solana/http-methods/getinflationgovernor) | 30 |
| [getInflationRate](/nodeapi/solana/http-methods/getinflationrate) | 30 |
| [getInflationReward](/nodeapi/solana/http-methods/getinflationreward) | 30 |
| [getLatestBlockhash](/nodeapi/solana/http-methods/getlatestblockhash) | 30 |
| [getLeaderSchedule](/nodeapi/solana/http-methods/getleaderschedule) | 30 |
| [getMaxRetransmitSlot](/nodeapi/solana/http-methods/getmaxretransmitslot) | 30 |
| [getMaxShredInsertSlot](/nodeapi/solana/http-methods/getmaxshredinsertslot) | 30 |
| [getMinimumBalanceForRentExemption](/nodeapi/solana/http-methods/getminimumbalanceforrentexemption) | 30 |
| [getMultipleAccounts](/nodeapi/solana/http-methods/getmultipleaccounts) | 30 |
| [getParsedBlock](/nodeapi/solana/http-methods/getparsedblock) | 30 |
| [getParsedTransaction](/nodeapi/solana/http-methods/getparsedtransaction) | 30 |
| [getProgramAccounts](/nodeapi/solana/http-methods/getprogramaccounts) | 30 |
| [getRecentPerformanceSamples](/nodeapi/solana/http-methods/getrecentperformancesamples) | 30 |
| [getRecentPrioritizationFees](/nodeapi/solana/http-methods/getrecentprioritizationfees) | 30 |
| [getSignatureStatuses](/nodeapi/solana/http-methods/getsignaturestatuses) | 30 |
| [getSignaturesForAddress](/nodeapi/solana/http-methods/getsignaturesforaddress) | 30 |
| [getSlot](/nodeapi/solana/http-methods/getslot) | 30 |
| [getSlotLeader](/nodeapi/solana/http-methods/getslotleader) | 30 |
| [getSlotLeaders](/nodeapi/solana/http-methods/getslotleaders) | 30 |
| getSnapshotSlot | 30 |
| [getStakeMinimumDelegation](/nodeapi/solana/http-methods/getstakeminimumdelegation) | 30 |
| getStakeActivation | 30 |
| [getSupply](/nodeapi/solana/http-methods/getsupply) | 160 |
| [getTokenAccountBalance](/nodeapi/solana/http-methods/gettokenaccountbalance) | 30 |
| [getTokenAccountsByOwner](/nodeapi/solana/http-methods/gettokenaccountsbyowner) | 30 |
| [getTokenLargestAccounts](/nodeapi/solana/http-methods/gettokenlargestaccounts) | 30 |
| [getTokenSupply](/nodeapi/solana/http-methods/gettokensupply) | 30 |
| [getTransaction](/nodeapi/solana/http-methods/gettransaction) | 30 |
| [getTransactionCount](/nodeapi/solana/http-methods/gettransactioncount) | 30 |
| [getVersion](/nodeapi/solana/http-methods/getversion) | 30 |
| [getVoteAccounts](/nodeapi/solana/http-methods/getvoteaccounts) | 30 |
| [isBlockhashValid](/nodeapi/solana/http-methods/isblockhashvalid) | 30 |
| [minimumLedgerSlot](/nodeapi/solana/http-methods/minimumledgerslot) | 30 |
| [requestAirdrop](/nodeapi/solana/http-methods/requestairdrop) | 30 |
| [sendTransaction](/nodeapi/solana/http-methods/sendtransaction) | 30 |
| [simulateTransaction](/nodeapi/solana/http-methods/simulatetransaction) | 30 |

### Websocket Methods

| Method | Compute units |
| - | - |
| [accountSubscribe](/nodeapi/solana/websocket-stable-methods/accountsubscribe) | 20 |
| [accountUnsubscribe](/nodeapi/solana/websocket-stable-methods/accountunsubscribe) | 20 |
| [logsSubscribe](/nodeapi/solana/websocket-stable-methods/logssubscribe) | 20 |
| [logUnsubscribe](/nodeapi/solana/websocket-stable-methods/logunsubscribe) | 20 |
| [programSubscribe](/nodeapi/solana/websocket-stable-methods/programsubscribe) | 20 |
| [programUnsubscribe](/nodeapi/solana/websocket-stable-methods/programunsubscribe) | 20 |
| [rootSubscribe](/nodeapi/solana/websocket-stable-methods/rootsubscribe) | 20 |
| [rootUnsubscribe](/nodeapi/solana/websocket-stable-methods/rootunsubscribe) | 20 |
| [signatureSubscribe](/nodeapi/solana/websocket-stable-methods/signaturesubscribe) | 20 |
| [signatureUnsubscribe](/nodeapi/solana/websocket-stable-methods/signatureunsubscribe) | 20 |
| [slotSubscribe](/nodeapi/solana/websocket-stable-methods/slotsubscribe) | 20 |
| [slotUnsubscribe](/nodeapi/solana/websocket-stable-methods/slotunsubscribe) | 20 |
| *——— Websocket Unstable Methods* | |
| [blockSubscribe](/nodeapi/solana/websocket-unstable-methods/blocksubscribe) | 20 |
| [blockUnsubscribe](/nodeapi/solana/websocket-unstable-methods/blockunsubscribe) | 20 |
| [slotsUpdatesSubscribe](/nodeapi/solana/websocket-unstable-methods/slotsupdatessubscribe) | 20 |
| [slotsUpdatesUnsubscribe](/nodeapi/solana/websocket-unstable-methods/slotsupdatesunsubscribe) | 20 |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.