We now have two ways to charge on RelAI, and builders keep asking me the same thing: which one do I use? Pay-per-call with x402, or a subscription?
It's a fair question, and the answer isn't "whichever you like better." It comes down to one thing — the shape of how your customers actually consume what you're selling.
It's not a crypto decision. It's a billing-shape decision.
Forget the on-chain plumbing for a second. The real split is the same argument SaaS companies have been having for years: metered or flat-rate. Some things are naturally billed per unit — a phone call, an API request, a GPU-second. Others are naturally billed per period — a seat, a membership, a hosted app that's just… running.
x402 is the metered side. Subscriptions are the flat-rate side. Pick the one that matches how the value is delivered, not how you wish the money showed up.
Reach for x402 when usage is spiky and one-off
x402 charges per request. The buyer signs, pays whatever you set — it can be a fraction of a cent — gets the response, and the USDC settles. No account, no commitment from either side.
That's the right model when:
- Consumption is unpredictable. An agent might hit your endpoint a thousand times today and not at all tomorrow. A flat monthly fee either overcharges the light user or leaves money on the table with the heavy one. Metering just matches.
- The buyer is a stranger. Someone lands on your API, needs one call, pays for one call, leaves. A subscription would be friction nobody asked for.
- The buyer is a machine. Agents can't fill in a checkout form, but they can sign a payment per call with a service key and keep going. x402 was basically built for this — more on that in What is x402.
- You want reach. x402 settles on Solana, Base, SKALE, Avalanche, Polygon and Ethereum, so the buyer pays from whatever wallet they already hold.
Reach for subscriptions when access is continuous
A subscription pulls a fixed amount of USDC each period, straight to your wallet, after a single signature from the subscriber. (How that works without a bank account, and why RelAI never holds the funds, is its own post: Subscriptions, without the bank account.)
Use it when:
- You're selling ongoing access, not discrete calls. A SaaS seat. A hosted instance. A members-only feed. The value is "it's there when you want it," and that's billed by time, not by hit.
- You want revenue you can predict. Recurring USDC gives you an MRR number, churn you can watch, and a baseline you can plan around. The dashboard tracks it for you.
- You want infra that reacts to payment on its own. Every charge fires a signed webhook —
subscription.charged,subscription.payment_failed,subscription.canceled— so you can provision a box the moment money lands and suspend it the moment it doesn't. No nightly cron, no human in the loop.
The quick version
| If… | Use |
|---|---|
| Usage is spiky, one-off, or per-unit | x402 |
| Access is continuous and you want predictable MRR | Subscriptions |
| The buyer is an anonymous agent hitting you once | x402 |
| You're gating a running service — app, VM, SaaS seat | Subscriptions |
| You need Base / Avalanche / Polygon / Ethereum | x402 |
| You need infra to provision or suspend on payment events | Subscriptions |
Most products want both
Here's the part people miss: this isn't really an either/or. The two models compose, and the combination is often the best pricing you can offer.
The pattern is simple — a subscription covers a baseline, and x402 handles the overage. Picture an API where a flat monthly plan buys a generous bucket of calls, and once you blow past it you pay per call instead of getting cut off or force-upgraded into the next tier. Or a hosted app billed monthly, with heavy one-off compute jobs metered individually on top.
Your customer gets predictability for the part of their usage that's predictable, and fairness for the part that isn't. You get a stable MRR floor and upside when people lean in. Same wallet, same USDC, same dashboard — you're just charging two kinds of consumption with two tools that were each built for one of them.
Start here
- Metered, pay-per-call: spin up a paid API from the dashboard, and see Metered API if you want the plain API-key flow.
- Recurring: create a plan in subscriptions and read the docs.
Charge for what you sell, the way it's actually consumed. The rails finally let you.



