30/12/2025
Subscriptions Aren’t Really About Payments
KD
Founder & Architect
When people talk about subscriptions, they usually talk about payments.
Did the charge go through this month?
Did the invoice settle?
Is the billing system working as expected?
Those questions matter. They’re just not the point.
Subscriptions aren’t really about payments. They’re about ongoing permission. Payment is simply the recurring signal we use to confirm that permission is still valid.
The question we keep getting wrong
Most systems reduce subscriptions to a simple check.
Has this user paid?
That works for one-off purchases. It starts to fall apart as soon as access, usage, or authority needs to persist over time.
What we actually care about isn’t whether a transaction happened. It’s whether a user is still allowed to do something.
Are they still allowed to access this API?
Are they still allowed to use this feature?
Are they still allowed to run this process or agent?
Payment answers when something happened. Authorization answers whether it should still be allowed.
Why “just use micropayments” doesn’t actually work
A common response to subscription problems is to suggest micropayments.
If every action costs a tiny amount, you don’t need subscriptions. You just charge continuously and let balances enforce limits.
In theory, it’s elegant. In practice, it breaks down quickly.
Most real businesses can’t operate on millions of tiny transactions. Accounting, reconciliation, refunds, revenue recognition, and audits all get harder as transaction counts explode. Even if the chain can handle it, the financial systems behind the business usually can’t.
There’s also a UX problem. Micropayments make costs harder to predict and harder to communicate. Subscriptions exist partly because people want to agree to terms upfront, not discover them line by line.
Micropayments solve throughput.
They don’t solve authorization.
Time is doing more work than we admit
Subscriptions exist across time. They represent a relationship that continues, expires, pauses, or ends. That relationship can’t be captured by a single transaction.
In practice, most systems handle time indirectly. They rely on background jobs, schedulers, or off-chain checks layered on top of payment state.
It works well enough, until correctness starts to matter.
Once access control or safety depends on something running at the right moment off-chain, the system is no longer enforcing its own rules. It’s assuming something else will.
Why this shows up outside “subscriptions”
This gap isn’t limited to billing.
You see it in API plans that gate usage.
In premium features that unlock after payment.
In automated systems that need to keep running without manual approval.
In agents that operate continuously and need limits they can’t cross.
In all of these cases, charging the user isn’t the hard part.
The hard part is answering a much simpler question, reliably and over time.
Is this user still authorized right now?
Payment as proof, not control
This is where the mental model shifts.
Payment shouldn’t be the thing that controls access. It should be the thing that proves authorization is still valid.
That distinction makes a difference.
It allows systems to grant permission with clear scope, define how long it lasts, and revoke it without freezing funds or breaking workflows. It also makes automation safer, because authority can be bounded instead of open-ended.
When subscriptions are modeled as authorization first, payments fit naturally. When they’re modeled as payments only, authorization ends up fragile and bolted on.
Why this matters now
For a long time, this wasn’t easy to do.
Automation usually meant custody.
Non-custodial systems meant constant signatures.
Unlimited approvals traded safety for convenience.
Those constraints shaped the tools we’re used to. They don’t have to shape what comes next.
As systems become more autonomous and more long-lived, time-bound authorization stops being an abstraction and starts being a requirement.
Where this leads
The future of subscriptions probably doesn’t look like better invoices or faster retries.
It looks like systems that can express who is allowed to do what, under what limits, and for how long. And enforce that directly, without leaning on background assumptions.
That’s the direction we’re starting from.
