Bank Accounts

Activate fiat account details, receive deposits, and pay out over any supported rail.

Before You Start

Read the following guides before proceeding:

GuideWhy
Getting StartedPlatform overview and setup
Api BasicsRequired headers and request configuration
AuthenticationHow to obtain the corporation token
CapabilitiesEvery 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_id on 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
StepActionDescription
1POST /api/v1/bank/accountsActivate details for a rail — Ach, Spei or FasterPayment
2GET /api/v1/bank/accountsRead the composite id, the details and any mandatory_reference
3POST /api/v2/bank/transfer/estimateQuote the payout across tokens
4POST /api/v1/bank/transferExecute, naming the token to debit

Choosing a Payout Endpoint

You want toUse
Pay a beneficiary described inline, over SEPA, ACH or Faster PaymentsBank Transfers
Pay a stored recipient over any railCorridor Transfers
Pay many on-chain destinations at onceBulk Transfers
Pay an external payment cardCard Transfer

Guides

GuideDescription
Activating Bank Account DetailsWhich rails activate through the API, and reading the resulting details
Bank TransfersEstimate and execute a SEPA, ACH or Faster Payments payout
Corridor TransfersThe estimate-initiate-confirm flow across all sixteen corridors
Bulk TransfersApproving a batch of on-chain payouts

Did this page help you?