ISO 20022 FX API Mapping Reference
- Base URL:
https://api.hyperrail.io/api/v1/partners/fx - Content-Type: application/xml
- Authentication: Authorization: Bearer sk_…
1. Initiate FX Trade
EndpointPOST /trades
ISO 20022 Message Type
fxtr.014.001.05 - FXTradeInstruction
Field Mapping
BaseCcy= Source currency (NGN)QtdCcy= Destination currency (USDT)TradgCcyAmt= Trade amountXchgRate= Exchange rateTxId= Transaction IDSts= Status (NEWT = New Trade)TTL= Time to live (seconds)
2. Get FX Trade Status
EndpointGET /trades/{transactionId}
ISO 20022 Message Type
fxtr.017.001.05 - FXTradeStatusAndDetailsNotification
Status Codes
NEWT= New Trade (pending acceptance)SETT= Settling (payment in progress)COMP= CompletedCANC= Cancelled
3. Cancel FX Trade
EndpointPUT /trades/{transactionId}/cancellation
ISO 20022 Message Type
fxtr.016.001.05 - FXTradeCancellationResponse
4. Complete FX Trade
EndpointPOST /trades/{transactionId}/confirmation
ISO 20022 Message Type
fxtr.037.001.02 - FXTradeConfirmationStatusAdvice
5. Accept FX Trade - Bank Settlement
EndpointPOST /trades/{transactionId}/accept
ISO 20022 Message Type
fxtr.014.001.05 - FXTradeAcceptRequest
6. Accept FX Trade - Internal Balance Settlement
EndpointPOST /trades/{transactionId}/accept
ISO 20022 Message Type
fxtr.014.001.05 - FXTradeAcceptRequest
TradSts/Sts = SETT
7. Accept FX Trade - Blockchain Settlement
EndpointPOST /trades/{transactionId}/accept
ISO 20022 Message Type
fxtr.014.001.05 - FXTradeAcceptRequest
TradSts/Sts = SETT
8. Get FX Listings
EndpointGET /listings?source=NGN&destination=USDT&page=0&pageSize=10
ISO 20022 Message Type
reda.041.001.01 - FundProcessingPassportReport
Field Mapping
Id= Listing IDNm= Pool nameCcyPair= Currency pairXchgRate= Exchange rateAvlblBal= Available balance/liquidityTradsCnt= Total trades countCmpltnRate= Completion rate percentage
9. Get Market Maker Rates
EndpointGET /rates/makers?from=USDT&to=NGN
ISO 20022 Message Type
fxtr.014.001.05 - FXTradeStatusAndDetails
Field Mapping
SrcCcy= Source currencyTrgtCcy= Target currencyXchgRate= Exchange rateRateSrc= Rate source (market_maker)TmStmp= TimestampAgeSecs= Rate age in secondsPctChg24H= 24-hour percentage change
Quick Reference
| Endpoint | Message Type | Status Codes |
|---|---|---|
| POST /trades | fxtr.014 | NEWT, SETT, COMP, CANC |
| GET /trades/ | fxtr.017 | NEWT, SETT, COMP, CANC |
| PUT /trades//cancellation | fxtr.016 | CANC |
| POST /trades//confirmation | fxtr.037 | COMP |
| POST /trades//accept | fxtr.014 | SETT |
| GET /listings | reda.041 | N/A |
| GET /rates/makers | fxtr.014 | N/A |
Common Fields Across All Responses:
UnqTxIdr/TxId= Unique transaction identifierTradSts/Sts= Trade status codeXchgRate= Exchange rateCcyPair= Currency pair (BaseCcy/QtdCcy)TTL= Time to live (seconds)OprgMd= Operating mode (live/sandbox)