Documentation index

getSignaturesForAddress

Returns confirmed signatures for transactions involving an address, ordered from newest to oldest. This is the primary method for building transaction history UIs, wallet activity feeds, and account monitoring systems. It supports pagination via before and until parameters and can return up to 1,000 signatures per request. Use getTransaction to fetch full details for each signature.

Parameters

#TypeRequiredDescription
1stringYesBase-58 encoded account address
2objectNoConfiguration object

Configuration object fields:

FieldTypeDescription
commitmentstringCommitment level: confirmed or finalized (default finalized)
limitnumberMaximum number of signatures to return (1-1000, default 1000)
beforestringStart searching backwards from this transaction signature
untilstringSearch until this transaction signature (not inclusive)
minContextSlotnumberMinimum slot at which the request can be evaluated

Response

Returns an array of signature information objects:

FieldTypeDescription
[].signaturestringTransaction signature (base-58)
[].slotu64The slot containing the transaction
[].err`objectnull`
[].memo`stringnull`
[].blockTime`i64null`
[].confirmationStatus`stringnull`

Code Examples

cURL

Terminal
curl http://88.216.36.108:7999 -X POST -H "Content-Type: application/json" -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSignaturesForAddress",
  "params": [
    "Vote111111111111111111111111111111111111111",
    { "limit": 5, "commitment": "confirmed" }
  ]
}'

TypeScript

TypeScript
const response = await fetch("http://88.216.36.108:7999", {
  method: "POST",
  headers: { "Content-Type": "application/json" },
  body: JSON.stringify({
    jsonrpc: "2.0",
    id: 1,
    method: "getSignaturesForAddress",
    params: [
      "Vote111111111111111111111111111111111111111",
      { limit: 5, commitment: "confirmed" }
    ]
  }),
});
const { result } = await response.json();
result.forEach(s => console.log(s.signature, s.confirmationStatus));

Python

Python
import requests

response = requests.post("http://88.216.36.108:7999", json={
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getSignaturesForAddress",
    "params": [
        "Vote111111111111111111111111111111111111111",
        {"limit": 5, "commitment": "confirmed"}
    ]
})
result = response.json()["result"]
for s in result: print(f"{s['signature'][:20]}... {s['confirmationStatus']}")

Rust

Rust
use reqwest::Client;
use serde_json::json;

#[tokio::main]
async fn main() -> Result<(), Box<dyn std::error::Error>> {
    let client = Client::new();
    let res = client.post("http://88.216.36.108:7999")
        .json(&json!({
            "jsonrpc": "2.0",
            "id": 1,
            "method": "getSignaturesForAddress",
            "params": [
                "Vote111111111111111111111111111111111111111",
                {"limit": 5, "commitment": "confirmed"}
            ]
        }))
        .send().await?
        .text().await?;
    println!("{}", res);
    Ok(())
}

Example Response

JSON
{
  "jsonrpc": "2.0",
  "result": [
    {
      "signature": "5VERv8NMvzbJMEkV8xnrLkEaWRtSz9CosKDYjCJjBRnbJLgp8uirBgmQpjKhoR4tjF3ZpRzrFmBV6UjKdiSZkQUW",
      "slot": 166974442,
      "err": null,
      "memo": null,
      "blockTime": 1681391935,
      "confirmationStatus": "finalized"
    }
  ],
  "id": 1
}