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

# Currencies

> GET /v1/currencies - the live set of networks, assets, fiat currencies, and rails.

Returns everything money can arrive in and settle as, across both rails: the
crypto side (networks and assets for deposits) and the fiat side (currencies,
bank rails, and their rules for virtual accounts and bank transfers). This is the
endpoint to read instead of hard-coding coverage.

The human-readable version is on [Coverage](/coverage).

## Request

No parameters.

## Response

<ResponseField name="crypto" type="object">
  The stablecoin rail.

  <Expandable title="crypto">
    <ResponseField name="networks" type="array">
      Networks a deposit can be funded from, e.g. `ethereum`, `arbitrum`, `base`,
      `optimism`, `polygon`. Each entry carries `name` and `chainId`.
    </ResponseField>

    <ResponseField name="fundingAssets" type="array">
      Stablecoins a user can fund with, per network - e.g. USDC and USDT where
      available on the source network.
    </ResponseField>

    <ResponseField name="settlementAsset" type="string">
      What deposits settle as: `USDC`.
    </ResponseField>
  </Expandable>
</ResponseField>

<ResponseField name="fiat" type="array">
  One entry per fiat currency virtual accounts can accept.

  <Expandable title="fiat[]">
    <ResponseField name="currency" type="string">
      ISO 4217 code, e.g. `EUR`.
    </ResponseField>

    <ResponseField name="rails" type="array">
      The bank rails for this currency, e.g. `["sepa", "sepa_instant"]` for EUR.
    </ResponseField>

    <ResponseField name="thirdPartyPayers" type="boolean">
      Whether someone other than the account holder may pay in. `false` for GBP
      and AUD - a transfer from someone else's account is not a payment you can
      credit.
    </ResponseField>

    <ResponseField name="detailsFormat" type="string">
      What the account details look like: `iban`, `account_number`, `clabe`,
      `nuban`, or `key` (QR code or payment key, as with PIX and BRE-B).
    </ResponseField>

    <ResponseField name="asyncProvisioning" type="boolean">
      `true` where account details populate after creation (USD, AED, COP) - poll
      the account until `details` is set.
    </ResponseField>
  </Expandable>
</ResponseField>

<RequestExample>
  ```bash cURL theme={null}
  curl "$RHEON_API/v1/currencies" \
    -H "Authorization: Bearer $RHEON_API_KEY"
  ```
</RequestExample>

<ResponseExample>
  ```json 200 theme={null}
  {
    "crypto": {
      "networks": [
        { "name": "ethereum", "chainId": 1 },
        { "name": "arbitrum", "chainId": 42161 },
        { "name": "base", "chainId": 8453 },
        { "name": "optimism", "chainId": 10 },
        { "name": "polygon", "chainId": 137 }
      ],
      "fundingAssets": ["USDC", "USDT"],
      "settlementAsset": "USDC"
    },
    "fiat": [
      {
        "currency": "EUR",
        "rails": ["sepa", "sepa_instant"],
        "thirdPartyPayers": true,
        "detailsFormat": "iban",
        "asyncProvisioning": false
      },
      {
        "currency": "GBP",
        "rails": ["faster_payments", "bacs", "chaps"],
        "thirdPartyPayers": false,
        "detailsFormat": "account_number",
        "asyncProvisioning": false
      },
      {
        "currency": "USD",
        "rails": ["ach", "wire", "rtp", "swift"],
        "thirdPartyPayers": true,
        "detailsFormat": "account_number",
        "asyncProvisioning": true
      },
      {
        "currency": "BRL",
        "rails": ["pix"],
        "thirdPartyPayers": true,
        "detailsFormat": "key",
        "asyncProvisioning": false
      },
      {
        "currency": "MXN",
        "rails": ["spei"],
        "thirdPartyPayers": true,
        "detailsFormat": "clabe",
        "asyncProvisioning": false
      }
    ]
  }
  ```
</ResponseExample>

The full fiat list also carries AED, AUD, NGN, and COP - the per-currency rules
match the [Coverage](/coverage) tables.

## Errors

| HTTP | `code`         | When                                    |
| ---- | -------------- | --------------------------------------- |
| 401  | `unauthorized` | Missing, malformed, or unknown API key. |
| 429  | `rate_limited` | Over your key's rate limit.             |
| 500  | `internal`     | Unexpected server error.                |
