getSignaturesForAddress
https://api.triport.io/v1/solReturns the signatures of confirmed transactions that include the given address, newest first.
getSignaturesForAddress returns a list of transaction signatures that
reference the given account, ordered from newest to oldest (reverse
chronological). It is the primary building block for reconstructing an
account's transaction history: page through the signatures here, then fetch the
full transactions with getTransaction for each one you care about.
Each entry is a lightweight SignatureInfo record — the signature itself plus
the slot, success/failure status, optional memo, block time, and confirmation
status. It does not include the transaction payload, so this call stays cheap
even on busy accounts.
Results are paginated by signature, not by offset. A single call returns at most
limit entries (default and maximum 1000). To walk further back in history,
pass the oldest signature you received as before on the next call; to bound a
scan to transactions newer than a known point, pass that signature as until.
Parameters
JSON-RPC params is a positional array: [address, config?].
addressstring (base-58)requiredPubkey. Must match ^[1-9A-HJ-NP-Za-km-z]{32,44}$.configobjectoptionallimitintegeroptional1000.beforestring (base-58)optionaluntilstring (base-58)optionalcommitmentstringoptionalprocessed, confirmed, or finalized.minContextSlotintegeroptionalResponse
Response fields
result is an array of SignatureInfo objects, ordered newest-first.
| Field | Type | Description |
|---|---|---|
signature | string (base-58) | The transaction signature. Pass to getTransaction to fetch the full transaction. |
slot | integer | The slot that contains the transaction. |
err | object | null | null if the transaction succeeded; otherwise the transaction error object describing why it failed. |
memo | string | null | The memo associated with the transaction, or null if there was none. |
blockTime | integer | null | Estimated production time as a Unix timestamp (seconds), or null if unavailable. |
confirmationStatus | string | Confirmation level of the transaction: processed, confirmed, or finalized. |
Errors
Errors are returned in the standard JSON-RPC error envelope. See the shared errors reference for the full envelope shape and shared codes.
| Code | Meaning | When it happens |
|---|---|---|
-32602 | Invalid params | address is missing or not a valid base-58 pubkey, limit exceeds 1000, or config is malformed. |
-32003 | Rate limited | More than your tier's RPS for sol_read_rpc (20 / 60 / 200 / 600). Returned with HTTP 429. |
401 | Unauthorized | Missing or invalid Authorization: Bearer key. |
Examples
JavaScript (fetch)
const res = await fetch("https://api.triport.io/v1/sol", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.TRIPORT_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
jsonrpc: "2.0",
id: 1,
method: "getSignaturesForAddress",
params: ["Vote111111111111111111111111111111111111111", { limit: 100 }],
}),
});
const { result } = await res.json();
for (const sig of result) {
console.log(`${sig.signature} @ slot ${sig.slot}${sig.err ? " (failed)" : ""}`);
}TypeScript SDK (@triport/sdk)
import { TriportClient } from "@triport/sdk";
const client = new TriportClient({ apiKey: process.env.TRIPORT_API_KEY });
const signatures = await client.solana.getSignaturesForAddress(
"Vote111111111111111111111111111111111111111",
{ limit: 100, commitment: "finalized" }
);
for (const { signature, slot, err } of signatures) {
console.log(`${signature} @ slot ${slot}${err ? " (failed)" : ""}`);
}Python (triport-sdk)
import os
from triport import TriportClient
client = TriportClient(api_key=os.environ["TRIPORT_API_KEY"])
signatures = client.solana.get_signatures_for_address(
"Vote111111111111111111111111111111111111111",
limit=100,
commitment="finalized",
)
for sig in signatures:
status = " (failed)" if sig["err"] else ""
print(f"{sig['signature']} @ slot {sig['slot']}{status}")Notes
- Pagination: results never exceed
limit(max1000). To page backwards, take thesignatureof the last entry returned and pass it asbeforeon the next request. Repeat until you receive fewer thanlimitentries. - Bounded scans: pass a previously-seen signature as
untilto fetch only transactions newer than that point — useful for polling an account for new activity without re-reading old history. - Failed transactions are included: entries with a non-null
errrepresent transactions that were confirmed on-chain but failed during execution. Checkerrbefore treating a signature as a successful action. - Resolving full transactions: this method returns only signatures and
metadata. Pass each
signaturetogetTransactionto retrieve the decoded instructions, balances, and logs. - Related methods:
getSignatureStatusesto check the confirmation state of specific signatures, andgetTransactionto fetch transaction bodies.