Money math runs on the server, which is why there is a real API
The revenue split, payout logic, moderation and signed-URL issuance all have to run with privileged database access behind our own authorisation checks — never in the client. So the client speaks GraphQL to a server that enforces the rules first and reaches the database second, with row-level security as the second line rather than the only one.