> ## Documentation Index
> Fetch the complete documentation index at: https://docs-alpha.pepay.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Available tokens

> List tokens available for a payment session.

## Overview

This endpoint returns the tokens a payor can use for the current invoice/session, including availability metadata.

## Authentication

Requires:

* `x-session-token: pst_...`
* `x-signature: sig_...`

## Request

Endpoint:

* `GET /api/v1/payments/available-tokens`

Query params:

* `mode`: `monitored` (default) | `all` | `network`
* `network`: required when `mode=network`
* `available_only`: when `true`, returns only tokens that are currently available for the invoice amount

Example:

```bash theme={null}
BASE_URL=${PEPAY_API_URL}

curl "$BASE_URL/api/v1/payments/available-tokens?available_only=true" \
  -H "x-session-token: pst_..." \
  -H "x-signature: sig_..."
```

## Response

```json theme={null}
[
  {
    "id": 123,
    "token_symbol": "USDC",
    "token_name": "USD Coin",
    "token_type": "erc20",
    "network": "base",
    "token_decimals": 6,
    "token_address": "<token_address>",
    "requires_memo": false,
    "photo_uri": "https://assets.coingecko.com/coins/images/6319/small/USD_Coin_icon.png",
    "has_settlement_route": true,
    "supports_stable_settlement": true,
    "is_monitored": true,
    "settlement_rate": 1,
    "settlement_cost_usd": 49.99,
    "is_same_token_settlement": true,
    "tier": null,
    "tier_fee": null,
    "availability_status": "AVAILABLE",
    "rate_updated_at": 1766320496,
    "unavailable_reason": null
  }
]
```

### Underpaid behavior

If the invoice is `underpaid`, the response is limited to the locked token for the original network.

### Availability filtering

If you omit `available_only`, the response includes unavailable tokens with `availability_status` and `unavailable_reason` so clients can decide what to show. Use `available_only=true` to return only currently available tokens.

## Errors

* `401` invalid session token/signature
* `404` session not found / expired

## Examples

Next step for checkout: create a [Payment address](/api-spec/payors/payment-addresses) for a selected token.

Next: [Payment status](/api-spec/payors/payment-status)
