Prerequisites
- Your business activated as a white-label tenant (contact support if
/accountsreturns403) - A sandbox API key with at least one allowlisted IP — required before the key can reach Step 6
Step 1: Create a customer account
data.account.id is the account id — there is no accountId field. Save it: it’s the value you’ll put in X-Account-Id for the rest of this guide, and in the {accountId} path segments below. email is required and must be unique across your accounts (409 with code: "ACCOUNT_EMAIL_EXISTS" otherwise).
Step 2: Complete and submit the application
A real onboarding fills in business details, uploads documents, and verifies related persons — the onboarding guide covers every step. The short version:readyToSubmit: true once everything is in place.
Step 3: Approve it (sandbox only)
In production, submitted applications are reviewed by Rolla’s compliance team. In sandbox, approve it yourself — note the staging host: this endpoint does not exist in production and returns404 there.
account.approved webhook fires, exactly like a live approval.
Step 4: Issue a deposit account
202). If the provider needs details the application didn’t capture, Get Issuance Requirements lists what to pass in accountData. Share the returned account number with your customer — or fetch complete payment details any time with Funding Instructions.
Step 5: Fund it (simulated)
Simulate an NGN deposit into the account you just issued — note the staging host (this endpoint is sandbox-only too), theX-Account-Id header scoping the request to your customer, and that simulate endpoints take the amount in major units as a string:
transaction.* webhooks a real one would — and as the tenant, you receive events for all your customers’ transactions.
Step 6: Pay out on the customer’s behalf
Now the key move: the same Withdraw Funds endpoint every Business user calls, scoped to your customer withX-Account-Id. The payout comes out of their wallet:
100000 kobo = ₦1,000, in minor units as everywhere, and description is required. The fee comes out of the customer’s wallet on top of amount by default, so the beneficiary receives the full ₦1,000. There’s no externalReference here on purpose: NGN payouts always get a Rolla-generated reference (NG-XXXXXXXX), so tie the payout to your own record with metadata, which is returned verbatim on the transaction and on every webhook for it. The same header works on any endpoint — check the customer’s balance with GET /wallet/wallets + X-Account-Id, list their transactions, manage their beneficiaries.
Step 7: Reconcile
One call returns every transaction across your whole tenancy, each row naming its account:format=csv for a file. See List Transactions Across Accounts.
Next steps
Onboard your customers
The full production onboarding journey — details, documents, related persons, KYC options.
Operate customer accounts
Everything about X-Account-Id scoping, funding, payouts, and reconciliation.
Webhooks
Account lifecycle and transaction events for your whole tenancy.
Account Onboarding reference
Every /accounts endpoint, field by field.