Controlling SSI with Trustpair

What is SSI verification?

SSI (Standard Settlement Instructions) verification is a bank-to-bank payment route validation feature that helps companies securely execute foreign exchange and treasury payments.

For example, when a company asks its bank to purchase a foreign currency, the bank provides settlement instructions (a target bank, BIC and account number) that indicate where the funds must be sent to complete the transaction.

Trustpair’s SSI verification checks that:

  • The target bank and account really exist
  • There is a valid settlement relationship between the two banks
  • The currency and BIC match the expected correspondent account

This ensures that funds are sent through a legitimate and secure banking route, reducing the risk of misrouted payments and fraud.

SSI verification is:

  • Available only via the Trustpair Payments API
  • Disabled by default and activated on request

This feature does not cover corporate-to-corporate or corporate-to-bank settlement accounts or private internal treasury arrangements between companies.

Who can use SSI verification?

SSI verification is available for:

  • Companies using Payments API

Important notes:

  • Your supplier does not need to exist in audit module to perform an SSI payment check.
  • The feature is disabled by default and must be activated by Trustpair.

❗️

To enable SSI verification, please contact Trustpair.

How to trigger SSI verification with Trustpair API

SSI verification is triggered by adding specific SSI fields to a payment request.

If the field ssi_owner_bic is present, the payment is processed as an SSI payment.

If it is missing or null, the payment is treated as a regular payment.

Mandatory fields

FieldAPI keyDescription
SSI owner BICssi_owner_bicBIC of the bank that owns the SSI
CurrencycurrencyCurrency being purchased
Expected BICbank_account_bicTarget bank BIC
Expected accountbank_account_number or ibanTarget account number
AmountamountPayment amount
Payment IDpayment_idUnique payment identifier

Optional fields

FieldAPI keyDescription
Asset categoryssi_asset_categoryFilters SSI type (e.g. FOEX, ANYY)

Example of request

{
  "bank_account_number": "PK81LRBB0000080200185304",
  "bank_account_bic": "HABBPKKAXXX",
  "amount": 1000000.00,
  "payment_id": "Example1",
  "currency": "PKR",
  "ssi_owner_bic": "CHASUS33XXX",
  "ssi_asset_category": "FOEX"
}

Example of answer

{
  "data": {
    "id": "42f58cac-04e9-48a7-9f70-d8a7917964f1",
    "type": "ssi_payment_check",
    "attributes": {
      "bank_account_number": "PK81HABB0000070900175103",
      "bank_account_bic": "HABBPKKAXXX",
      "ssi_owner_bic": "CHASUS33XXX",
      "ssi_asset_category": "FOEX",
      "amount": "1000000.0",
      "currency": "PKR",
      "payment_id": "Example1",
      "state": "favorable",
      "state_reasons": {
        "payment": {
          "state": "favorable",
          "state_reason": [
            "The standard settlement instruction is valid"
          ]
        }
      }
    }
  }
}

Important limitations

SSI verification does not:

  • Work in the web application (API only).
  • Work in QCR or audit modules.
  • Support corporate-to-corporate SSIs.
  • Validate multi-intermediary routes (only final intermediary is checked).

Connector support

Currently, only Kyriba is able to send SSI payments. Other connectors must adapt their implementation to support SSI.