Before you start
You need an API key for your business. Export it so the examples below can pick it up:1. Check the rate
Start with the cheapest call, to confirm the key works:Response
401 here means the key is wrong — see Authentication.
2. Find the bank code
Registration is keyed on a bank code, not a bank name. Bank codes come from the bank list:name filter to get every bank. The list is stable, so most
integrations fetch it once and cache it rather than calling it per registration.
3. Register the bank account
Response
accountNamecame from the bank, not from your request. Show it to the user so they can catch a mistyped account number before any money moves.addressis the on-chain address that pays this bank account. Store it against the user — it will not change.
4. Pay the address
Send USDC on Solana to theaddress from any wallet or exchange. Paj observes
the deposit, converts it at the prevailing offramp rate, and disburses naira to
the bank account. Nothing further is required from your API integration — the
deposit itself is the instruction.
The bank account address is a Solana address. To pay out from TON or an EVM
chain, open an offramp order on that
chain instead — see Supported chains.
Next steps
Bank account addresses
How the address is derived, and what happens after a deposit lands.
Rates
Quoting an amount, and how long a rate is good for.
Errors
What each status code means and which are worth retrying.
Supported chains
Which chains each endpoint works on, and the token to send on each.
API reference
Full schemas for every endpoint.