Bank Accounts
Activate fiat account details, receive deposits, and pay out over any supported rail.
Before You Start
Read the following guides before proceeding:
| Guide | Why |
|---|---|
| Getting Started | Platform overview and setup |
| Api Basics | Required headers and request configuration |
| Authentication | How to obtain the corporation token |
| Capabilities | Every rail is gated by its own capability |
| Verification (KYB) | Verification unlocks the account capabilities |
A corporation receives fiat through bank account details issued in its own name — an IBAN, a routing and
account number pair, a sort code and account number, or a CLABE — and pays out over the same rails plus
a dozen more. Money received is credited to the corporation's on-chain balance; money sent is funded by
debiting a token from the corporation wallet.
Details are activated per rail and each rail has its own capability. SEPA is provisioned automatically
once the corporation is verified; ACH, SPEI and Faster Payments are activated by an explicit call.
Payouts come in three shapes. The v1 bank transfer describes the beneficiary inline and covers SEPA, ACH
and Faster Payments. The v3 corridor transfer pays a stored recipient and covers every rail, including
PIX, SPEI, FEDWIRE, SWIFT, CIPS, CHATS, FPS-HK, IMPS, InstaPay, BI-FAST, NIP, IPP and PSE. The bulk
transfer approves up to 50 on-chain payouts in one call.
account_idon the v1 transfer is a composite<accountId>:<detailsId>. The v3 corridor
endpoints take a plain account UUID. They are not interchangeable.
Payout Flow (Simplified)
Detailed documentation available in
Activating Bank Account Details,
Bank Transfers and
Corridor Transfers.
sequenceDiagram
participant App as Your App
participant Corp as Wirex Corporate API
Note over App,Corp: One-time setup
App->>Corp: 1. POST /api/v1/bank/accounts
Corp-->>App: details_id
App->>Corp: 2. GET /api/v1/bank/accounts
Corp-->>App: account id, details, mandatory_reference
Note over App,Corp: Each payout
App->>Corp: 3. POST /api/v2/bank/transfer/estimate
Corp-->>App: estimation id, estimated_amounts[]
App->>Corp: 4. POST /api/v1/bank/transfer
Corp-->>App: transaction id
Corp->>App: POST /v2/webhooks/activities
| Step | Action | Description |
|---|---|---|
| 1 | POST /api/v1/bank/accounts | Activate details for a rail — Ach, Spei or FasterPayment |
| 2 | GET /api/v1/bank/accounts | Read the composite id, the details and any mandatory_reference |
| 3 | POST /api/v2/bank/transfer/estimate | Quote the payout across tokens |
| 4 | POST /api/v1/bank/transfer | Execute, naming the token to debit |
Choosing a Payout Endpoint
| You want to | Use |
|---|---|
| Pay a beneficiary described inline, over SEPA, ACH or Faster Payments | Bank Transfers |
| Pay a stored recipient over any rail | Corridor Transfers |
| Pay many on-chain destinations at once | Bulk Transfers |
| Pay an external payment card | Card Transfer |
Guides
| Guide | Description |
|---|---|
| Activating Bank Account Details | Which rails activate through the API, and reading the resulting details |
| Bank Transfers | Estimate and execute a SEPA, ACH or Faster Payments payout |
| Corridor Transfers | The estimate-initiate-confirm flow across all sixteen corridors |
| Bulk Transfers | Approving a batch of on-chain payouts |
Updated 20 days ago

