Solana RPC Accounts API

Account-oriented JSON-RPC methods for the Solana blockchain. Provides getAccountInfo to return account state and metadata for one address, getBalance for lamport balances, getLargestAccounts for the 20 largest accounts by lamport balance, getMinimumBalanceForRentExemption to obtain lamports needed for rent-exempt status, getMultipleAccounts to retrieve details for several addresses simultaneously, and getProgramAccounts to return all accounts owned by a program with optional data filters.

OpenAPI Specification

solana-rpc-api-openapi.yml Raw ↑
openapi: 3.0.3
info:
  title: Solana JSON-RPC API
  description: >-
    Solana exposes a JSON-RPC 2.0 API over HTTP and WebSocket for querying accounts,
    transactions, programs, token balances, blocks, and cluster state, as well as
    submitting and simulating transactions. Three public clusters are available —
    Mainnet (https://api.mainnet.solana.com), Devnet (https://api.devnet.solana.com),
    and Testnet (https://api.testnet.solana.com) — with dedicated API nodes for each
    environment. All requests use HTTP POST with a JSON-RPC 2.0 request body.
  version: '2.0'
  contact:
    name: Solana Developer Resources
    url: https://solana.com/developers
  license:
    name: Apache 2.0
    url: https://www.apache.org/licenses/LICENSE-2.0
  termsOfService: https://solana.com/tos
externalDocs:
  description: Solana RPC HTTP Methods Documentation
  url: https://solana.com/docs/rpc/http
servers:
  - url: https://api.mainnet.solana.com
    description: Solana Mainnet
  - url: https://api.devnet.solana.com
    description: Solana Devnet
  - url: https://api.testnet.solana.com
    description: Solana Testnet
tags:
  - name: Accounts
    description: Methods for querying account state, balances, and program ownership
  - name: Tokens
    description: Methods for querying SPL Token accounts, balances, and supply
  - name: Transactions
    description: Methods for sending, simulating, and querying transactions
  - name: Blocks
    description: Methods for querying blocks, slots, and ledger information
  - name: Cluster
    description: Methods for querying cluster nodes, validators, and network state
  - name: Economics
    description: Methods for querying inflation, staking, and supply information
paths:
  /:
    post:
      operationId: getAccountInfo
      summary: getAccountInfo
      description: >-
        Returns all information associated with the account of provided public key.
        The encoding parameter controls the format of the returned account data.
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getAccountInfo:
                summary: Get account info for a public key
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getAccountInfo
                  params:
                    - "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"
                    - encoding: base58
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/AccountInfoResponse'
      x-solana-method: getAccountInfo
      x-solana-docs: https://solana.com/docs/rpc/http/getaccountinfo

  /getBalance:
    post:
      operationId: getBalance
      summary: getBalance
      description: >-
        Returns the lamport balance of the account of provided public key.
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getBalance:
                summary: Get lamport balance for an address
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getBalance
                  params:
                    - "83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BalanceResponse'
      x-solana-method: getBalance
      x-solana-docs: https://solana.com/docs/rpc/http/getbalance

  /getLargestAccounts:
    post:
      operationId: getLargestAccounts
      summary: getLargestAccounts
      description: >-
        Returns the 20 largest accounts, by lamport balance (results may be cached up to two hours).
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getLargestAccounts:
                summary: Get 20 largest accounts by lamport balance
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getLargestAccounts
                  params:
                    - filter: circulating
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LargestAccountsResponse'
      x-solana-method: getLargestAccounts
      x-solana-docs: https://solana.com/docs/rpc/http/getlargestaccounts

  /getMinimumBalanceForRentExemption:
    post:
      operationId: getMinimumBalanceForRentExemption
      summary: getMinimumBalanceForRentExemption
      description: >-
        Returns minimum balance required to make account rent exempt.
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getMinimumBalanceForRentExemption:
                summary: Get minimum lamports for rent exemption for 50 bytes
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getMinimumBalanceForRentExemption
                  params:
                    - 50
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LamportsResponse'
      x-solana-method: getMinimumBalanceForRentExemption
      x-solana-docs: https://solana.com/docs/rpc/http/getminimumbalanceforrentexemption

  /getMultipleAccounts:
    post:
      operationId: getMultipleAccounts
      summary: getMultipleAccounts
      description: >-
        Returns the account information for a list of public keys.
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getMultipleAccounts:
                summary: Get account info for multiple public keys
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getMultipleAccounts
                  params:
                    - - "vines1vzrYbzLMRdu58ou5XTby4qAqVRLmqo36NKPTg"
                      - "4fYNw3dojWmQ4dXtSGE9epjRGy9pFSx62YypT7avPYvA"
                    - encoding: base58
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/MultipleAccountsResponse'
      x-solana-method: getMultipleAccounts
      x-solana-docs: https://solana.com/docs/rpc/http/getmultipleaccounts

  /getProgramAccounts:
    post:
      operationId: getProgramAccounts
      summary: getProgramAccounts
      description: >-
        Returns all accounts owned by the provided program public key.
      tags:
        - Accounts
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getProgramAccounts:
                summary: Get all accounts owned by a program
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getProgramAccounts
                  params:
                    - "4Nd1mBQtrMJVYVfKf2PX99kkXoHWdrS84XnTXFGnhrHu"
                    - encoding: jsonParsed
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ProgramAccountsResponse'
      x-solana-method: getProgramAccounts
      x-solana-docs: https://solana.com/docs/rpc/http/getprogramaccounts

  /getTokenAccountBalance:
    post:
      operationId: getTokenAccountBalance
      summary: getTokenAccountBalance
      description: >-
        Returns the token balance of an SPL Token account.
      tags:
        - Tokens
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getTokenAccountBalance:
                summary: Get token balance for an SPL Token account
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getTokenAccountBalance
                  params:
                    - "7fUAJdStEuGbc3sM84cKRL6yYaaSstyLSU4ve5oovLS7"
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenAmountResponse'
      x-solana-method: getTokenAccountBalance
      x-solana-docs: https://solana.com/docs/rpc/http/gettokenaccountbalance

  /getTokenAccountsByDelegate:
    post:
      operationId: getTokenAccountsByDelegate
      summary: getTokenAccountsByDelegate
      description: >-
        Returns all SPL Token accounts by approved Delegate. Either a mint or programId filter is required.
      tags:
        - Tokens
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getTokenAccountsByDelegate:
                summary: Get token accounts by delegate address
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getTokenAccountsByDelegate
                  params:
                    - "4Nd1mBQtrMJVYVfKf2PX99kkXoHWdrS84XnTXFGnhrHu"
                    - programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    - encoding: jsonParsed
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenAccountsResponse'
      x-solana-method: getTokenAccountsByDelegate
      x-solana-docs: https://solana.com/docs/rpc/http/gettokenaccountsbydelegate

  /getTokenAccountsByOwner:
    post:
      operationId: getTokenAccountsByOwner
      summary: getTokenAccountsByOwner
      description: >-
        Returns all SPL Token accounts by token owner. Either a mint or programId filter is required.
      tags:
        - Tokens
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getTokenAccountsByOwner:
                summary: Get all token accounts owned by an address
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getTokenAccountsByOwner
                  params:
                    - "4Qkev8aNZcqFNSRkXnKKPZo2hEMUzCjCJvzE3YHWoGg"
                    - programId: "TokenkegQfeZyiNwAJbNbGKPFXCWuBvf9Ss623VQ5DA"
                    - encoding: jsonParsed
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenAccountsResponse'
      x-solana-method: getTokenAccountsByOwner
      x-solana-docs: https://solana.com/docs/rpc/http/gettokenaccountsbyowner

  /getTokenLargestAccounts:
    post:
      operationId: getTokenLargestAccounts
      summary: getTokenLargestAccounts
      description: >-
        Returns the 20 largest accounts of a particular SPL Token type.
      tags:
        - Tokens
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getTokenLargestAccounts:
                summary: Get 20 largest token accounts for a mint
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getTokenLargestAccounts
                  params:
                    - "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E"
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenLargestAccountsResponse'
      x-solana-method: getTokenLargestAccounts
      x-solana-docs: https://solana.com/docs/rpc/http/gettokenlargestaccounts

  /getTokenSupply:
    post:
      operationId: getTokenSupply
      summary: getTokenSupply
      description: >-
        Returns the total supply of an SPL Token mint.
      tags:
        - Tokens
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getTokenSupply:
                summary: Get total supply of an SPL Token mint
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getTokenSupply
                  params:
                    - "3wyAj7Rt1TWVPZVteFJPLa26JmLvdb1CAKEFZm3NY75E"
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TokenAmountResponse'
      x-solana-method: getTokenSupply
      x-solana-docs: https://solana.com/docs/rpc/http/gettokensupply

  /sendTransaction:
    post:
      operationId: sendTransaction
      summary: sendTransaction
      description: >-
        Submits a signed transaction to the cluster for processing.
        This method does not alter the transaction in any way; it relays the transaction
        created by clients to the node as-is.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              sendTransaction:
                summary: Send a signed transaction
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: sendTransaction
                  params:
                    - "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFqseSr4sQs3GT"
                    - encoding: base58
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionSignatureResponse'
      x-solana-method: sendTransaction
      x-solana-docs: https://solana.com/docs/rpc/http/sendtransaction

  /simulateTransaction:
    post:
      operationId: simulateTransaction
      summary: simulateTransaction
      description: >-
        Simulate sending a transaction. Returns simulated transaction results including
        logs and account state changes without broadcasting to the network.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              simulateTransaction:
                summary: Simulate a transaction without broadcasting
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: simulateTransaction
                  params:
                    - "4hXTCkRzt9WyecNzV1XPgCDfGAZzQKNxLXgynz5QDuWWPSAZBZSHptvWRL3BjCvzUXRdKvHL2b7yGrRQcWyaqsaBCncVG7BFqseSr4sQs3GT"
                    - sigVerify: true
                      commitment: finalized
                      encoding: base64
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SimulateTransactionResponse'
      x-solana-method: simulateTransaction
      x-solana-docs: https://solana.com/docs/rpc/http/simulatetransaction

  /getTransaction:
    post:
      operationId: getTransaction
      summary: getTransaction
      description: >-
        Returns transaction details for a confirmed transaction.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getTransaction:
                summary: Get a transaction by its signature
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getTransaction
                  params:
                    - "2nBhEBYYvfaAe16UMNqRHre4YNSskvuYgx3M6E4JP1oDYvZEJHvoPzyUidNgNX5r9sTyzdqDT8yCJAKNUFGJMfmv"
                    - encoding: jsonParsed
                      commitment: finalized
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionDetailResponse'
      x-solana-method: getTransaction
      x-solana-docs: https://solana.com/docs/rpc/http/gettransaction

  /getSignaturesForAddress:
    post:
      operationId: getSignaturesForAddress
      summary: getSignaturesForAddress
      description: >-
        Returns confirmed signatures for transactions involving an address backwards in time
        from the provided signature or most recent confirmed block.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getSignaturesForAddress:
                summary: Get transaction signatures for an address
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getSignaturesForAddress
                  params:
                    - "Vote111111111111111111111111111111111111111p8bN"
                    - limit: 10
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignaturesForAddressResponse'
      x-solana-method: getSignaturesForAddress
      x-solana-docs: https://solana.com/docs/rpc/http/getsignaturesforaddress

  /getSignatureStatuses:
    post:
      operationId: getSignatureStatuses
      summary: getSignatureStatuses
      description: >-
        Returns the statuses of a list of signatures. Unless the searchTransactionHistory
        configuration parameter is included, this method only searches the recent status cache
        of signatures, which retains statuses for all active slots plus MAX_RECENT_BLOCKHASHES
        rooted slots.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getSignatureStatuses:
                summary: Get confirmation statuses for multiple signatures
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getSignatureStatuses
                  params:
                    - - "5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW"
                      - "5j7s6NiJS3JAkvgkoc18WVAsiSaci2pxB2A6ueCJP4tprA2TFg9wSyTLeYouxPBJEMzJinENTkpA52YStRW5Dia7"
                    - searchTransactionHistory: true
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SignatureStatusesResponse'
      x-solana-method: getSignatureStatuses
      x-solana-docs: https://solana.com/docs/rpc/http/getsignaturestatuses

  /getFeeForMessage:
    post:
      operationId: getFeeForMessage
      summary: getFeeForMessage
      description: >-
        Get the fee the network will charge for a particular Message.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getFeeForMessage:
                summary: Get network fee for a message
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getFeeForMessage
                  params:
                    - "AQABAgIAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAEBAQAA"
                    - commitment: confirmed
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/FeeForMessageResponse'
      x-solana-method: getFeeForMessage
      x-solana-docs: https://solana.com/docs/rpc/http/getfeeformessage

  /getLatestBlockhash:
    post:
      operationId: getLatestBlockhash
      summary: getLatestBlockhash
      description: >-
        Returns the latest blockhash and last valid block height for a transaction.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getLatestBlockhash:
                summary: Get the most recent blockhash
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getLatestBlockhash
                  params:
                    - commitment: processed
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/LatestBlockhashResponse'
      x-solana-method: getLatestBlockhash
      x-solana-docs: https://solana.com/docs/rpc/http/getlatestblockhash

  /isBlockhashValid:
    post:
      operationId: isBlockhashValid
      summary: isBlockhashValid
      description: >-
        Returns whether a blockhash is still valid or has expired.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              isBlockhashValid:
                summary: Check if a blockhash is still valid
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: isBlockhashValid
                  params:
                    - "J7rBdtiSetEfpFike1CT9hXP3icWT9QKe8BKA7qJt6eZ"
                    - commitment: processed
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BooleanResponse'
      x-solana-method: isBlockhashValid
      x-solana-docs: https://solana.com/docs/rpc/http/isblockhashvalid

  /getRecentPrioritizationFees:
    post:
      operationId: getRecentPrioritizationFees
      summary: getRecentPrioritizationFees
      description: >-
        Returns a list of prioritization fees from recent blocks. Currently, a node's prioritization-fee
        cache stores data from up to 150 blocks.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getRecentPrioritizationFees:
                summary: Get recent prioritization fees
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getRecentPrioritizationFees
                  params:
                    - - "CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY"
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/PrioritizationFeesResponse'
      x-solana-method: getRecentPrioritizationFees
      x-solana-docs: https://solana.com/docs/rpc/http/getrecentprioritizationfees

  /getTransactionCount:
    post:
      operationId: getTransactionCount
      summary: getTransactionCount
      description: >-
        Returns the current Transaction count from the ledger.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getTransactionCount:
                summary: Get total processed transaction count
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getTransactionCount
                  params: []
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountResponse'
      x-solana-method: getTransactionCount
      x-solana-docs: https://solana.com/docs/rpc/http/gettransactioncount

  /requestAirdrop:
    post:
      operationId: requestAirdrop
      summary: requestAirdrop
      description: >-
        Requests an airdrop of lamports to a public key. Only available on Devnet and Testnet.
      tags:
        - Transactions
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              requestAirdrop:
                summary: Request 1 SOL airdrop on Devnet
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: requestAirdrop
                  params:
                    - "83astBRguLMdt2h5U1Tpdq5tjFoJ6noeGwaY3mDLVcri"
                    - 1000000000
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TransactionSignatureResponse'
      x-solana-method: requestAirdrop
      x-solana-docs: https://solana.com/docs/rpc/http/requestairdrop

  /getBlock:
    post:
      operationId: getBlock
      summary: getBlock
      description: >-
        Returns identity and transaction information about a confirmed block in the ledger.
      tags:
        - Blocks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getBlock:
                summary: Get confirmed block at a given slot
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getBlock
                  params:
                    - 430
                    - encoding: json
                      transactionDetails: full
                      maxSupportedTransactionVersion: 0
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockResponse'
      x-solana-method: getBlock
      x-solana-docs: https://solana.com/docs/rpc/http/getblock

  /getBlockCommitment:
    post:
      operationId: getBlockCommitment
      summary: getBlockCommitment
      description: >-
        Returns commitment for particular block.
      tags:
        - Blocks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getBlockCommitment:
                summary: Get commitment level for a block slot
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getBlockCommitment
                  params:
                    - 5
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockCommitmentResponse'
      x-solana-method: getBlockCommitment
      x-solana-docs: https://solana.com/docs/rpc/http/getblockcommitment

  /getBlockHeight:
    post:
      operationId: getBlockHeight
      summary: getBlockHeight
      description: >-
        Returns the current block height of the node.
      tags:
        - Blocks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getBlockHeight:
                summary: Get current block height
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getBlockHeight
                  params:
                    - commitment: confirmed
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CountResponse'
      x-solana-method: getBlockHeight
      x-solana-docs: https://solana.com/docs/rpc/http/getblockheight

  /getBlockProduction:
    post:
      operationId: getBlockProduction
      summary: getBlockProduction
      description: >-
        Returns recent block production information from the current or previous epoch.
      tags:
        - Blocks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getBlockProduction:
                summary: Get recent block production information
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getBlockProduction
                  params: []
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/BlockProductionResponse'
      x-solana-method: getBlockProduction
      x-solana-docs: https://solana.com/docs/rpc/http/getblockproduction

  /getBlocks:
    post:
      operationId: getBlocks
      summary: getBlocks
      description: >-
        Returns a list of confirmed blocks between two slots.
      tags:
        - Blocks
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/JsonRpcRequest'
            examples:
              getBlocks:
                summary: Get confirmed blocks in a slot range
                value:
                  jsonrpc: "2.0"
                  id: 1
                  method: getBlocks
                  params:
                    - 5
                    - 10
      responses:
        '200':
          description: Successful JSON-RPC response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SlotsListResponse'
      x-solana-method: getBlocks
      x-solana-docs: https://solana.com/docs/rpc/http/getblocks

  /getBlocksWithLimit:
    post:
      operationId: getBlocksWithLimit
      summary: getBlocksWithLimit
      description: >-
        Returns a list of confirmed blocks starting at the gi

# --- truncated at 32 KB (92 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/solana/refs/heads/main/openapi/solana-rpc-api-openapi.yml