Severity: HIGH
Location: src/Models/UserCredit.php:80-93
Bug: logTransaction re-queries balance after the UPDATE; concurrent spend can log an incorrect running balance.
Fix: Pass the post-deduction balance directly into logTransaction.
Status: open. Will reply with remediation details when resolved.