Get paid where the network isn't.
Your customer loads value onto their phone while they're online. With no network at all, their phone pays yours, and both devices sign the payment. When either reconnects, the payments settle with the bank, and replays are rejected.
Four steps, two of them online.
Load the device
Online, the customer moves value from their account to their device's own ledger account.
Pay with no network
Phone to phone. Both devices sign the payment, and each keeps a copy.
Settle
When either device reconnects, it uploads the batch. Each payment settles once; replays are rejected.
Get credited
The payee's account is credited, and you get a signed webhook.
Offline, on Bridge.
The money stays on the ledger
Value sits in a device ledger account at the bank. A device can't create money, only spend what was loaded.
Signed by both devices
Every payment carries both devices' signatures, checked at settlement.
Replays rejected
A payment uploaded twice settles once.
Caps from settled history
How much a device can hold is derived from what it has settled before.
Freeze a lost device
Block a device from anywhere; its unspent value stays on the ledger.
Mobile and POS SDKs
SDKs to take offline payments inside your own app and on POS terminals are coming.
Every tap accounted for when the network returns.
When a device reconnects it uploads the payments it holds. Each one is checked against both signatures and the device's balance, and settles once.
Load a device, then settle its taps.
Deposits move value from the customer's own main account into their device wallet. The offline module's idempotency header is X-Idempotency-Key.
POST /offline/deposit
curl -X POST "https://api.bridgemoni.com/offline/deposit" \
-H "Authorization: Bearer $BRIDGEMONI_TOKEN" \
-H "X-Tenant: $BRIDGEMONI_TENANT" \
-H "X-Environment: test" \
-H "X-Idempotency-Key: dep-a7f3-0001" \
-H "Content-Type: application/json" \
-d '{
"amount": { "amount": "5000.00", "currencyCode": "NGN" },
"narration": "Load for market day",
"deviceId": "a7f3-k2m9-4c1d-8e5b"
}' Questions about offline payments
Does the payee need a network to be paid?
No. Neither phone needs a network at the moment of payment. Settlement happens when either one reconnects.
What if a customer spends the same value twice?
Whichever payment settles first succeeds, and the other is rejected. A device can only spend value that was loaded onto its ledger account.
Can I take offline payments in my own app?
The mobile and POS SDKs are coming. Today, offline payments run in apps built on Bridge, such as Bridgemoni.
What happens to a lost phone?
Freeze the device from anywhere. Its unspent value stays in its ledger account.
Accept payments
One collection request, paid by transfer, wallet, agent cash or offline.
Accept paymentsPayouts & transfers
Pay any Nigerian bank account, with the name checked first.
Payouts & transfersBanks & agents
Agent cash collections and offline payments for banks and agent networks.
Banks & agentsKeep taking payments when the network drops.
Build in test now. Live payments follow our go-live and your verification.