# Crypto instructions

`GET /v1/stablecoin/crypto-instructions` returns the Ripple-owned on-chain destinations to which you send RLUSD for redemption or bridging. Each row is the Ripple-owned receiving address and its network — the same pair exposed on the resulting `REDEMPTION` transaction's source leg — so a crypto instruction can be joined directly to transaction history.

The tenant comes from your access token; there is no tenant request parameter. Requires `rlusd_customers:read`.

## List crypto instructions

```
GET /v1/stablecoin/crypto-instructions
```

**Required scope:** `rlusd_customers:read`

### Query parameters

| Parameter | Type | Required | Description |
|  --- | --- | --- | --- |
| `page` | integer | No | Page number, 0-indexed (default: `0`) |
| `size` | integer | No | Page size (default: `20`) |
| `sort` | string | No | Sort field and direction (default: `chain,asc`). Supported fields: `chain`, `counterpartyAddress` |


### Example request

```bash
curl -s 'https://api.ripple.com/v1/stablecoin/crypto-instructions?sort=chain,asc' \
  -H 'Authorization: Bearer <access_token>' \
  -H 'Accept: application/json'
```

### Example response — `200 OK`

```json
{
  "content": [
    {
      "counterpartyAddress": "0x1D1479C185d32EB90533a08b36B3CFa5F84A0E6B",
      "chain": "ETH_SEPOLIA"
    },
    {
      "counterpartyAddress": "rpJUVPxb4KMS63fUE4ExRykUuGch9u6m7Q",
      "chain": "XRPL_TESTNET"
    }
  ],
  "totalElements": 2,
  "totalPages": 1,
  "size": 20,
  "number": 0
}
```

## Crypto instruction object

| Field | Type | Description |
|  --- | --- | --- |
| `counterpartyAddress` | string | Ripple-owned receiving address. EVM addresses include the `0x` prefix; XRPL and Solana addresses are unchanged |
| `chain` | string | Blockchain network name, e.g. `ETH_SEPOLIA` or `XRPL_TESTNET` |


Duplicate address-and-chain pairs are returned once. A tenant with no configured redemption destinations — including while the read cache is cold — receives `200 OK` with empty `content` and `totalElements: 0`.

Use this endpoint before the redemption flow to answer **where to send the RLUSD**. The returned address is Ripple's receiving address, not one of your own wallets from the [Wallets API](/products/stablecoin/api/wallets).