fee4d8ce1b
Balance checks were reading on-chain Solana token balance (0 during db-only mode). Now wallet and overseer routes return user.totalEarned - user.totalSpent as the usable credit balance. This makes credits spendable even when devnet faucet is dry. - /wallet returns dbBalance, with onChainBalance as extra info - /overseer/balance returns dbBalance for request eligibility - /overseer/request checks dbBalance before approving spend - /wallet/admin returns dbBalance