Real account numbers from your partner banks, every balance proved every night, and an operations console your finance and compliance teams can live in. One API, built inside regulation.
Built to evidence CBN and NDPC reviews
Most ledgers either help you build or help you prove. Regulated money needs both, from the first entry.
Accounts, holds, named accounts and FX are API calls in plain JSON. There’s no ledger language to learn and no balance column to keep in sync.
Balances come from postings nobody can edit. Every partner bank, PSP and custody wallet is checked against the ledger every night, and every gap becomes a break with an owner.
Maker-checker approvals, a hash-chained audit trail and signed regulator exports come in every plan, not behind an enterprise upgrade.
The first version is a balance column and a reconciliation spreadsheet. The second is what PanoQore gives you on day one.
Connect every bank, PSP and custodian you work with, and add the next one without touching your ledger. A card payment, a bank transfer and a USDC withdrawal post the same way, reconcile the same way and show up in the same console.
Start ledger-only with the bank integration you already have. When you’re ready, let PanoQore make the bank calls for you. Your accounts, bindings and history stay exactly where they are.
Your code keeps calling the bank. You post each result to PanoQore, which keeps the books and proves them.
Send PanoQore an order. It checks the beneficiary’s name, holds the money, calls the bank with your credentials and posts the result.
Open NGN, USD, GBP or CAD next to USDC and cNGN on Base. Every entry balances inside each currency it touches, and each ledger starts from a template with suspense, rounding, FX position and fee accounts ready.
Your partner bank keeps one omnibus account and a routing table. PanoQore keeps every customer’s balance. Watch both sides of the same morning, side by side.
Open an account, post an entry, listen for events. Postings are JSON your engineers already read, and every write takes an idempotency key kept for 7 days, so a retry after a timeout never posts twice.
POST /v1/entries
Idempotency-Key: 01J9K4M2X7Q3R8S5T6V0W1Y2Z3
{
"kind": "PAYOUT",
"external_ref": "panoflow:txn:01J9K4",
"postings": [
{ "account_id": "acc_A", "side": "DEBIT", "amount": "35002500", "currency": "NGN" },
{ "account_id": "acc_BANK", "side": "CREDIT", "amount": "35000000", "currency": "NGN" },
{ "account_id": "acc_FEE", "side": "CREDIT", "amount": "2500", "currency": "NGN" }
]
}
201 Created
{ "id": "je_01HZVQ6M2K8R4T1X9W3N5B7C", "status": "posted" }Wallets, remittance, stablecoins, loans, marketplaces and treasury run on the same accounts, entries and reconciliation. Pick where you are today; the next product is a template, not a rebuild.
Give every customer a wallet with a real account number at your partner bank, and know who owns every naira at every second.
NGNUSDThe v1 design targets, tested before PanoFlow goes live. Nothing ships to v2 until v1 proves zero drift and zero duplicates.