FX Quotes
Bilaterally agree rates for OTC FX trading with other participants on the network.
Overview
FX Quotes enables you to agree a rate for an FX trade. Trades agreed using V2 are then settled using the Link and Settle service. V3 trades are executed with the Funds Controller and do not use Link and Settle.
RTGS.global provides the communication mechanism only, aligned to the FIX Standard specification. RTGS.global does not provide rates or take any margin on agreed trades.
Two API versions are available:
- V3 (current) — FIX 4.4 compatible. The Funds Controller acts as the FX provider, returning indicative quotes derived from their rates at the time of the request.
- V2 — FIX 4.2 compatible. Full bilateral negotiation where each message is explicitly exchanged between participants.
V3
V3 quotes are estimates derived from rates provided by the Funds Controller at the time of the request. The final executed amount is determined at the point of settlement and may differ from the quote. All quotes are non-binding and subject to expiry.
- Quote request — Submit via
POST /v3/fx/quote/request, specifying the currency pair (Symbol), side (Buy/Sell), and either the base (OrderQty) or quote (OrderQty2) quantity - Quote response — The Funds Controller responds with a quote including the offered rate, amounts in both currencies, and an expiry time (
quoteNotificationV3event)- If a Funds Controller cannot provide a quote, you receive a
quoteRequestRejectedNotificationV3event from it instead, with the reason inErrorText. No quote follows from that Funds Controller - A quote request that is not addressed to a Funds Controller goes to every Funds Controller that holds both currencies for you, so you may receive quotes and rejections for the same request
- If a Funds Controller cannot provide a quote, you receive a
- Exchange — Accept the quote via
POST /v3/fx/exchange, providing theQuoteId, your base and quote currency account details, and theClOrdIdyou intend to use for settlement. Set thertgs-global-signed-forHTTP header to the Funds Controller's RTGS.global ID - Execution report — The Funds Controller confirms or cancels the order (
executionReportNotificationV3event)
If the execution report confirms the trade, the exchange is complete. V3 does not use Link and Settle: the trade is executed with the Funds Controller.
Quoting for a client
To request a quote on behalf of one of your clients, set Body.ClientId on the quote request to the client's RTGS.global ID, as returned in RtgsGlobalId by GET /v1/clients. Only that client's accounts are used to find Funds Controllers that can quote, and the client is carried through the quote and any exchange against it. Omit ClientId for a request that is not made for a client.
The client is returned to you in two places:
Header.DeliverToCompIdon thequoteNotificationV3,quoteRequestRejectedNotificationV3andexecutionReportNotificationV3events is theClientIdof the quote request, so you can route each notification to the right client. This holds when the Funds Controller is in another jurisdiction, when the quote request is rejected, and when the exchange settles or is rejected.DeliverToCompIdis omitted when the quote request had no client.- The camt.054
TransactionNotificationV1sent when the exchange settles identifies the client as the account owner: the client's RTGS.global ID is inAcct.Ownr.Id.OrgId.Othr[].Idof each notified account.Ownris omitted when the account has no client.
A quote request for a client, and the quote it produces:
{
"Header": { "SenderCompId": "RTGS:B:US13221932" },
"Body": {
"QuoteReqId": "39054EA89BD9",
"Symbol": "GBP/USD",
"Side": "Buy",
"OrderQty2": "10000.00",
"PaymentMode": "Immediate",
"ClientId": "RTGS:C:GB48261531"
}
}
{
"Header": {
"SenderCompId": "RTGS:B:US13221932",
"TargetCompId": "RTGS:B:US20781688",
"DeliverToCompId": "RTGS:C:GB48261531"
},
"Body": { "QuoteId": "567GHL", "QuoteReqId": "39054EA89BD9", "Symbol": "GBP/USD", "Side": "Buy" }
}
The API reference has full examples of each message.
V2
- Request for Quote — Initiate a Request for Quote via
POST /v2/quote/request, specifying the currency pair, amount to buy/sell, and intended recipient(s) - Quote response — Counterparty participants respond with a Quote Message detailing the offered rate and resulting amounts in both currencies
- New Order Single — Examine responses and send a New Order Single via
POST /v2/quote/new-order-singleto the counterparty whose quote suits you best - Execution Report — The counterparty responds via
POST /v2/quote/execution-reportconfirming whether the order is accepted and can be settled, or cancelled
If the Execution Report confirms the trade, proceed to Link and Settle to complete settlement.