Wirex bank accounts are named accounts in USD, EUR, GBP, AUD, MXN, HKD, NZD, BRL and more. Each one is connected to a wallet balance your user controls, and you open them inside your own product.
One API call opens a named account in the currency your user needs. Money that lands on the account details arrives in the user’s wallet balance, ready to spend on a card, send on a payout or put to work in yield.
Deposits land in the wallet balance. The same balance funds the card, the payouts and the yield.
Moves between accounts on Wirex settle at once.
Per-user statements and program-level reports, from the API or the portal.
Open, freeze and close accounts, and set limits, from your own back office.
Your user passes onboarding. You request account details in the currency they need. Incoming funds convert into the user’s wallet balance, which every other Wirex product reads from. Outgoing payments draw from the same balance.
Your user passes onboarding.
You request account details in the currency they need.
Incoming funds convert into the user’s wallet balance.
Outgoing payments, card spend and yield draw from the same balance.
Activate a SEPA account for a verified user, then read the IBAN and BIC. Incoming EUR is converted to WEUR in the user’s unified balance.
Read the guidePOST /api/v1/bank/accountsconst headers = {
'Authorization': `Bearer ${accessToken}`,
'X-User-Wallet': userEoaAddress,
'X-Chain-Id': chainId,
'Content-Type': 'application/json'
};
// Activate (when SepaAccount is ActivationNotStarted)
await fetch(`${baseUrl}/api/v1/bank/accounts`, {
method: 'POST', headers,
body: JSON.stringify({ account_type: 'Sepa' })
});
// Read the details once the account is Active
const { data } = await (await fetch(`${baseUrl}/api/v1/bank/accounts`, { headers })).json();
const sepa = data.find(a => a.account_type === 'Sepa');
console.log(sepa.details.iban, sepa.details.bic);headers = {
"Authorization": f"Bearer {access_token}",
"X-User-Wallet": user_eoa_address,
"X-Chain-Id": chain_id,
"Content-Type": "application/json",
}
# Activate (when SepaAccount is ActivationNotStarted)
requests.post(f"{base_url}/api/v1/bank/accounts", headers=headers, json={"account_type": "Sepa"})
# Read the details once the account is Active
accounts = requests.get(f"{base_url}/api/v1/bank/accounts", headers=headers).json()["data"]
sepa = next(a for a in accounts if a["account_type"] == "Sepa")
print(sepa["details"]["iban"], sepa["details"]["bic"])USD, EUR, GBP, AUD, MXN, HKD, NZD and BRL today, with more being added. Ask us about a currency you need.