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.
{
"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
This is a transient error in most cases. A simple retry with backoff resolves
it.
1. Retry with backoff
Wait 2-5 seconds and retry the request. Most rate provider issues resolve within seconds.
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_...", "assetCode": "USDC", "chain": "ETHEREUM"},
"destination": {"type": "virtual_account", "id": "vac_..."},
"autoPayout": {
"rail": "ACH",
"country": "USA",
"recipient": {
"type": "INDIVIDUAL",
"name": "Jane Doe",
"accountNumber": "1234567890",
"routingNumber": "021000021"
}
},
"lockSide": "source",
"amount": "1000.00"
}'
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:
curl -X GET 'https://api.conduit.financial/v2/orders/requirements?sourceCode=USDC&sourceChain=ETHEREUM&destinationCode=USD&destinationCountry=USA&paymentRail=ACH&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