External Accounts

Add a new platform external account

Register a new external bank account for the platform.

Sandbox Testing: In sandbox mode, use these account number patterns to test different transfer scenarios. These patterns should be used with the primary alias, address, or identifier of whatever account type you're testing. For example, the US account number, a CLABE, an IBAN, a spark wallet address, etc. The failure patterns are:

  • Account numbers ending in 002: Insufficient funds (transfer-in will fail)
  • Account numbers ending in 003: Account closed/invalid (transfers will fail)
  • Account numbers ending in 004: Transfer rejected (bank rejects the transfer)
  • Account numbers ending in 005: Timeout/delayed failure (stays pending ~30s, then fails)
  • Any other account number: Success (transfers complete normally)
post/platform/external-accounts

Request body

customerIdstring

The ID of the customer for whom to create the external account. If not provided, the external account will be created on behalf of the platform.

currencystring required

The ISO 4217 currency code

platformAccountIdstring

Your platform's identifier for the account in your system. This can be used to reference the account by your own identifier.

defaultUmaDepositAccountboolean

Whether to set the external account as the default UMA deposit account. When set to true, incoming payments to this customer's UMA address will be automatically deposited into this external account. False if not provided. Note that only one external account can be set as the default UMA deposit account for a customer, so if there is already a default UMA deposit account, this will override the existing default UMA deposit account. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer.

Example request

{
  "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
  "currency": "USD",
  "platformAccountId": "ext_acc_123456",
  "accountInfo": {
    "beneficiary": {
      "address": {
        "line1": "123 Main Street",
        "line2": "Apt 4B",
        "city": "San Francisco",
        "state": "CA",
        "postalCode": "94105",
        "country": "US"
      },
      "legalName": "Acme Corporation, Inc.",
      "registrationNumber": "BRN-123456789",
      "taxId": "EIN-987654321"
    }
  }
}

Response

External account created successfully

idstring required

The system generated identifier of this account

customerIdstring

The customer this account is tied to, or null if the account is on behalf of the platform.

status'PENDING' | 'ACTIVE' | 'UNDER_REVIEW' | 'INACTIVE' required

Status of an external account

platformAccountIdstring

Optional platform-specific identifier for this account

currencystring required

The ISO 4217 currency code

defaultUmaDepositAccountboolean

Whether this account is the default UMA deposit account for the customer. If true, incoming UMA payments to this customer's UMA address will be automatically deposited into this account instead of the primary internal account. False if not provided. Note that at most, one external account can be set as the default UMA deposit account for a customer. If there is no default UMA deposit account, incoming UMA payments will be deposited into the primary internal account for the customer.

Example response

{
  "id": "ExternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
  "customerId": "Customer:da459a29-1fb7-41ce-a4cb-eb3a3c9fd7a7",
  "platformAccountId": "acc_123456789",
  "currency": "USD",
  "accountInfo": {
    "beneficiary": {
      "address": {
        "line1": "123 Main Street",
        "line2": "Apt 4B",
        "city": "San Francisco",
        "state": "CA",
        "postalCode": "94105",
        "country": "US"
      },
      "legalName": "Acme Corporation, Inc.",
      "registrationNumber": "BRN-123456789",
      "taxId": "EIN-987654321"
    }
  }
}

Changes