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

Fees And Amounts

APIs for a Source PSP acting as its own FX Provider to either have settlement amounts and fees computed on its behalf, or retrieve the fee formula for independent computation.

Get Fees and Interbank Settlement Amounts

get

Retrieves the various fees and amounts based on specified parameters. Information can be used in the pacs.008 payment instruction.

Required scopes
This endpoint requires the following scopes:
  • : Compute fees and settlement amounts from a PSP supplied rate
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:
Path 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 code of the currency in which amount is expressed.

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

The amount in the specified amountCurrency. If defined in Source Currency, this must be the Interbank Settlement Amount (after Source PSP deduction). If defined in Destination Currency, this is the CreditorAccountAmount to be credited to the Recipient.

Example: 100
exchangeRatenumberRequired

The exchange rate from Source to Destination currency, as managed by the Source PSP.

Example: 3.5
Query parameters
finInstIdTypestring · enumRequired

Type ID of the Source PSP. Used together with finInstId to identify the Source PSP, which is treated as the FX Provider for the resulting payment. 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: FXSGAAAA
destFinInstIdTypestring · enumOptional

Type ID of the Destination PSP. Required when the destination country operates multiple IPSes. Used to resolve which Destination IPS serves the Destination PSP for the Source PSP's Destination-side settlement-account check.

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

Fees and amounts quote generated.

application/json

Computed debtor and creditor amounts with fees.

get/v1/fees-and-amounts/{sourceCountry}/{sourceCurrency}/{destinationCountry}/{destinationCurrency}/{amountCurrency}/{amount}/{exchangeRate}
GET /v1/fees-and-amounts/{sourceCountry}/{sourceCurrency}/{destinationCountry}/{destinationCurrency}/{amountCurrency}/{amount}/{exchangeRate}?finInstIdType=BICFI&finInstId=text HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "debtorAgent": {
    "interbankSettlementAmount": {
      "amount": 100,
      "currency": "SGD"
    }
  },
  "creditorAgent": {
    "interbankSettlementAmount": {
      "amount": 350,
      "currency": "MYR"
    },
    "chargesAmount": {
      "amount": 2.24,
      "currency": "MYR"
    },
    "creditorAccountAmount": 347.76
  }
}

Get Destination Agent Fee Formula

get

Returns the Destination Agent (Destination PSP) Fee FORMULA for a specified Destination Country, denominated in the Destination Currency. Supports HTTP conditional GET via If-None-Match header.

Required scopes
This endpoint requires the following scopes:
  • : Retrieve the Destination Agent fee formula
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:
Path parameters
countryCodestring · min: 2 · max: 2Required

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

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

ISO-4217 3-letter code of the Destination Currency. Example:MYR

Example: MYRPattern: ^[A-Z]{3}$
Header parameters
AcceptstringRequired

/

Default: */*Example: */*
If-None-MatchstringOptional

Optional. ETag value from a previous response for conditional GET. If it matches the current entity tag, the server returns 304 Not Modified with no body.

Example: "a1b2c3"
Responses
200

Destination Agent Fee retrieved.

application/json
get/v1/fee-formulas/destination-agent-fee/{countryCode}/{currencyCode}
GET /v1/fee-formulas/destination-agent-fee/{countryCode}/{currencyCode} HTTP/1.1
Host: prod.payments.nexus.net
Authorization: Bearer YOUR_OAUTH2_TOKEN
Accept: */*
{
  "countryCode": "MY",
  "nominalFee": {
    "amount": 2.22,
    "currency": "MYR"
  },
  "percentageFee": 0.1,
  "validTo": "2026-07-17T23:59:59+08:00"
}

Last updated