getProgramAccounts
curl --request POST \
--url 'https://rpc-mainnet.solanatracker.io/?api_key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900",
"method": "getProgramAccounts",
"params": [
"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T"
]
}
'import requests
url = "https://rpc-mainnet.solanatracker.io/?api_key="
payload = {
"jsonrpc": "2.0",
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900",
"method": "getProgramAccounts",
"params": ["4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 'db16f277-1a22-41ff-9f85-f37e2cd77900',
method: 'getProgramAccounts',
params: ['4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T']
})
};
fetch('https://rpc-mainnet.solanatracker.io/?api_key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://rpc-mainnet.solanatracker.io/?api_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 'db16f277-1a22-41ff-9f85-f37e2cd77900',
'method' => 'getProgramAccounts',
'params' => [
'4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://rpc-mainnet.solanatracker.io/?api_key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"db16f277-1a22-41ff-9f85-f37e2cd77900\",\n \"method\": \"getProgramAccounts\",\n \"params\": [\n \"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://rpc-mainnet.solanatracker.io/?api_key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"db16f277-1a22-41ff-9f85-f37e2cd77900\",\n \"method\": \"getProgramAccounts\",\n \"params\": [\n \"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc-mainnet.solanatracker.io/?api_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"db16f277-1a22-41ff-9f85-f37e2cd77900\",\n \"method\": \"getProgramAccounts\",\n \"params\": [\n \"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900",
"result": [
{
"pubkey": "CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY",
"account": {
"lamports": 15298080,
"owner": "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
"data": [
"2R9jLfiAQ9bgdcw6h8s44439",
"base58"
],
"executable": false,
"rentEpoch": 28,
"space": 42
}
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "Unauthorized",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Too many requests",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Internal error",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Service unavailable",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Gateway timeout",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}Cuentas y tokens
getProgramAccounts
Busca cuentas de un programa con filtros por tamaño o contenido de datos.
POST
/
getProgramAccounts
curl --request POST \
--url 'https://rpc-mainnet.solanatracker.io/?api_key=' \
--header 'Content-Type: application/json' \
--data '
{
"jsonrpc": "2.0",
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900",
"method": "getProgramAccounts",
"params": [
"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T"
]
}
'import requests
url = "https://rpc-mainnet.solanatracker.io/?api_key="
payload = {
"jsonrpc": "2.0",
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900",
"method": "getProgramAccounts",
"params": ["4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T"]
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
jsonrpc: '2.0',
id: 'db16f277-1a22-41ff-9f85-f37e2cd77900',
method: 'getProgramAccounts',
params: ['4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T']
})
};
fetch('https://rpc-mainnet.solanatracker.io/?api_key=', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://rpc-mainnet.solanatracker.io/?api_key=",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'jsonrpc' => '2.0',
'id' => 'db16f277-1a22-41ff-9f85-f37e2cd77900',
'method' => 'getProgramAccounts',
'params' => [
'4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://rpc-mainnet.solanatracker.io/?api_key="
payload := strings.NewReader("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"db16f277-1a22-41ff-9f85-f37e2cd77900\",\n \"method\": \"getProgramAccounts\",\n \"params\": [\n \"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://rpc-mainnet.solanatracker.io/?api_key=")
.header("Content-Type", "application/json")
.body("{\n \"jsonrpc\": \"2.0\",\n \"id\": \"db16f277-1a22-41ff-9f85-f37e2cd77900\",\n \"method\": \"getProgramAccounts\",\n \"params\": [\n \"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://rpc-mainnet.solanatracker.io/?api_key=")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"jsonrpc\": \"2.0\",\n \"id\": \"db16f277-1a22-41ff-9f85-f37e2cd77900\",\n \"method\": \"getProgramAccounts\",\n \"params\": [\n \"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"jsonrpc": "2.0",
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900",
"result": [
{
"pubkey": "CxELquR1gPP8wHe33gZ4QxqGB3sZ9RSwsJ2KshVewkFY",
"account": {
"lamports": 15298080,
"owner": "4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T",
"data": [
"2R9jLfiAQ9bgdcw6h8s44439",
"base58"
],
"executable": false,
"rentEpoch": 28,
"space": 42
}
}
]
}{
"jsonrpc": "2.0",
"error": {
"code": -32602,
"message": "Invalid params",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32001,
"message": "Unauthorized",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32005,
"message": "Too many requests",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32603,
"message": "Internal error",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32002,
"message": "Service unavailable",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}{
"jsonrpc": "2.0",
"error": {
"code": -32003,
"message": "Gateway timeout",
"data": {}
},
"id": "db16f277-1a22-41ff-9f85-f37e2cd77900"
}Obtén datos de cuentas de Solana más rápido con Ridge DB, nuestro cliente desarrollado a medida y diseñado específicamente para la recuperación de cuentas de alto rendimiento en Solana. A diferencia de los métodos RPC estándar, Ridge DB utiliza índices especializados que hacen que consultar cuentas de programa sea significativamente más rápido.
Qué lo hace diferente:
¿Solo necesitas rastrear cuentas nuevas? Usa
Configuración y errores: inicio rápido RPC. Facturación: créditos y límites.
changedSince para obtener las cuentas modificadas después de un slot específico, así no tienes que recargar todo. Usa paginación por cursor para recuperar de forma eficiente todas las cuentas coincidentes, hasta 10k por solicitud.
Consideraciones bajo alta cargaEste endpoint transmite todas las cuentas directamente a tu cliente. Aunque funciona muy bien en la mayoría de las consultas, puede devolver errores bajo alta carga o cuando consultas programas con millones de cuentas (como pools de liquidez o cuentas propiedad de protocolos).¿Necesitas mayor fiabilidad? Usa en su lugar getProgramAccountsV2. El método V2 incluye soporte de paginación, lo que lo hace más eficiente y fiable para programas grandes y escenarios de alto tráfico.
Autorizaciones
Cuerpo
application/json
The JSON-RPC protocol version.
Opciones disponibles:
2.0 Ejemplo:
"2.0"
A unique identifier for the request.
Ejemplo:
"1"
The name of the RPC method to invoke.
Opciones disponibles:
getProgramAccounts Ejemplo:
"getProgramAccounts"
Parameters for the method.
The Solana program public key (address) to query accounts for, as a base-58 encoded string.
Ejemplo:
"4Nd1mBQtrMJVYVfKf2PJy9NZUZdTAsp7D4xWLs4gDB4T"
¿Esta página le ayudó?