For the complete documentation index, see llms.txt. This page is also available as Markdown.

Quotes

FX quotes for a corridor and amount.

FX Quote Retrieval & Selection

get

Source PSP retrieves FX quotes from Nexus for a given corridor and amount. Includes improved rates for PSP, improved rates for the amount, and checks Maximum Source and Destination IPS amounts for the currencies. Service used when Source PSP uses third-party FXP.

Required scopes
This endpoint requires the following scopes:
  • : Retrieve FX quotes for a corridor and amount
Authorizations
mutualTLS

Mutual TLS: the IPSO presents its X.509 client certificate on every connection, validated during the TLS handshake (fail-closed). The same certificate is the RFC 8705 binding anchor for the OAuth access token (see nexusOAuth).

OAuth2clientCredentialsRequired

OAuth2 client-credentials access token issued per participant, presented as Authorization: Bearer <token>. Tokens are certificate-bound per RFC 8705: the token carries a cnf."x5t#S256" confirmation claim recording the SHA-256 thumbprint of the IPSO's mTLS client certificate, and the request is rejected (AE006) when the certificate presented on the connection does not match that thumbprint.

Token URL:
Query parameters
sourceCountrystring · min: 2 · max: 2Required

ISO-3166 alpha-2 country code of the Source Country.

Example: SGPattern: ^[A-Z]{2}$
sourceCurrencystring · min: 3 · max: 3Required

ISO-4217 3-letter code of the Source Currency.

Example: SGDPattern: ^[A-Z]{3}$
destinationCountrystring · min: 2 · max: 2Required

ISO-3166 alpha-2 country code of the Destination Country.

Example: MYPattern: ^[A-Z]{2}$
destinationCurrencystring · min: 3 · max: 3Required

ISO-4217 3-letter code of the Destination Currency.

Example: MYRPattern: ^[A-Z]{3}$
amountCurrencystring · min: 3 · max: 3Required

ISO-4217 3-letter currency code of amount. Equals sourceCurrency if Sender defined DebtorAccountAmount, or destinationCurrency if Sender defined CreditorAccountAmount.

Example: SGDPattern: ^[A-Z]{3}$
amountnumberRequired

Amount specified by Sender. If Sender chose DebtorAccountAmount, this is DebtorAccountAmount minus Source PSP Deducted Fee (Source Currency). If Sender chose CreditorAccountAmount, this is CreditorAccountAmount (Destination Currency).

Example: 5000
finInstIdTypestring · enumRequired

Type ID of the Source PSP. Used together with finInstId to identify the Source PSP for FXP eligibility and rate improvement lookups. The originating Source IPS is resolved separately from the authenticated caller context.

One of BICFI, LEI or otherId.

Example: BICFIPossible values:
finInstIdstring · min: 1 · max: 35Required

ID of the Source PSP.

Format depends on the sibling finInstIdType parameter: BICFI is 8 or 11 characters, LEI is 20 characters, otherId is free text of up to 35 characters. The per-type format is enforced as a business validation (BE019 FI_ID_TYPE_UNSUPPORTED / BE020 FI_NOT_FOUND) rather than by this schema, because it cannot be expressed as a constraint on an independent parameter.

Example: DBSSSGSG
destFinInstIdTypestring · enumOptional

Type ID of the Destination PSP. Required when the destination country operates multiple IPSes. Used to resolve which Destination IPS(s) the Destination PSP is connected to, constraining eligible FXPs to those with Destination-side access on the same IPS(s).

One of BICFI, LEI or otherId.

Example: BICFIPossible values:
destFinInstIdstring · min: 1 · max: 35Optional

ID of the Destination PSP. Required when the destination country operates multiple IPSes. If absent in a multi-IPS destination country, Nexus rejects the request with BE008 QUOTE_DESTINATION_PSP_REQUIRED

Format depends on the sibling destFinInstIdType parameter: BICFI is 8 or 11 characters, LEI is 20 characters, otherId is free text of up to 35 characters. The per-type format is enforced as a business validation (BE019 FI_ID_TYPE_UNSUPPORTED / BE020 FI_NOT_FOUND) rather than by this schema, because it cannot be expressed as a constraint on an independent parameter.

Example: MBBEMYKL
Header parameters
AcceptstringRequired

/

Default: */*Example: */*
Responses
200

Quote created.

application/json

FX quote response with quote details.

quoteRequestIdstringRequired

Quote request identifier.

Example: d302cc08-323b-4ac6-897e-579a9abe0c88
sourceCountrystring · min: 2 · max: 2Required

The ISO 3166 alpha-2 country code

Example: SGPattern: ^[A-Z]{2}$
sourceCurrencystring · min: 3 · max: 3Required

The ISO 4217 alpha-3 currency code

Example: SGDPattern: ^[A-Z]{3}$
destinationCountrystring · min: 2 · max: 2Required

ISO 3166-1 alpha-2 destination country code.

Example: THPattern: ^[A-Z]{2}$
destinationCurrencystring · min: 3 · max: 3Required

ISO 4217 destination currency code.

Example: THBPattern: ^[A-Z]{3}$
amountCurrencystring · min: 3 · max: 3Required

Currency for the amount.

Example: SGDPattern: ^[A-Z]{3}$
amountnumberRequired

Amount value.

Example: 1000
get/v1/quotes
GET /v1/quotes?sourceCountry=text&sourceCurrency=text&destinationCountry=text&destinationCurrency=text&amountCurrency=text&amount=1&finInstIdType=BICFI&finInstId=text HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "quoteRequestId": "d302cc08-323b-4ac6-897e-579a9abe0c88",
  "sourceCountry": "SG",
  "sourceCurrency": "SGD",
  "destinationCountry": "TH",
  "destinationCurrency": "THB",
  "amountCurrency": "SGD",
  "amount": 1000,
  "quotes": [
    {
      "quoteId": "855cd802-8c7b-4fd2-8ce7-a456c1e12509",
      "issuedDateTime": "2024-10-22T12:00:00Z",
      "expiryDateTime": "2024-10-22T12:10:00Z",
      "fxpFinInstIdType": "BICFI",
      "fxpFinInstId": "FXSGAAAA",
      "exchangeRate": 25,
      "debtorAgent": {
        "interbankSettlementAmount": {
          "currency": "SGD",
          "amount": 1000,
          "cappedToMaxAmount": false
        }
      },
      "intermediaryAgent1": {
        "finInstId": {
          "name": "DBS Bank Ltd",
          "BICFI": "DBSSSGSG",
          "LEI": "ATUEL7OJR5057F2PV266",
          "clearingSystemMemberId": {
            "clearingSystemId": null,
            "memberId": null
          },
          "other": {
            "id": null
          }
        }
      },
      "intermediaryAgent1Account": {
        "id": "2345678901"
      },
      "intermediaryAgent2": {
        "finInstId": {
          "name": "Kasikornbank Public Company Limited",
          "BICFI": "KASITHBK",
          "LEI": null,
          "clearingSystemMemberId": {
            "clearingSystemId": null,
            "memberId": null
          },
          "other": {
            "id": null
          }
        }
      },
      "intermediaryAgent2Account": {
        "id": "8881234569"
      },
      "creditorAgent": {
        "interbankSettlementAmount": {
          "amount": 25000,
          "currency": "THB",
          "cappedToMaxAmount": false
        },
        "chargesAmount": {
          "amount": 100,
          "currency": "THB"
        },
        "creditorAccountAmount": 24900
      }
    }
  ]
}

Last updated