# getSignatureStatuses

> Returns the confirmation status of up to 100 transaction signatures.

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

`getSignatureStatuses` checks whether transactions landed and how confirmed they are, without returning full transaction bodies. Pass up to 100 signatures to get each one's slot, confirmation count, status and any error, or null if the node has no record of it.

A send-and-confirm flow polls it after `sendTransaction` until the status is `confirmed` or `finalized`, or an error appears, instead of blocking on a subscription.

- 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 50/s · Blade Runner 200/s · Nexus 500/s

## Parameters

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

- `signatures` (string[], required, max 100): Up to 100 transaction signatures to check, base-58 encoded.
- `config` (object, optional): Optional configuration.
  - `searchTransactionHistory` (boolean, optional, default `false`): When true, also search the node's full retained ledger history, not just its cache of recently processed signatures. Needed to get a result for anything older than the last few minutes.

## Result

- `result` (object, optional): One status per input signature, in order, wrapped with context.
  - `context` (object, required)
    - `slot` (integer, optional)
    - `apiVersion` (string, optional)
  - `value` ((object | null)[], required)

## Example: Check status of two finalized signatures

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": "getSignatureStatuses",
    "params": [
      [
        "2E1brC5xSGXm9e3aA9pcdAZ2fNSVyCtEgo4QKN8LB6Pp7XCBda1toUgDuJJvbwNkvX665msewKafkj7BRdoQ4sFh",
        "5Hj6FoCmr6hudn4ZohM9LKqcnKPmcE3AhPXoMWDyjiSRwarDQZNsLd4aTTrJC3ZqLH1aj8YFDcVhar4aYBpgdKB6"
      ],
      { "searchTransactionHistory": true }
    ]
  }'
```

Response:

```json
{
  "jsonrpc": "2.0",
  "result": {
    "context": {
      "apiVersion": "4.3.0-rc.0",
      "slot": 447947067
    },
    "value": [
      {
        "confirmationStatus": "finalized",
        "confirmations": null,
        "err": null,
        "slot": 447947032,
        "status": {
          "Ok": null
        }
      },
      {
        "confirmationStatus": "finalized",
        "confirmations": null,
        "err": null,
        "slot": 447947032,
        "status": {
          "Ok": null
        }
      }
    ]
  },
  "id": 1
}
```

## Notes

- Maximum 100 signatures per call.
- Without `searchTransactionHistory: true`, this checks only the node's short-lived recent-status cache; a valid signature older than a few minutes can come back `null`.
- `confirmations: null` means finalized, not unknown; a transaction carries a count only while still working toward finality.
- Not available on the Free plan.

