Overview
Bank accounts are used to receive fiat payouts in off-ramp and cross-ramp transactions. You can manage bank accounts for users directly or for receivers (third-party payees). Each bank account is tied to a specific country and must meet that countryβs validation requirements. Alternatively, bank details can be provided inline when creating a transaction, without saving them beforehand.Requirements by Country
Each country has specific required fields when creating a bank account:| Country | Required Fields | Notes |
|---|---|---|
| MX | accountIdentifier (18-digit CLABE) | bankName is not allowed |
| DO | accountIdentifier, bankName, accountType, documentIdentifier, documentType | accountType: SAVINGS or CHECKING. documentType: PASSPORT, CEDULA, or RNC |
| US | accountIdentifier, bankName, routingNumber, accountHolder, address | routingNumber: 9-digit ABA. address requires streetLine1, city, state, postalCode, country |
| SEPA | iban, bic, bankName, accountHolder | accountIdentifier is not allowed. Covers AT, BE, BG, HR, CY, CZ, DK, EE, FI, FR, DE, GR, HU, IE, IT, LV, LT, LU, MT, NL, PL, PT, RO, SK, SI, ES, SE, IS, LI, NO, CH, GB, MC, SM, AD, VA |
accountHolder object requires a type field (INDIVIDUAL or BUSINESS). For individuals, provide firstName and lastName. For businesses, provide businessName.
Examples
- Mexico (MX)
- Dominican Republic (DO)
- United States (US)
- SEPA
User Bank Accounts
Manage bank accounts linked directly to a user.Create
Use the Create Bank Account endpoint to add a bank account for a user.List
Use the List Bank Accounts endpoint to retrieve all bank accounts for a user. Supports filtering bycountry, rampType, and id, with pagination via skip, limit, and sortBy.
Delete
Use the Delete Bank Account endpoint to soft-delete a bank account. The account will be disabled but existing transactions are not affected.Receiver Bank Accounts
Manage bank accounts linked to a receiver (third-party payee). The same country requirements apply.Create
Use the Create Bank Account by Receiver endpoint to add a bank account for a receiver.List
Use the List Bank Accounts by Receiver endpoint to retrieve all bank accounts for a receiver.Delete
Use the Delete Bank Account by Receiver endpoint to soft-delete a receiverβs bank account.Verification (Mexico)
Mexican bank accounts go through a penny testing verification process to confirm account ownership. The verification flow:- When a bank account is created with
country: "MX", a small deposit (penny test) is initiated. - The
verificationStatusfield tracks the result:
| Status | Description |
|---|---|
PENDING | Penny test has been initiated, awaiting result |
VERIFIED | Account ownership confirmed |
REJECTED | Penny test failed, account owner does not match the KYCβd user |
CEP_FAILURE | Bank verification receipt could not be validated |
- The
isVerifiedboolean indicates the current verification state. - If a user attempts an off-ramp with an unverified MX account, the transaction will proceed but may be cancelled and the crypto reimbursed if verification fails.
Inline Bank Details
When creating off-ramp or cross-ramp transactions, bank information can be provided directly in the request body instead of saving a bank account beforehand:- Off-ramp: Use the
userBankInformationfield in the Create Off-Ramp request. - Cross-ramp: Use the
targetBankAccountfield in the Create Cross-Ramp request.