# getSignaturesForAddress

> Returns recent transaction signatures that touched a given address, newest first.

Source: https://docs.constant-k.com/rpc/http/getsignaturesforaddress/

`getSignaturesForAddress` walks an account's transaction history backwards from a starting point, returning matching signatures with a short status summary for each — no full transaction bodies.

`getTransaction` or `getSignatureStatuses`, paired with this call, supply full detail once specific transactions are identified.

- Transport: HTTP, JSON-RPC 2.0 `POST` to `https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY` (New York) or `https://rpc-frankfurt.constant-k.com/?api-key=YOUR_API_KEY` (Frankfurt) or `https://rpc-amsterdam.constant-k.com/?api-key=YOUR_API_KEY` (Amsterdam). The key also works as an `x-api-key` header.
- Category: Transactions
- Availability: Operator and above
- Rate limits: Free not available · Operator 5/s · Blade Runner 10/s · Nexus 30/s

## Parameters

`params` is a positional JSON array, in this order:

- `address` (string, required): Account address to search transaction history for, base-58 encoded.
- `config` (object, optional): Optional configuration.
  - `commitment` (string, optional, one of `confirmed`, `finalized`, default `"finalized"`): Bank state to search from. `processed` is not accepted here.
  - `minContextSlot` (integer, optional): Minimum slot the node must have processed before answering.
  - `limit` (integer, optional, default `1000`, min 1, max 1000): Maximum number of signatures to return.
  - `before` (string, optional): Start searching backwards from this signature, exclusive. Omit to start from the most recent transaction.
  - `until` (string, optional): Stop searching once this signature is reached, exclusive. Useful for paging forward to "catch up" from a previously-seen signature.

## Result

- `result` (object[], optional): An array of signature-info objects, ordered newest-first. Not wrapped in a context/value envelope.
  - `signature` (string, required): Transaction signature, base-58 encoded.
  - `slot` (integer, required): Slot the transaction was processed in.
  - `err` (object | null, required): Null if the transaction succeeded; a TransactionError object if it failed. Failed transactions are still included.
  - `memo` (string | null, optional): Contents of the transaction's memo instruction, if it had one.
  - `blockTime` (integer | null, optional): Estimated production time of the containing block, as Unix seconds.
  - `confirmationStatus` (string | null, optional, one of `processed`, `confirmed`, `finalized`, `null`): Confirmation status at the time of the response.

## Example: Last 3 signatures touching the USDC mint

Request:

```bash
curl "https://rpc-newyork.constant-k.com/?api-key=YOUR_API_KEY" \
  -X POST \
  -H "Content-Type: application/json" \
  -d '{
    "jsonrpc": "2.0",
    "id": 1,
    "method": "getSignaturesForAddress",
    "params": [
      "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
      { "limit": 3 }
    ]
  }'
```

Response:

```json
{
  "jsonrpc": "2.0",
  "result": [
    {
      "blockTime": 1789696264,
      "confirmationStatus": "finalized",
      "err": null,
      "memo": null,
      "signature": "2E1brC5xSGXm9e3aA9pcdAZ2fNSVyCtEgo4QKN8LB6Pp7XCBda1toUgDuJJvbwNkvX665msewKafkj7BRdoQ4sFh",
      "slot": 447947032
    },
    {
      "blockTime": 1789696264,
      "confirmationStatus": "finalized",
      "err": null,
      "memo": null,
      "signature": "5Hj6FoCmr6hudn4ZohM9LKqcnKPmcE3AhPXoMWDyjiSRwarDQZNsLd4aTTrJC3ZqLH1aj8YFDcVhar4aYBpgdKB6",
      "slot": 447947032
    },
    {
      "blockTime": 1789696264,
      "confirmationStatus": "finalized",
      "err": {
        "InstructionError": [
          5,
          {
            "Custom": 6010
          }
        ]
      },
      "memo": "[12] ck-docs-sample",
      "signature": "5UsbqkUn8AHsxA4r5KEbgs8BXJy21NtEuqkjq6hPLonfvtwd1gFt2Axzg2qSLsTxENijndv1sr5ZjhWxPVpRMbBY",
      "slot": 447947032
    }
  ],
  "id": 1
}
```

## Notes

- Failed transactions are included (see the third example entry, a program-defined `Custom` error); the `err` field distinguishes successes from failures client-side.
- Paging through history uses the last `signature` received as `before` on the next call.
- constant-k keeps a rolling window of ledger history; old signatures stop appearing once paging passes the retention window, whose start `minimumLedgerSlot` reports.

