BankAccount, with an id prefixed bank_account_.
When to use it
Use it for repeated payouts to a saved beneficiary or withdrawals to the customer’s own bank. US payouts require a verified linked bank; one-time USexternal_bank transfers are not released. Other enabled markets support one-time beneficiaries with destination.type: "external_bank". See Sending payments.
Coverage
Philippine and Vietnamese links are saved, but cannot execute a payout today. No market can receive settlement to a bank yet. See Supported regions and currencies.
What linking needs
A payout to the bank needs more: the bank
active, and an active linked_bank capability on the account. See Capability activation.
Read the fields for each country
schema, and offer a country only when available is true.
alternatives lists shortcut identifiers, such as a phone-number alias, that a country defines. Every one is available: false today.
Link a bank
- United States
- Philippines
- Vietnam
Stableyard registers the bank with a banking partner. When that completes, the bank is
active. If the partner needs the customer to act first, provisioning.nextAction.type is complete_provider_onboarding with a short-lived url, returned only in that response.What a link returns
- Raw details never come back. Only the last four digits. Stableyard stores the full details encrypted.
settlementReadyisfalse. Linking makes a payout destination, not a settlement destination.- Retry with the same key.
Idempotency-Keyis required and must contain 1–256 characters after trimming surrounding whitespace. The same key with identical input returns the original link, and changed input conflicts.
Statuses
List an account’s banks with
GET /v2/accounts/{accountId}/bank-accounts, filtered by status and paged with limit (up to 100, default 20) and cursor. Read one with GET /v2/accounts/{accountId}/bank-accounts/{bankAccountId}.
Disable a bank
Payment rail identifiers
POST /v2/accounts/{accountId}/payment-rail-identifiers saves a shortcut destination, such as an alias, as an opaque token issued by a provider. It never accepts a raw alias or QR payload, and the identifier stays pending_verification: no rail can pay one today.
Errors
Webhooks
There is no bank-account event.account.updated fires when a bank is linked, verified or disabled; read the bank account for its status.
Related
- Capability activation: the
linked_bankapproval payouts need. - Sending payments: pay out to a linked bank, and the amount rule for each route.
- On-ramp accounts: the other direction.
- Choose your pattern: where linking fits in each integration.
Next: Wallets and handles
Connected wallets, payment handles and public payment acceptance.