Wallet Creation
Overview
The Wallet Creation endpoint establishes a new digital wallet for a validated customer.
This operation creates a regulated wallet account, assigns a unique wallet/account number, and enables the customer to hold and transact funds.
Prerequisites
- Completed Customer Pre-Validation
- Valid
processIdfrom validation response - Customer completed biometric face verification
- Customer's digital signature
Endpoint
POST /waas/Onboarding/createAccount
Request Parameters
Required Headers
| Header | Value |
|---|---|
Authorization | Bearer <access_token> |
Ocp-Apim-Subscription-Key | Your access subscription key |
Content-Type | application/json |
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
requestId | string | Yes | Unique client-side reference for tracking |
processId | string | Yes | Identifier from the validation step |
merchantId | string | Yes | Your unique merchant identifier |
userSignature | string | Yes | Base64-encoded customer signature image |
Important
The processId must match the one returned from the Customer Pre-Validation endpoint. Customer details (name, BVN, etc.) are automatically fetched using this processId.
Request Example
curl -X POST https://api-sandbox.accessbankplc.com/waas/Onboarding/createAccount \
-H "Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9..." \
-H "Content-Type: application/json" \
-d '{
"requestId": "REQ-2025-002-67890",
"processId": "PROC-987654321",
"merchantId": "MRC123456",
"userSignature": "iVBORw0KGgoAAAANSUhEUgAAAAUA..."
}'
Response
Success Response
{
"succeeded": true,
"code": "200",
"message": "Account opening successful",
"data": {
"processId": "09a59e4f-9ffb-43qb-8f44-3ca33cee3618",
"requestId": "string123456789",
"status": "A",
"accountNo": "1934639270",
"timestamp": "NGN",
},
"pageMeta": {},
"errors": {}
}
Response Fields
| Field | Type | Description |
|---|---|---|
processId | string | Process identifier from the customer validation step |
requestId | string | Client-supplied reference ID for the request |
status | string | Account status indicator (A = Active) |
accountNo | string | Assigned wallet/account number (10 digits) |
timestamp | string | Timestamp of account creation |
Save the Account Number
Store the accountNumber in your database - this is the primary identifier for all future operations on this wallet.
Complete Onboarding Flow
Error Handling
Common Creation Errors
| Code | Message | Cause | Resolution |
|---|---|---|---|
27 | Account has already being opened for user. | BVN already has a wallet under this merchant | Check if wallet exists, retrieve details |
404 | Process does not exist | Provided processId was not found | Confirm the validation processId and retry |
400 | Bad Request | Invalid ProcessId or signature | Validate processId matches validation response |
99 | Generic failure | Unknown or transient failure | Kindly verify that face verification process was successful and try again |
Error Response Example
{
"succeeded": false,
"code": "27",
"message": "Wallet has already being opened for user",
"data": {},
"pageMeta": {},
"errors": {}
}
Wallet Tiers
Wallets are created at Tier 1 by default with the following limits:
| Tier | Daily Transaction Limit | Daily Transfer Limit | Balance Limit | Requirements |
|---|---|---|---|---|
| Tier 1 | ₦50,000 | ₦50,000 | ₦300,000 | BVN + Face Verification |
| Tier 3 | ₦5,000,000 | ₦5,000,000 | ₦5,000,000 | BVN + NIN + Valid ID + Proof of Address |
Upgrade to Tier 3
To increase limits, use the Account Upgrade endpoint to move customers to Tier 3.