Skip to main content

Rejection Response Reference

Every rejection response includes the error code, a human-readable message, the originating layer, and the specific cause. Partners should use these codes for automated retry logic and error handling.

CodeMessageLayerCause
DIRECTION_BLOCKEDTrade direction not permitted under current stateLayer 2RESTRICT state active; only one direction allowed for this corridor
NO_VIABLE_RFQ_QUOTEExternal RFQ returned no acceptable quoteLayer 3Size exceeds Active Pool depth and no external MM quote within acceptable deviation band
CROSS_LEG_INSUFFICIENTInsufficient liquidity for cross-route executionLayer 4One or both legs of MYR-IDR cross route lack sufficient Active Pool depth
ORACLE_STALEOracle price data is outdatedLayer 5Freshness threshold breached; state set to HALT
ORACLE_DEVIATIONOracle sources diverge beyond acceptable thresholdLayer 5Pyth and Orakl rates deviate beyond configured corridor maximum
QUOTE_HALTEDSystem is in HALT state; no new quotesLayer 6Severe volatility or oracle failure has triggered HALT
ARB_CHECK_FAILEDQuote failed arbitrage validationLayer 8One of three arb checks failed: internal consistency, synthetic gap, or triangular loop
QUOTE_EXPIREDQuote has expired; please re-requestLayer 9Execution attempted after quote expiry timestamp

Corridor Reference — Phase 1

CorridorTypeBase SpreadOracle Max AgeRouteStablecoins
USD-IDRG10 → Asia EM3–4 bps20 secondsDirect BookUSDT / IDRX
USD-SGDG10 → G10 Deep1–2 bps30 secondsDirect BookUSDT / tnSGD
MYR-IDRAsia EM → Asia EM5–6 bps15 secondsDirect or Synthetic via USDMYRC / IDRX