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 accounts are automatically provisioned after KYC approval. Users receive an IBAN that can accept incoming EUR transfers from any SEPA-participating bank. ACH accounts require manual activation through the bank accounts endpoint. Once active, users receive account and routing numbers for receiving USD transfers.
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 8 days ago
