Skip to main content

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 processId from validation response
  • Customer completed biometric face verification
  • Customer's digital signature

Endpoint

POST /waas/Onboarding/createAccount

Request Parameters

Required Headers

HeaderValue
AuthorizationBearer <access_token>
Ocp-Apim-Subscription-KeyYour access subscription key
Content-Typeapplication/json

Request Body Fields

FieldTypeRequiredDescription
requestIdstringYesUnique client-side reference for tracking
processIdstringYesIdentifier from the validation step
merchantIdstringYesYour unique merchant identifier
userSignaturestringYesBase64-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

FieldTypeDescription
processIdstringProcess identifier from the customer validation step
requestIdstringClient-supplied reference ID for the request
statusstringAccount status indicator (A = Active)
accountNostringAssigned wallet/account number (10 digits)
timestampstringTimestamp 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

CodeMessageCauseResolution
27Account has already being opened for user.BVN already has a wallet under this merchantCheck if wallet exists, retrieve details
404Process does not existProvided processId was not foundConfirm the validation processId and retry
400Bad RequestInvalid ProcessId or signatureValidate processId matches validation response
99Generic failureUnknown or transient failureKindly 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:

TierDaily Transaction LimitDaily Transfer LimitBalance LimitRequirements
Tier 1₦50,000₦50,000₦300,000BVN + Face Verification
Tier 3₦5,000,000₦5,000,000₦5,000,000BVN + NIN + Valid ID + Proof of Address
Upgrade to Tier 3

To increase limits, use the Account Upgrade endpoint to move customers to Tier 3.