Skip to main content

What happened

Your order touches a fiat currency whose market is currently closed — a weekend, a market holiday, or simply outside trading hours. While the market is closed, the API can only quote against the last rate captured while it was open. In this case there is no such open-market rate on record to freeze, so no quote can be produced. This returns HTTP 503 with error code RATE_UNAVAILABLE_AFTER_HOURS.

Common causes

  • Weekend or holiday — the market for this currency is closed and reopens on the next business day
  • Outside trading hours — the request arrived after the market closed for the day
  • No open-market rate on record — the pair has never been quoted during open hours, so there is no last-good rate to freeze and serve while closed

Recovery

This is a time-of-day error, not a provider outage. The quote will succeed again once the market reopens.
1. Retry once the market reopens Wait until the currency’s market is open again — the next business day for a weekend or holiday, or the next trading session for after-hours — and retry the request.
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:
If the pair is not supported, you will receive an UNSUPPORTED_PAIR error instead. 3. Contact support If the error persists during open market hours, contact support with:
  • The instance value from the error response
  • The currency pair you are requesting
  • The approximate time of the failure

Prevention

  • Quote during market hours — schedule order placement for when the destination currency’s market is open
  • Handle gracefully in your UI — show a “rates unavailable until the market reopens, please try again later” message rather than a generic error
  • Implement retry logic — queue the request and retry once the market reopens rather than failing the operation outright