Agent wallets, with a running balance and an approval trail
Agent wallets as a ledger: every order, refund and top-up, with the balance after it.

Ledger
Every order, refund and adjustment is a row with its amount and the balance immediately after it.
Requested, verified, approved
Transactions move through three states before they count. The person who raises a top-up is not necessarily the person who approves it.
Bookings draw down by themselves
Entries marked System are the ones the platform raised automatically when an order was placed or refunded.
Several currencies
Balances are held in the agent's own currency. E.g. IDR and USD sit in the same table.
See Prepaid in the live demo. Opens in a new tab.
Demo