# List Payout Transactions

Retrieve the authenticated user's fiat payouts, page by page.

## Overview

Returns the payouts created with [Initiate Payout](https://docs.aureahub.com/docs/payout-initiate.md) in one environment: pass `isTestnet=true` for sandbox payouts; without it, or with `false`, you get production payouts. Pagination uses `page` and `limit`; there is no status filter, so filter on your side.

- `status`: `pending`, `processing`, `completed`, `failed` or `cancelled`.
- `cryptoAuthorizedAmount` is the maximum the bank ramp may take, in smallest units (6 decimals): the requested amount plus up to 2%.
- `fiatAmount` and `exchangeRate` are the values quoted when the payout was created.
- `returnUrl` is the Aurea return address given to the hosted page, not your app's `returnUrl`.

## Endpoint

### `GET /v1/ramp/bank/payout/transactions`

Authentication: bearer token required.

Returns a page of the authenticated user's payout records in one environment.

**Query parameters**

| Name | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | integer | no | Page number (default 1) |
| `limit` | integer | no | Page size (default 20) |
| `isTestnet` | boolean | no | `true` for sandbox payouts; `false` or omitted for production. Any other value returns `400`. |

**Responses**

`200` OK

```json
{
  "payouts": [
    {
      "id": "e8b2d4f6-1a3c-4e5b-8d7f-9c0a2b4d6e81",
      "externalId": "4b7d9f1a-2c3e-4a5b-8c6d-7e8f9a0b1c2d",
      "checkoutUrl": "<hosted payout URL>",
      "checkoutExpiresAt": "2026-09-11T10:30:00.000Z",
      "cryptoCurrency": "USDC",
      "cryptoAuthorizedAmount": "25500000",
      "fiatCurrency": "EUR",
      "fiatAmount": "23.12",
      "exchangeRate": "0.9248",
      "status": "completed",
      "noahTransactionId": "<the bank ramp transaction ID>",
      "returnUrl": "https://api.aureahub.com/v1/ramp/bank/payout/return?session=4b7d9f1a-2c3e-4a5b-8c6d-7e8f9a0b1c2d",
      "createdAt": "2026-09-11T10:00:00.000Z",
      "updatedAt": "2026-09-11T10:20:00.000Z"
    }
  ],
  "total": 1,
  "page": 1,
  "limit": 20,
  "totalPages": 1
}
```

## Implementation

```javascript
async function getPayoutHistory(token, { page = 1, sandbox = false } = {}) {
  const params = new URLSearchParams({ page: String(page), limit: '20', isTestnet: String(sandbox) });
  const res = await fetch(`https://api.aureahub.com/v1/ramp/bank/payout/transactions?${params}`, {
    headers: { Authorization: `Bearer ${token}` }
  });
  if (!res.ok) throw new Error(`Payout list failed: ${res.status}`);

  const { payouts, totalPages } = await res.json();
  return {
    payouts,
    inProgress: payouts.filter(p => p.status === 'pending' || p.status === 'processing'),
    hasMore: page < totalPages
  };
}
```

---

Web version: https://docs.aureahub.com/#payout-list
