Solana Accounts API
Methods for querying account state, balances, and program ownership
Methods for querying account state, balances, and program ownership
Every API here is available over the APIs.io API and to AI agents over MCP.
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
find_apisBrowse and filter every API in the catalog.get_api_artifactsOne API's artifacts, grouped by type.get_openapiThe primary OpenAPI for this API.find_similar_apisAPIs that look like this one.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.curl "https://apis.io/api/v1/apis/solana-accounts-api"
curl "https://apis.io/api/v1/apis?limit=25"
Discovery needs no key. Ratings and market analysis are Pro.
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.
openapi: 3.2.0
info:
title: Solana JSON-RPC Accounts 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
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
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
components:
schemas:
JsonRpcError:
type: object
properties:
code:
type: integer
description: Error code
message:
type: string
description: Human-readable error message
data:
description: Additional error data
LamportsResponse:
type: object
properties:
jsonrpc:
type: string
example: '2.0'
id:
oneOf:
- type: integer
- type: string
result:
type: object
properties:
context:
$ref: '#/components/schemas/RpcContext'
value:
type: integer
format: int64
description: Lamport amount
error:
$ref: '#/components/schemas/JsonRpcError'
LargestAccountsResponse:
type: object
properties:
jsonrpc:
type: string
example: '2.0'
id:
oneOf:
- type: integer
- type: string
result:
type: object
properties:
context:
$ref: '#/components/schemas/RpcContext'
value:
type: array
items:
type: object
properties:
address:
type: string
description: Base58-encoded address of the account
lamports:
type: integer
format: int64
description: Number of lamports in the account
error:
$ref: '#/components/schemas/JsonRpcError'
RpcContext:
type: object
properties:
slot:
type: integer
format: int64
description: The slot at which the operation was evaluated
JsonRpcRequest:
type: object
required:
- jsonrpc
- id
- method
properties:
jsonrpc:
type: string
enum:
- '2.0'
description: JSON-RPC protocol version
example: '2.0'
id:
oneOf:
- type: integer
- type: string
description: Client-provided identifier for the request
example: 1
method:
type: string
description: The JSON-RPC method name
example: getBalance
params:
type: array
description: Method-specific parameters
items:
oneOf:
- type: string
- type: integer
- type: boolean
- type: object
- type: array
items: {}
MultipleAccountsResponse:
type: object
properties:
jsonrpc:
type: string
example: '2.0'
id:
oneOf:
- type: integer
- type: string
result:
type: object
properties:
context:
$ref: '#/components/schemas/RpcContext'
value:
type: array
items:
$ref: '#/components/schemas/AccountInfo'
error:
$ref: '#/components/schemas/JsonRpcError'
BalanceResponse:
type: object
properties:
jsonrpc:
type: string
example: '2.0'
id:
oneOf:
- type: integer
- type: string
result:
type: object
properties:
context:
$ref: '#/components/schemas/RpcContext'
value:
type: integer
format: int64
description: Balance in lamports
error:
$ref: '#/components/schemas/JsonRpcError'
AccountInfoResponse:
type: object
properties:
jsonrpc:
type: string
example: '2.0'
id:
oneOf:
- type: integer
- type: string
result:
type: object
properties:
context:
$ref: '#/components/schemas/RpcContext'
value:
$ref: '#/components/schemas/AccountInfo'
error:
$ref: '#/components/schemas/JsonRpcError'
ProgramAccountsResponse:
type: object
properties:
jsonrpc:
type: string
example: '2.0'
id:
oneOf:
- type: integer
- type: string
result:
type: array
items:
type: object
properties:
pubkey:
type: string
description: Base58-encoded public key of the account
account:
$ref: '#/components/schemas/AccountInfo'
error:
$ref: '#/components/schemas/JsonRpcError'
AccountInfo:
type: object
properties:
lamports:
type: integer
format: int64
description: Number of lamports assigned to this account
owner:
type: string
description: Base58-encoded public key of the program that owns this account
data:
description: Data associated with the account (encoded or parsed)
oneOf:
- type: string
- type: array
items:
type: string
- type: object
executable:
type: boolean
description: Whether this account contains a program and is strictly read-only
rentEpoch:
type: integer
format: int64
description: The epoch at which this account will next owe rent
space:
type: integer
description: The data size of the account
externalDocs:
description: Solana RPC HTTP Methods Documentation
url: https://solana.com/docs/rpc/http