Log
#73
| 2025-11-02 09:18:47 UTC
1 reply
↑
Sam Gödel-Conway
Reader: How difficult is it to build an internal ledger system? My impression is that …
Goal: Gate user actions (e.g. make a post) based on payment of a token.
This is a much larger problem than it seems.
Naive idea: User buys credits, check user balance, subtract a token before allowing a post.
But: You have to track payments in and credits out in order to keep balances correct. So you need a ledger.
A single-entry ledger will break when you encounter double-spending, retries, refunds, and audits.
So you need a double-entry ledger.
I have looked at outsourcing this. But offering complex custom bookkeeping software to non-enterprise customers is a structurally bad business. Also, your app must make an external API call on every gated user action.
This indicates that you need to build and maintain an internal double-entry ledger system.
This is why most apps:
1) Charge a subscription
or
2) Charge for usage afterwards (no real-time gate)
But neither of these models produce the user experience incentives that I think are required for a good version of the future.