# getTransactionsForAddress

## getTransactionsForAddress — Filtered transaction history for an address

> Enhanced transaction history API with powerful filtering, sorting, and pagination capabilities for retrieving comprehensive transaction data for any address. Supports bidirectional sorting, time/slot/status filtering, and efficient keyset pagination via the \`paginationToken\` cursor.\
> \
> \*\*Note:\*\* SVS supports the same parameter shape as the upstream provider with one exception — the \`filters.tokenAccounts\` field is \*\*not supported\*\* on Solana Vibe Station. All other filters (\`slot\`, \`blockTime\`, \`signature\`, \`status\`) work as documented.\
> \*\*Parameters\*\*\
> \
> 0\. \`address\` (required) — Solana account address whose transaction history to retrieve. May be a wallet, token mint, program, NFT, etc.\
> 1\. \`config\` (optional) — Optional configuration controlling sort order, pagination, transaction detail level, and filters.<br>

```json
{"openapi":"3.0.3","info":{"title":"Historical RPC: getTransactionsForAddress","version":"1.0.0"},"tags":[{"name":"Transactions","description":"Historical RPC transactions method."}],"servers":[{"url":"https://public.rpc.solanavibestation.com","description":"Public endpoint (rate-limited, no auth)"},{"url":"https://basic.rpc.solanavibestation.com","description":"Basic tier"},{"url":"https://ultra.rpc.solanavibestation.com","description":"Ultra tier"},{"url":"https://elite.rpc.solanavibestation.com","description":"Elite tier"},{"url":"https://epic.rpc.solanavibestation.com","description":"Epic tier"}],"security":[{},{"AuthHeader":[]},{"URLParameter":[]}],"components":{"securitySchemes":{"AuthHeader":{"type":"apiKey","in":"header","name":"Authorization","description":"Pass `Authorization: <api-key>` on each request."},"URLParameter":{"type":"apiKey","in":"query","name":"api_key","description":"Pass `?api_key=<api-key>` on the URL."}},"schemas":{"Commitment":{"type":"string","enum":["processed","confirmed","finalized"],"default":"finalized","description":"How finalized a block is at query time:\n- `processed`: most recent block, may be skipped\n- `confirmed`: block confirmed by supermajority of cluster\n- `finalized`: block finalized by the cluster (>2/3 stake)"},"Encoding":{"type":"string","enum":["json","jsonParsed","base58","base64","base64+zstd"],"description":"Encoding for transaction or account data."},"JsonRpcEnvelope":{"type":"object","required":["jsonrpc","id"],"description":"Base envelope of every JSON-RPC 2.0 response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Echoed request id."}}},"JsonRpcErrorResponse":{"type":"object","required":["jsonrpc","id","error"],"description":"JSON-RPC 2.0 error response.","properties":{"jsonrpc":{"type":"string","enum":["2.0"]},"id":{"oneOf":[{"type":"string"},{"type":"integer"}]},"error":{"$ref":"#/components/schemas/JsonRpcError"}}},"JsonRpcError":{"type":"object","required":["code","message"],"description":"Structured JSON-RPC error.","properties":{"code":{"type":"integer","description":"Numeric error code per JSON-RPC 2.0 spec. Common values:\n- `-32700` Parse error\n- `-32600` Invalid Request\n- `-32601` Method not found\n- `-32602` Invalid params\n- `-32603` Internal error\n- `-32003` Unauthorized\n- `-32005` Too Many Requests\n- `-32015` Transaction version not supported\n"},"message":{"type":"string"},"data":{"type":"object","additionalProperties":true}}}},"responses":{"UnauthorizedError":{"description":"Authentication required or invalid.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"ForbiddenError":{"description":"Insufficient permissions for the request.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"TooManyRequestsError":{"description":"Rate limit exceeded for this tier.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}},"InternalServerError":{"description":"Unexpected server error.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/JsonRpcErrorResponse"}}}}}},"paths":{"/historical":{"post":{"operationId":"getTransactionsForAddress","summary":"getTransactionsForAddress — Filtered transaction history for an address","tags":["Transactions"],"description":"Enhanced transaction history API with powerful filtering, sorting, and pagination capabilities for retrieving comprehensive transaction data for any address. Supports bidirectional sorting, time/slot/status filtering, and efficient keyset pagination via the `paginationToken` cursor.\n\n**Note:** SVS supports the same parameter shape as the upstream provider with one exception — the `filters.tokenAccounts` field is **not supported** on Solana Vibe Station. All other filters (`slot`, `blockTime`, `signature`, `status`) work as documented.\n**Parameters**\n\n0. `address` (required) — Solana account address whose transaction history to retrieve. May be a wallet, token mint, program, NFT, etc.\n1. `config` (optional) — Optional configuration controlling sort order, pagination, transaction detail level, and filters.\n","requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["jsonrpc","id","method","params"],"properties":{"jsonrpc":{"type":"string","enum":["2.0"],"description":"JSON-RPC protocol version."},"id":{"oneOf":[{"type":"string"},{"type":"integer"}],"description":"Request identifier echoed back in the response."},"method":{"type":"string","enum":["getTransactionsForAddress"],"description":"Must be `getTransactionsForAddress`."},"params":{"type":"array","description":"Positional parameters. Each item below corresponds to one position in the array, in order.","minItems":1,"maxItems":2,"items":{"anyOf":[{"title":"address","type":"string","description":"Solana account address, base-58."},{"title":"config (optional)","type":"object","description":"Optional configuration object for filtering, sorting, and pagination.","properties":{"transactionDetails":{"type":"string","description":"Level of transaction detail to return.","enum":["signatures","full"],"default":"signatures"},"sortOrder":{"type":"string","description":"Result ordering by slot. `desc` returns newest first.","enum":["desc","asc"],"default":"desc"},"commitment":{"$ref":"#/components/schemas/Commitment"},"limit":{"type":"integer","format":"int64","description":"Max records to return. 1-1000 when transactionDetails is `signatures`; 1-100 when `full`.","minimum":1,"maximum":1000},"paginationToken":{"type":"string","description":"Keyset pagination cursor in `slot:position` format. Pass the value returned in the previous response's `paginationToken` to fetch the next page."},"encoding":{"$ref":"#/components/schemas/Encoding"},"maxSupportedTransactionVersion":{"type":"integer","format":"int64","description":"Highest transaction version the client can handle. Only meaningful when `transactionDetails` is `full`. Set to 0 to include versioned transactions."},"filters":{"type":"object","description":"Optional set of filters narrowing the result set. Filters intersect (AND-combined). **NOTE:** `filters.tokenAccounts` is NOT supported on SVS — it is silently ignored or rejected. All other filters below are fully supported.","properties":{"slot":{"type":"object","description":"Slot range filter. Combine fields for half-open or closed ranges.","properties":{"gte":{"type":"integer","format":"int64","description":"Match slots >= this value."},"gt":{"type":"integer","format":"int64","description":"Match slots > this value."},"lte":{"type":"integer","format":"int64","description":"Match slots <= this value."},"lt":{"type":"integer","format":"int64","description":"Match slots < this value."}}},"blockTime":{"type":"object","description":"Unix-time (seconds) range filter on block production time.","properties":{"gte":{"type":"integer","format":"int64","description":"Match block times >= this Unix timestamp."},"gt":{"type":"integer","format":"int64","description":"Match block times > this Unix timestamp."},"lte":{"type":"integer","format":"int64","description":"Match block times <= this Unix timestamp."},"lt":{"type":"integer","format":"int64","description":"Match block times < this Unix timestamp."},"eq":{"type":"integer","format":"int64","description":"Match block times exactly equal to this Unix timestamp."}}},"signature":{"type":"object","description":"Signature range filter (lexicographic ordering of base-58 strings).","properties":{"gte":{"type":"string","description":"Match signatures >= this value (lex order)."},"gt":{"type":"string","description":"Match signatures > this value (lex order)."},"lte":{"type":"string","description":"Match signatures <= this value (lex order)."},"lt":{"type":"string","description":"Match signatures < this value (lex order)."}}},"status":{"type":"string","description":"Restrict to successful or failed transactions only.","enum":["success","failed"]}}}}}]}}}}}}},"responses":{"200":{"description":"Successful `getTransactionsForAddress` response.","content":{"application/json":{"schema":{"allOf":[{"$ref":"#/components/schemas/JsonRpcEnvelope"},{"type":"object","required":["result"],"properties":{"result":{"type":"object","required":["data"],"properties":{"data":{"type":"array","items":{"type":"object","required":["signature","slot","transactionIndex","err","blockTime","confirmationStatus"],"properties":{"signature":{"type":"string","description":"Transaction signature, base-58."},"slot":{"type":"integer","format":"int64","description":"Slot in which the transaction was confirmed."},"transactionIndex":{"type":"integer","format":"int64","description":"Position of the transaction within its block."},"err":{"type":"object","description":"Error object if the transaction failed; null if it succeeded.","nullable":true,"additionalProperties":true},"memo":{"type":"string","description":"Memo attached to the transaction, if any.","nullable":true},"blockTime":{"type":"integer","format":"int64","description":"Estimated production time of the block, in Unix seconds.","nullable":true},"confirmationStatus":{"type":"string","description":"Cluster commitment level when the transaction was confirmed.","enum":["processed","confirmed","finalized"]}}},"description":"Transaction history records, ordered per `sortOrder`."},"paginationToken":{"type":"string","description":"Cursor for the next page in `slot:position` format, or null/missing when there are no more results."}}}}}]}}}},"401":{"$ref":"#/components/responses/UnauthorizedError"},"403":{"$ref":"#/components/responses/ForbiddenError"},"429":{"$ref":"#/components/responses/TooManyRequestsError"},"500":{"$ref":"#/components/responses/InternalServerError"}}}}}}
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.solanavibestation.com/developers/historical/overview/gettransactionsforaddress.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
