d32dc6e3ae
Add generic /economy/* routes (balance, entitlements, purchase-entitlement, redeem-entitlement, sell-item, grant-reward, purchase-item) resolving the club server-side via the same game-scoped active-profile mechanism as /collection — callers never supply a club id, so there is no cross-club access. Add list_unopened_entitlements + Entitlement for the reader side. Game-neutral: no currency names or wire semantics. 4 endpoint integration tests (balance+reward, purchase+redeem, purchase-item+sell fail-closed, insufficient-funds fail-closed); full matrix 43 lib + 115 integration green.