> For the complete documentation index, see [llms.txt](https://docs.triton.one/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.triton.one/solana/rpc-methods/historical-data/getsignaturesforaddress.md).

# getSignaturesForAddress

Returns signatures of transactions that reference the supplied address, newest first.

## Request

{% tabs %}
{% tab title="cURL" %}

```bash
curl "https://<your-endpoint>.mainnet.rpcpool.com/<your-token>" -s -X POST \
  -H "Content-Type: application/json" \
  -d '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "getSignaturesForAddress",
  "params": [
    "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
    {
      "commitment": "finalized",
      "limit": 1
    }
  ]
}'
```

{% endtab %}

{% tab title="Kit" %}

```typescript
import { address, createSolanaRpc } from "@solana/kit";

const rpc_url = "https://<your-endpoint>.mainnet.rpcpool.com/<your-token>";
const rpc = createSolanaRpc(rpc_url);

let addr = address("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");

let signaturesForConfig = {
  limit: 1
};

let signatures = await rpc
  .getSignaturesForAddress(addr, signaturesForConfig)
  .send();

console.log(signatures);
```

{% endtab %}

{% tab title="web3.js" %}

```typescript
import {
  Connection,
  PublicKey,
  type SignaturesForAddressOptions
} from "@solana/web3.js";

const connection = new Connection("https://<your-endpoint>.mainnet.rpcpool.com/<your-token>", "confirmed");

let signaturesOptions: SignaturesForAddressOptions = {
  limit: 1
};

let address = new PublicKey("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");
let signatures = await connection.getSignaturesForAddress(
  address,
  signaturesOptions
);

console.log(signatures);
```

{% endtab %}

{% tab title="Rust" %}

```rust
// Cargo.toml: anyhow = "1", solana-client = "~4.4", solana-commitment-config = "3",
// solana-sdk = "5", tokio = { version = "1", features = ["full"] }. solana-client 4.4 takes
// solana-sdk 5.x types. Requires Rust 1.98.1 or newer (solana-client 4.4).
use anyhow::Result;
use solana_client::{
    nonblocking::rpc_client::RpcClient, rpc_client::GetConfirmedSignaturesForAddress2Config,
};
use solana_commitment_config::CommitmentConfig;
use solana_sdk::pubkey;

#[tokio::main]
async fn main() -> Result<()> {
    let client = RpcClient::new_with_commitment(
        String::from("https://<your-endpoint>.mainnet.rpcpool.com/<your-token>"),
        CommitmentConfig::confirmed(),
    );

    let address = pubkey!("EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v");

    let signatures_for_config = GetConfirmedSignaturesForAddress2Config {
        before: None,
        until: None,
        limit: Some(1),
        commitment: CommitmentConfig::finalized().into(),
    };

    let signatures = client
        .get_signatures_for_address_with_config(&address, signatures_for_config)
        .await?;

    println!("{:#?}", signatures);

    Ok(())
}
```

{% endtab %}
{% endtabs %}

## Parameters

**`address`** · string · required

Account address as base-58 encoded string

{% hint style="info" %}
On Triton's shared mainnet endpoints, the address index behind this method skips four addresses that appear in almost every transaction: the System Program, the Vote Program, SysvarClock and SysvarSlotHashes.
{% endhint %}

**`config`** · object

Configuration object containing the following fields:

**`commitment`** · string · default `finalized`

Values: `confirmed`, `finalized`

Solana RPC uses the following commitment levels:

| Value       | Description                                                                                                                                                                        |
| ----------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `processed` | Return data from the highest slot this node has processed on the fork it currently considers best. This is the newest view, but it can still change if the cluster switches forks. |
| `confirmed` | Return data from the highest slot the cluster has finalized. On Alpenglow, `confirmed` and `finalized` are the same level.                                                         |
| `finalized` | Return data from the highest slot that the cluster has finalized. On Alpenglow there are no vote towers or lockouts: a slot is finalized by certificates of aggregated votes.      |

Standard Solana RPC doesn't accept `processed` for this method. Triton's shared mainnet endpoints also accept it, served from Superbank's in-memory head cache; dedicated nodes may differ.

**`minContextSlot`** · number

The minimum slot that the request can be evaluated at

**`limit`** · usize · default `1000`

Maximum transaction signatures to return (between 1 and 1,000).

**`before`** · string

Start searching backwards from this transaction signature. If not provided the search starts from the top of the highest max confirmed block.

**`until`** · string

Search until this transaction signature, if found before limit reached

**`beforeSlot`** · u64 · Triton extension

Return only signatures from slots lower than this slot. It's a whole-slot bound, not a signature position, and can't be combined with `before`. Supported on shared mainnet endpoints; dedicated nodes may differ.

**`untilSlot`** · u64 · Triton extension

Return only signatures from slots higher than this slot. It's a whole-slot bound, not a signature position, and can't be combined with `until`. Supported on shared mainnet endpoints; dedicated nodes may differ.

## Response

```json
{
  "jsonrpc": "2.0",
  "result": [
    {
      "signature": "5h6xBEauJ3PK6SWCZ1PGjBvj8vDdWG3KpwATGy1ARAXFSDwt8GFXM7W5Ncn16wmqokgpiKRLuS83KUxyZyv2sUYv",
      "slot": 114,
      "transactionIndex": 0,
      "err": null,
      "memo": null,
      "blockTime": null,
      "confirmationStatus": "finalized"
    }
  ],
  "id": 1
}
```

## Result

An array of transaction signature information objects, ordered from **newest** to **oldest** transaction, containing:

**`signature`** · string

Transaction signature as base-58 encoded string

**`slot`** · u64

The slot that contains the block with the transaction

**`transactionIndex`** · u32 · optional

The transaction's position within its block. Omitted when the node doesn't report it.

**`err`** · object | string | null

Error if the transaction failed. `null` if the transaction succeeded.

When `err` is returned as an object, it is a transaction error enum payload rather than a fixed JSON schema:

| Field           | Type                                | Description                                                                                                                                     |
| --------------- | ----------------------------------- | ----------------------------------------------------------------------------------------------------------------------------------------------- |
| `<variantName>` | `array \| object \| string \| null` | Transaction error variant payload. Most variants serialize as strings. `InstructionError` serializes as `[instructionIndex, instructionError]`. |

**`memo`** · string | null

Memo associated with the transaction, null if no memo is present

**`blockTime`** · i64 | null

Estimated production time, as Unix timestamp (seconds since the Unix epoch) of when transaction was processed. null if not available.

**`confirmationStatus`** · string | null

The transaction's cluster confirmation status; Either `processed`, `confirmed`, or `finalized`. See [Commitment](https://solana.com/docs/rpc/#configuring-state-commitment) for more on optimistic confirmation.

***

*Adapted from the* [*Solana `getSignaturesForAddress` reference*](https://solana.com/docs/rpc/http/getsignaturesforaddress)*, maintained by the Solana Foundation.*

***

<i class="fa-life-ring">:life-ring:</i> Contact support by clicking the chat icon in your [customer dashboard](https://customers.triton.one)\ <i class="fa-briefcase">:briefcase:</i> Sales questions? [Contact us](https://triton.one/contact)\ <i class="fa-sparkles">:sparkles:</i> AI agent? Read [llms.txt](https://docs.triton.one/llms.txt)\ <i class="fa-rss">:rss:</i> Follow updates: [Blog](https://blog.triton.one) · [X](https://x.com/triton_one) · [YouTube](https://www.youtube.com/@triton_one_ltd) · [Telegram](https://t.me/tritonone) · [GitHub](https://github.com/rpcpool)
