Using Bank Accounts
Manage bank account details for fiat deposits and withdrawals.
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 access tokens |
| Onboarding | User and wallet registration |
| KYC | KYC verification requirements |
| Recipients | Recipient management |
Wirex BaaS provides bank account connectivity for fiat deposits and withdrawals. Users receive dedicated bank account details for receiving incoming transfers, and can send outbound transfers to external bank accounts. Supported rails include SEPA (EUR) and ACH (USD).
SEPA and ACH accounts both require activation through the bank accounts endpoint after KYC approval — verification alone does not provision either. Once active, SEPA users receive an IBAN that accepts incoming EUR transfers from any SEPA-participating bank, and ACH users receive account and routing numbers for receiving USD transfers. SEPA activation has a second path when the user's wallet must first be linked to an external provider; see SEPA Bank Details.
Outbound transfers support both first-party (user's own accounts) and third-party (other recipients) destinations. Each transfer type has a corresponding capability that must be active. Transfers follow an estimate-then-execute flow, with activity webhooks reporting transaction status as funds move through the banking network.
Incoming Deposit Flow (Simplified)
Detailed documentation available in the subguides.
sequenceDiagram
participant Sender
participant App as Your App
participant BaaS as Wirex BaaS
Note over App,BaaS: Account Setup
App->>BaaS: GET /api/v1/bank/accounts
BaaS-->>App: IBAN / Account #
Note right of App: Display to user
Note over Sender,BaaS: Deposit Received
Sender->>BaaS: Bank transfer (SEPA/ACH)
BaaS->>App: POST /v2/webhooks/activities<br/>(type: Sepa/AchPush, direction: Inbound)
Note right of App: Update user balance
| Step | Action | Description |
|---|---|---|
| 1 | GET /api/v1/bank/accounts | Retrieve user's bank account details |
| 2 | Display IBAN/account number | User shares with sender |
| 3 | Sender initiates transfer | External bank transfer |
| 4 | Webhook | Activity notification with deposit details |
Outgoing Transfer Flow (Simplified)
sequenceDiagram
participant User
participant App as Your App
participant BaaS as Wirex BaaS
Note over User,BaaS: Transfer Request
User->>App: Enter recipient bank details
App->>BaaS: POST /api/v2/bank/transfer/estimate
BaaS-->>App: estimation_id, rates
App-->>User: Transfer quote
User->>App: Confirm transfer
App->>BaaS: POST /api/v1/bank/transfer
BaaS-->>App: activity_id
Note over App,BaaS: Completion
BaaS->>App: POST /v2/webhooks/activities<br/>(status: Completed)
App-->>User: Transfer complete
| Step | Action | Description |
|---|---|---|
| 1 | POST /api/v2/bank/transfer/estimate | Get transfer quote with token rates |
| 2 | POST /api/v1/bank/transfer | Execute transfer |
| 3 | Webhook | Receive completion notification |
Updated 12 days ago

