Accounts
Issue local and global receiving details for wallets, understand supported rails, and manage inbound account-based collections.
Accounts & IBANs
Issue local or global receiving details for a wallet so you or your downstream customers can collect funds through domestic rails, SEPA, SWIFT, and other supported banking networks.
[!CAUTION] Advanced Flow Approval Required Issuing bank details to third-party customers (Platforms) or sub-accounts requires Stage 2 Compliance Approval. Review Go-Live Requirements →
🔀 Accounts vs. Receive — What's the Difference?
These are two distinct but complementary concepts:
| Concept | 🏦 Accounts | 📥 Receive |
|---|---|---|
| What it is | The virtual banking identity — IBAN, sort code, account number. | The transaction event — money arriving into that account. |
| Layer | Identity / Infrastructure | Transactional |
| When to use | Setting up the ability to receive funds. | Monitoring and processing incoming payments. |
Think of Accounts as the address and Receive as the delivered parcel.
⚖️ Wallets vs Accounts
Understanding the difference is critical for your ledger design:
| Primitive | 💼 Wallet | 🏦 Account (Virtual) |
|---|---|---|
| Function | Holds the balance (The Bucket). | Receives the funds (The Funnel). |
| Requirement | Mandatory for all users. | Optional (Used for collections). |
| Details | wallet_id, balance. | iban, swift_code, routing_number. |
✅ Before you issue an account
Complete these steps before you call the account issuance flow:
- Create the wallet that will receive the funds.
- Confirm the target currency and rail are supported for your account.
- If you are issuing for a downstream customer, create and approve the sub-account first.
- Use the
X-Sub-Account-Idheader when you need the account to belong to a specific sub-account.
🚀 Issuance Capabilities
Verto provides two tiers of account issuance:
1️⃣ Local Accounts
Real domestic bank details in specific jurisdictions (e.g., NGN Account via local Nigerian banks, GBP Account via UK Faster Payments).
- Latency: Instant arrival.
- Visibility: Funds appear as domestic transfers to the sender.
2️⃣ Virtual IBANs (Global)
International banking rails (SWIFT/SEPA) scoped to your customer's name.
- Scalability: 50+ currencies supported.
- Visibility: Multi-currency collection from 100+ countries.
💱 Supported Currencies
| Currency | Local Account | Virtual IBAN | Inbound Rails |
|---|---|---|---|
| GBP | ✅ | ✅ | FPS, BACS, CHAPS |
| EUR | ✅ | ✅ | SEPA, SEPA Instant |
| USD | ✅ | ✅ | ACH, Fedwire |
| NGN | ✅ | ❌ | NIP (Instant) |
| KES | ✅ | ❌ | RTGS, EFT |
| GHS | ✅ | ❌ | GhIPSS Instant Pay |
[!NOTE] Currency coverage is subject to change based on global banking partner availability. Contact your Verto account manager to confirm the latest corridor status for exotic currencies.
📥 How Accounts Get Funded
Accounts are credited through inbound banking rails. The mechanism depends on the account type and currency:
| Method | How It Works | Typical Settlement |
|---|---|---|
| Domestic Transfer (e.g. FPS) | Sender uses your sort/acc no | Instant (24/7) |
| SEPA Instant | Sender uses your IBAN/BIC | Instant (~10 seconds) |
| SWIFT Wire | International SWIFT network | T+1 to T+3 |
| ACH | US domestic ACH pull/push | T+1 |
| Internal Transfer | Verto-to-Verto wallet movement | Instant |
🔔 Notifications & Webhooks
Verto emits real-time webhook events when your accounts are credited. Subscribe to these events to automate your reconciliation:
| Event | Trigger | Key Fields |
|---|---|---|
account.credit | Funds arrive in your account | amount, currency, sender_name, reference |
payment.received | Inbound payment confirmed | payment_id, account_id, status |
account.debit | Funds leave your account | amount, recipient, payment_id |
// Example: account.credit webhook payload
{
"event": "account.credit",
"data": {
"account_id": "acc_gbp_001",
"amount": "5000.00",
"currency": "GBP",
"sender_name": "Acme Corp Ltd",
"reference": "INV-20260401",
"timestamp": "2026-04-09T08:30:00Z"
}
}🏢 Atlas for Platforms Workflow
For Marketplaces and SaaS platforms, you issue accounts to your users to facilitate seamless payout and collection cycles.
- Sub-Account Creation: Register the user via Onboarding API.
- Identity Verification: Verto executes KYB/KYC on the user.
- Wallet Provisioning: Create the currency container.
- Account Issuance: Trigger the
POST /v2/accountscall to generate the IBAN.
Issue an account for a wallet
Run the account issuance request after the wallet exists and the sub-account is ready to receive funds.
curl -X POST https://api.sandbox.vertofx.com/v2/accounts \
-H "Authorization: Bearer YOUR_TOKEN" \
-H "X-Sub-Account-Id: sub_acc_990" \
-H "Content-Type: application/json" \
-d '{
"currency": "GBP",
"type": "local"
}'After the request succeeds, store the returned account details with the wallet record that owns them. Depending on the corridor, this can include fields like IBAN, sort code, routing number, account number, or SWIFT details.
🗺️ Regional Rails Matrix
Availability of local details varies by currency.
| Currency | Local Rails | IBAN Support |
|---|---|---|
| GBP | FPS, BACS, CHAPS | ✅ Yes |
| EUR | SEPA, SEPA Instant | ✅ Yes |
| USD | ACH, Wire | ✅ Yes |
| NGN | NIP | ❌ No |
Pro-Tip: Always verify corridor status before advertising "Local Banking" to your end-users. Coverage changes based on global banking partner availability.
Troubleshooting
Use these checks when account issuance or inbound collections do not behave as expected:
| Issue | What to check |
|---|---|
| Account cannot be issued | Confirm the wallet already exists, the currency is supported, and your account is approved for that corridor. |
| Sub-account flow is blocked | Confirm the sub-account has passed the required KYB or KYC review and that your platform has Stage 2 approval. |
| Funds arrived but your app did not update | Subscribe to account.credit and payment.received so your reconciliation logic runs when the account is credited. |
| Sender instructions are incomplete | Display the exact returned bank details for the corridor, including IBAN, routing data, and any required payment reference. |
🎯 Next Steps
| Receive Funds → Learn how to process inbound capital after account issuance. | Sub-Accounts → Manage the customer context that owns the account. |
Updated about 1 month ago
