Skip to main content

Layer 1 — Request Entry & Quote Type Classification

Input Parameters

Every request entering the FX Engine must provide the following four parameters:

ParameterTypeDescriptionExample
pairStringThe currency pair being requestedUSD-IDR, USD-SGD, MYR-IDR
sideEnumDirection of the trade from the requester's perspectiveBUY or SELL
amountDecimalNotional size of the request in the source currency50000.00
quote_typeEnumWhether this is a binding executable quote or an indicative reference priceINDICATIVE or FIRM

Indicative vs Firm Quote Routing

The quote_type parameter determines which processing path is taken. Mixing the two paths leads to either over-engineering of display-only price checks or under-protection of real trades.

Quote TypeProcessing PathInventory Reserved?Arb Check?Expiry Enforced?
INDICATIVEShort path: oracle mid + wide reference spread only. No downstream layers invoked.NoNoNo
FIRMFull pipeline: all nine layers executed in sequence.YesYesYes
Important

Indicative quotes carry no execution commitment. They are intended for PSP dashboard display, pre-trade planning, and rate monitoring. Only FIRM quotes proceed through the full validation and pricing pipeline.

Minimum Transaction Size & Fee Tier Resolution

Every corridor has a minimum transaction size defined by the smallest fee tier's min_amount. Requests below this minimum are rejected with BELOW_MIN_TRANSACTION_SIZE before any downstream processing occurs.

CorridorMinimumCurrency
USD-IDR$10USD
USD-SGD$10USD
MYR-IDR50 MYRMYR

For firm quotes, the fee tier is resolved at this layer based on the request amount. The resolved tier (fixed fee, variable bips, base spread override) is attached to the request context and flows through all downstream layers.

See Volume-Tiered Fee Schedule for the complete fee resolution logic.