Skip to main content
This walkthrough takes you from a fresh app to a completed transfer. Everything here runs against the sandbox, so no real money moves.

Before you begin

You need an AppId and a sandbox secret key. Both come from Developers → Configuration in the dashboard — see Create an app if you have not made one yet. Keep them out of your source code:
1

Create a wallet

A wallet is a dedicated Nigerian account number belonging to one of your customers. Anything paid into it credits that wallet’s balance.
The response carries the wallet_id you will use for every later call, plus the account number to give your customer.
Full parameter list: Create a wallet.
2

Subscribe to webhooks

Deposits are asynchronous — nothing in the API tells you money arrived unless you ask to be told. Point Pila at a URL you control.
Verify the x-pila-signature header on everything that arrives before you act on it. See Webhook signatures.
3

Check the balance

Read the wallet back to confirm it was funded.
4

Send a transfer

Confirm the recipient first, then move the money. Resolving the NUBAN is not required, but it is the difference between a customer complaint and a clean payout.
A transfer comes back as PROCESSING, not COMPLETED. Wait for the webhook, or poll Transaction details with the returned transaction_id.

Going live

1

Get your account verified

Complete your company information and request verification from Settings. See Create an app.
2

Fund your Pila wallet

Live payouts settle from your funded balance. See Fund your wallet.
3

Swap two values

Change PILA_BASE_URL to https://api.trypila.co and PILA_SECRET_KEY to your live key. Every request body stays identical.
Re-subscribe your webhooks in the live environment. Sandbox subscriptions do not carry over.

Where to next

Issue a virtual USD card

Add dollar spend on top of the NGN wallet you just created.

Browse every task

Search the docs by what you are trying to do.