# GET /v1/xrpl/account/{address}/transactions

One page of an account's most recent validated transactions, newest first.

## Purpose

Returns one page of the account's most recent validated transactions, newest first, in a compact shape: hash, ledger index, close time, transaction type, result code, counterparty (when the transaction names one) and delivered amount as a decimal string (when reported). `limit` is 1 to 50 transactions (default 20) and `marker` is an opaque cursor: send it back unchanged to get the next (older) page; it is `null` on the last page and only valid for the address that produced it. No history depth is promised: history depth depends on the serving node (how far back pages go depends on the ledger history of the node that serves the request), and older pages may be slower because they can be served by a node that keeps a longer history.

## When to use

To check what an account did recently (payments sent or received, offers, trust line changes) and whether each transaction succeeded.

## When not to use

For balances and trust lines, use `/v1/xrpl/account/{address}/summary` or `/v1/xrpl/account/{address}/lines`; for full archival history, use a full-history node or indexer: history depth depends on the serving node and older pages may be slower.

## Parameters

| Name | In | Required | Description | Constraints | Example |
|---|---|---|---|---|---|
| `address` | path | yes | Classic XRPL account address. | Valid classic XRPL address: starts with `r`, 25 to 35 base58 characters, checksum verified | `rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh` |
| `limit` | query | no | Transactions per page. | Integer from 1 to 50; default 20 | `20` |
| `marker` | query | no | Opaque cursor from the previous page's `marker`. | Exactly as returned for this address; any other value is rejected with 400 | `eyJ2IjoxLCJlIjoidHgiLCJhIjoiciIsIm0iOjF9` |

## Request example

```sh
curl -s "https://api.criptonlabs.com/v1/xrpl/account/rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh/transactions?limit=20"
```

## Response example (200)

```json
{
  "address": "rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
  "limit": 20,
  "transactions": [
    {
      "hash": "C53ECF838647FA5A4C780377025FEC7999AB4182590510CA461444B207AB74A9",
      "ledger_index": 100234566,
      "close_time": "2026-10-11T09:30:12.000Z",
      "type": "Payment",
      "result": "tesSUCCESS",
      "counterparty": "rvYAfWj5gh67oV6fW32ZzP3Aw4Eubs59B",
      "delivered": {
        "asset": "USD.rHb9CJAWyB4rj91VRWn96DkukG4bwdtyTh",
        "value": "25.5"
      }
    }
  ],
  "marker": null,
  "meta": {
    "ledger_index": 100234566,
    "as_of": "2026-10-06T12:00:03.000Z",
    "age_seconds": 2,
    "cache": "hit",
    "stale": false
  }
}
```

## Errors

- 400 [invalid-parameters](https://api.criptonlabs.com/errors/invalid-parameters.md)
- 400 [bad-request](https://api.criptonlabs.com/errors/bad-request.md)
- 404 [not-found](https://api.criptonlabs.com/errors/not-found.md)
- 429 [rate-limited](https://api.criptonlabs.com/errors/rate-limited.md)
- 503 [upstream-unavailable](https://api.criptonlabs.com/errors/upstream-unavailable.md)

## Caching

Fresh for 4 seconds; on upstream failure the last good value is served for up to 30 seconds (`meta.stale` is `true`), then the service answers 503. See the [freshness guide](https://api.criptonlabs.com/docs/guides/freshness.md).

## Rate limit

Tier `expensive`. See the [rate-limits guide](https://api.criptonlabs.com/docs/guides/rate-limits.md).

## MCP tool

The MCP tool `xrpl_account_transactions` returns the same data. See the [MCP quickstart](https://api.criptonlabs.com/docs/guides/mcp-quickstart.md).
