SWIFT Payment

📘

A wallet is required. See create crypto wallet for more information.


1. Create an external account

curl --request POST \
  --url https://api.sandbox.keyrails.com/api/v1/external-accounts \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {{AccessToken}}'  \
  --data '{
    "customerId": "497f6eca-6276-4993-bfeb-53cbbbba6f08",
    "name": "ABC LTD",
    "phone": "+447934758009", 
    "address": {
      "street1": "1 Main Road",
      "street2": "string",
      "postalCode": "string",
      "city": "string",
      "country": "GB"
    },
    "bankName": "asdsad",
    "bankAddress": {
      "street1": "5 Money Lane",
      "street2": "string",
      "postalCode": "10001",
      "city": "Big City",
      "country": "CN" 
    },
    "swift": {
    	"accountNumber": "string", // optional when beneficiaryIban is provided
      "iban": "string", // optional when beneficiaryAccountNumber is provided
      "bic": "ABC123456"
    }
}
'

Response:

{
  "id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
  "accountNumberLast4": "string",
  "receiverName": "string",
  "accountName": "string",
  "swiftCode": "string", 
  "iban": "string",
  "createdAtUtc": "2025-05-22T18:04:27.272Z"
}

2. Create a SWIFT Transfer

To initiate a payment using POBO Swift, set isPoboSwift=true.
For non-POBO Swift payments, set isPoboSwift=false See supported currencies

To expedite the compliance check procedure, you need to upload documents that support the transaction. For instance, if the payment pertains to a trade, you can upload multiple files such as invoice, sender's company registration document and other supporting documents.

curl --request POST \
  --url https://api.sandbox.keyrails.com/api/v1/transfer \
  --header 'Accept: application/json' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: Bearer {{AccessToken}}'  \
  --data '{
      "source": {
        "currency": "USDC",
        "network": "ethereum",
        "walletId": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      },
      "destination": {
        "externalAccountId": "497f6eca-6276-4993-bfeb-53cbbbba6f08"
      },
      "amount": 100.00,
      "memo": "test 123", // Optional
      "isPoboSwift": false, // Set to TRUE for POBO Swift
      "documents": [
        "data:image/[type];base64,abdcxxxx",
        "data:image/[type];base64,abdcxxxx"
      ]
}'