Wallet ledger is now append only #
A refund appends a compensating credit rather than reversing the original debit in place, so the ledger records what happened rather than the current net position.
Affected
GET /v1/wallet/ledger
Action required
Reconcile on references rather than net balance movement. A purchase that failed and was refunded is two entries, not zero.
Funds are reserved before the provider is contacted, which is what stops concurrent purchases overdrawing a wallet. When a provider then fails, the amount is credited back.
That reversal previously edited the original entry, which left no record that the purchase had been attempted at all. It now appends its own entry. The balance is unchanged either way; the difference is that a disputed balance is answerable from the ledger rather than from inference.