Skip to content

Solana method

getSignaturesForAddress

Lists recent transaction signatures involving an address, newest first.

expensiveExpensive: scans a range or a large account set. Frequently restricted.Primary specification (opens in a new tab)

How each provider handles it

3 providers

Provider support for getSignaturesForAddress on Solana
ProviderStatusSuccessMedian
PublicNodeSupported100.0%32 ms
Solana FoundationSupported100.0%16 ms
TatumNot measured0.0%—

Success excludes calls the provider does not implement — an optional method a provider declines to offer is a capability fact, not a failure, and is never scored as one.

Over time

Median latency per hour. Gaps are periods with no measurement, drawn as gaps rather than joined across — a line through missing data invents a measurement that was never taken.

Logarithmic scale — each gridline is ten times the one below it. Click a provider in the legend to hide it. 1 provider is not plotted: they returned no successful response in this window, so they have no latency.

What it does

The backbone of every account history view. It returns signatures in reverse chronological order, with `before` and `until` cursors for paging.

It requires the node to maintain a secondary index by address, which not every node does. Providers that do not run the index answer with an error rather than an empty list.

Parameters

addressstringrequired
Account address, base-58.
configObjectoptional
limit (1–1000), before, until, commitment, minContextSlot.Default: limit defaults to 1000

Returns

Array of objects with signature, slot, err, memo, blockTime.

Try it

Runnable as written, against a keyless public endpoint. Nothing here needs an API key.

Request

curl -s https://api.mainnet-beta.solana.com \
  -H 'content-type: application/json' \
  -d '{"jsonrpc":"2.0","id":1,"method":"getSignaturesForAddress","params":["Vote111111111111111111111111111111111111111",{"limit":10}]}'

As JSON-RPC

{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSignaturesForAddress",
  "params": [
    "Vote111111111111111111111111111111111111111",
    { "limit": 10 }
  ]
}

Response

{
  "jsonrpc": "2.0",
  "result": [
    {
      "signature": "5Nx8kQ2vRt7mYw3pL9dF...",
      "slot": 372145830,
      "err": null,
      "memo": null,
      "blockTime": 1755168000
    }
  ],
  "id": 1
}

Things that bite

  • The default limit of 1000 makes an unqualified call unexpectedly expensive. Always pass a limit.
  • How far back the index reaches is a provider decision, not a protocol one, and it varies from days to the full chain.

Why it is measured

It is the clearest test of whether a provider maintains the address index at all, which is a capability difference rather than a performance one.

Called every 600 seconds per endpoint, with jitter so the fleet does not hit a provider in lockstep.

6h window · generated 2026-10-08 18:19:03 UTC · 3 providers