Post #73

Real-time gating of user actions

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.

Replies (1)

  • Post #76

    Sam Gödel-Conway Reader: How difficult is it to build an internal ledger system? My impression …

Also in the archive