v2) gives your product a bridge between stablecoins and
African bank accounts. It is built around one primitive:
A bank account is an on-chain address
Register a bank account once, and Paj derives a deterministic on-chain address
for it. Anything sent to that address is converted and paid out to the bank
account as fiat. No order to create, no quote to accept, no session to manage.
What you can do
Register a bank account
Confirm a bank code and account number with the bank, then get back the
account holder’s name and the address that pays it.
Look one up
Resolve an address back to a bank account, or find the address for an
account number you already know.
Read the rates
Fetch the live onramp and offramp rates for a currency, with your business
fee already applied.
Sell fiat for tokens
Open an onramp order, hand your user a virtual account, and deliver the
token to their wallet once they pay.
Pay out by order
Quote a fixed amount and get a one-off funding address on any supported
chain.
Get paid
Collect tokens or fiat into your own business balance.
Chains
Orders settle on Solana, TON, Ethereum, Base, BNB Smart Chain, Monad and Arc. Payments work on all of those except TON, and the standing bank account address is Solana only. Supported chains has the full matrix and the stablecoin each chain settles in.The shape of an integration
Most integrations are small. You register each of your users’ bank accounts once, store the returnedaddress alongside the user, and show that address as
a payment destination. From then on the flow is entirely on-chain — a user (or
an exchange, or a third party) sends USDC on Solana to the address, and Paj
handles the conversion and the fiat payout.
1
Register the bank account
POST /pub/v2/bank-account with a bank code and account number. Paj
confirms the account with the bank and assigns it an address.2
Show the address
Display the returned
address (and, for confidence, the accountName the
bank returned) as the destination to pay.3
Funds land, fiat pays out
Paj observes the deposit, converts it at the current offramp rate, and
disburses to the bank account.
Registration is idempotent per bank account. Calling it again for the same
bank code and account number returns the existing record and the same address,
so it is safe to call on every sign-in rather than tracking state yourself.
Base URL
All endpoints live underhttps://api.paj.cash and are prefixed with
/pub/v2. Every request needs an x-api-key header — see
Authentication.
Start here
Register your first bank account in about five minutes.