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

# RATE_UNAVAILABLE

> A live exchange rate could not be retrieved for the requested currency pair

## What happened

The API could not retrieve a live exchange rate for the currency pair in your request. This returns HTTP 503 with error code `RATE_UNAVAILABLE`.

```json theme={null}
{
  "type": "RATE_UNAVAILABLE",
  "title": "Rate Unavailable",
  "status": 503,
  "detail": "A live exchange rate could not be retrieved for USD/MXN.",
  "resolution": "Retry the request after a short delay. If the error persists, the rate provider for this currency pair may be experiencing an outage.",
  "docs": "/errors#rate-unavailable",
  "instance": "/v2/orders",
  "correlationId": "corr_xyz789",
  "timestamp": "2026-01-15T09:30:00.000Z"
}
```

## Common causes

* **Rate provider timeout** -- the upstream provider took too long to respond
* **Currency pair not configured** -- the requested pair is not set up for your account
* **Polling lag** -- rate data has not been refreshed yet (brief window, resolves automatically)
* **All providers down** -- every configured provider for this pair is unavailable

## Recovery

<Warning>
  This is a transient error in most cases. A simple retry with backoff resolves
  it.
</Warning>

**1. Retry with backoff**

Wait 2-5 seconds and retry the request. Most rate provider issues resolve within seconds.

```bash theme={null}
curl -X POST https://api.conduit.financial/v2/orders \
  -H "x-api-key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "source": { "type": "wallet", "id": "wlt_...", "asset": { "code": "USDC", "chain": "ethereum" } },
    "destination": { "type": "virtual_account", "id": "vac_..." },
    "autoPayout": {
      "rail": "fedwire",
      "purpose": "payment_for_goods_or_services",
      "documents": ["doc_..."],
      "recipient": {
        "rail": "us",
        "type": "individual",
        "firstName": "Jane",
        "lastName": "Doe",
        "dateOfBirth": "1990-01-15",
        "countryOfCitizenship": "USA",
        "accountNumber": "1234567890",
        "routingNumber": "021000021",
        "accountType": "checking"
      }
    },
    "lockSide": "source",
    "amount": "1000.00"
  }'
```

`autoPayout.purpose` is required. Every purpose except `intercompany` and, by default, `prefunding` (documentation
policy can still require documents on a `prefunding` payout above a configured
amount) also requires at least one previously-uploaded supporting document: upload it first
with `POST /v2/documents` (purpose `transaction_support`) and pass its `doc_...`
id in `autoPayout.documents`, otherwise the order is rejected before it is
created. Use `"purpose": "intercompany"` with a recipient already on the
customer's whitelist to skip the document.

**2. Check pair and recipient requirements**

Verify that the source and destination asset pair is supported, and fetch the
recipient fields required for the destination shape:

```bash theme={null}
curl -X GET 'https://api.conduit.financial/v2/orders/requirements?sourceCode=USDC&sourceChain=ethereum&destinationCode=USD&destinationCountry=USA&paymentRail=fedwire&recipientType=individual' \
  -H "x-api-key: YOUR_API_KEY"
```

If the pair is not supported, you will receive an `UNSUPPORTED_PAIR` error instead.

**3. Contact support**

If the error persists after multiple retries over 30+ seconds, contact support with:

* The `instance` value from the error response
* The currency pair you are requesting
* The approximate time of the first failure

## Prevention

* **Check pair availability before quoting** -- call the requirements endpoint during onboarding to confirm supported pairs and recipient fields
* **Implement retry logic** -- wrap order requests in a retry loop with exponential backoff (2s, 4s, 8s) and a maximum of 3-5 attempts
* **Handle gracefully in your UI** -- show a "rates temporarily unavailable, please try again" message rather than a generic error

## Related endpoints

* [POST /v2/orders](/api-reference/orders/create-an-order) -- create an order
* [GET /v2/orders/requirements](/api-reference/orders/list-required-recipient-fields) -- check pair availability and required fields
