What 10,000 Trial Grants Taught Us About Free-Tier Identity Design
This content reflects minia2a as of its publication date and is kept for the record. Current model: x402 pay-per-call in USDC on Base only, 5 free trial calls per signed wallet, no credits and no top-up rail.
This content reflects minia2a as of its publication date and is kept for the record. Current model: x402 pay-per-call in USDC on Base only, 5 free trial calls per signed wallet, no credits and no top-up rail.
What 10,000 Trial Grants Taught Us About Free-Tier Identity Design
2026-11-09 ยท data notes
A free tier is usually argued about as a number: how many calls, for how long, per what.
We have been running one on a pay-per-call x402 catalog for three months, and the ledger says
the number is not the interesting variable. Who the free tier counts decides
what it measures โ and the same quota can produce two completely different curves depending on
whether the identity behind it is an IP address or a signed wallet.
Numbers below are read from our own trial tables on 2026-11-09. They are small, they are ours,
and they are reported as measured rather than as advice.
Three regimes, one counter
The trial ledger holds 10,497 global rows plus a legacy per-endpoint table that stopped
receiving writes on 2026-08-11. Across those tables the same idea โ "a few free calls" โ ran
under three different identity rules:
| regime | identity | window | identities | at cap |
|---|---|---|---|---|
| per-endpoint | IP or wallet, one counter per service | to 2026-08-11 | 2,350 rows | โ |
| per-IP | source address | 08-13 โ 09-01 | 4,634 | 3,247 with โฅ5 calls (70.1%) |
| signed wallet | EIP-191 signature over a per-call message | 08-14 โ 11-09 | 3,513 | 502 with โฅ5 calls (14.3%) |
The per-IP regime looks, at first glance, like a system with enormous demand: seven in ten
identities used five or more calls. It was not demand. Addresses are not people and not
agents; they are the cheapest thing to mint, and the counter was measuring a pool of traffic
with no per-caller continuity. Hitting a high count was the expected outcome, not a signal.
The signed-wallet regime reverses the distribution:
| calls used by a signed identity | identities | share |
|---|---|---|
| 0 | 424 | 12.1% |
| 1 | 2,448 | 69.7% |
| 2โ4 | 139 | 4.0% |
| 5 or more | 502 | 14.3% |
(Four of the last row predate the current five-call cap; the other 498 stopped exactly at five.)
Seven in ten signed identities use exactly one call and stop. Only one in seven exhausts the
allowance. Whatever a free tier is for, on this surface it is a sample, not an
evaluation budget: the caller is checking whether the shape of the answer is useful, and one
answer is usually enough to decide.
What that changes about the design
1. A free tier is an identity mechanism before it is a quota. The quota we
argued about was five calls. Under per-IP counting, those five calls were consumed by traffic
that had no reason to continue; under signed counting, most callers never reach them. If you are
choosing a number before you are choosing an identity, you are tuning a counter that is not
measuring what you think it is.
2. If most callers stop after one answer, the first answer carries the whole
product. A free call that returns a plausibly-shaped but incomplete result teaches the
caller nothing it can act on. On the other side, a first answer that is complete enough to
decide with turns the free call into the top of a funnel instead of a cost center. The trial
budget is not where the conversion decision happens; the first response is.
3. Breadth does not create trial demand. Our catalog lists 1,856 services;
the legacy per-endpoint table holds rows for 256 distinct service ids, and its top ten endpoints
account for 964 of 2,350 identity rows (41%). The long tail is not under-sampled because the
quota is too small โ it is unvisited. Adding more endpoints to a catalog does not
manufacture the intent to try them.
4. Anti-abuse and conversion pull in different directions, and you should know which
one you are buying. Signing every trial costs the caller a keypair and a signature, and
it removes the cheapest abuse vector. It does not make anyone pay. We would make the same trade
again, but it should be described as what it is: an identity decision that changes the
measurement, not a pricing decision that changes revenue.
The rule we keep re-learning
When a free tier is measured through an identity that is cheap to mint, the number
you get describes the minting cost. Pick the identity first; the quota only means something
after that.
Concretely, the questions we would ask before setting a free-tier number on any machine-facing
API: can this identity be created for free in under a second? does it persist across
processes and days? can it be tied to the thing that will eventually pay? If the answers are
yes, yes, yes โ then a per-identity budget is a real measurement. If the identity is an address,
a user agent, or a header the caller chooses, the budget is a limit on a traffic class, and it
will be full, and that fullness will mean nothing.
Data source: minia2a's own trial ledger, read 2026-11-09.
Global quota on this site is five trial calls per signed wallet, shared across the catalog.
Originally published at minia2a.uk.
Originally published by Dev.to WebDev. Aggregated on AIWithGhost for educational purposes โ full credit and traffic to the original publisher.