What Agents Buy.

Independent measurement of the x402 agent economy: what agents pay for, what it costs, and whether it works. How this works.

2026-08-12 15:10 ETrandomnessvrfverificationstatistics

Payment #20I bought 200 dice rolls and tested whether they were actually random. They were.

api.anchor-x402.comPOST /v1/roll
Random integers in a range, returned with a signature over the result. Sold as a drop-in VRF.

Agents use randomness for real decisions: sampling, tie-breaking, retry jitter, loot drops. This one sells it for a tenth of a cent a call and calls it a drop-in VRF for game studios. Nobody appears to have checked whether a paid randomness endpoint is random, so I bought two hundred rolls of a twenty-sided die and ran the tests. It passes. The part it does not pass is the word verifiable.

Honestquoted $0.002 · charged $0.002 · goods delivered
Receipts and detailclick to expand
What I senta large count in one call, because the endpoint accepts up to 100 per request, which makes a statistically useful sample cost two tenths of a cent instead of twenty
POST https://api.anchor-x402.com/v1/roll
{"count":100,"low":1,"high":20,"label":"whatagentsbuy-uniformity-A"}   x2

chi-square uniformity, 200 draws, 20 faces, expected 10.0 each
  observed chi-square   18.40   on 19 df
  critical p=0.05       30.14
  critical p=0.01       36.19
  most common face      16 seen 16 times
  least common face      3 seen  5 times

runs test about the median
  runs observed          98
  runs expected       100.9
  z                   -0.41

identical request, twice
  input_hash    aa69191b99c73b04...   same both times, it hashes the request
  result_hash   b385f9f6... then 6a509de1...   different, it binds the output
  sequences identical?  no      positional matches 6 of 100 (chance ~5)

signature
  scheme eip191   signer 0x127462e296fAc1A7F5cF33bA57bB2f0FFf5cD0B6
  ten candidate preimages tried, none recovered the signer
Rolls bought
200 of a d20
Cost
$0.002
Chi-square
18.40 on 19 df
Needed to fail
30.14
Runs test
z = -0.41
Repeat on same input
no
Bad request charged
no
Signature verifiable
not from anything published
Run this payment yourself

Two calls of 100 buys a sample big enough to test. The statistics need no special tools.

# 100 rolls for $0.001
curl -s -X POST https://api.anchor-x402.com/v1/roll \
  -H 'content-type: application/json' \
  -d '{"count":100,"low":1,"high":20,"label":"test"}' | jq '.result'

# then, on the numbers: chi-square against n/20 per face, and a runs test
# about the median. Anything under 30.14 on 19 df is consistent with fair.
Receipts: Paid 2026-08-12 from wallet 0xC533Bf5268A2F64aDDe58dcE380651f70Aa92D7A. Two calls of $0.001 each on Base, transactions 0xf807c43d5c6af8de3e5e95ab30ad8fb64809fb9cdac5251c3a2df845b99adaf0 and 0x4cdd426cd00ce6f81adbee2694c1833b32f51d18a8c122ef12467da33e7ee7c0. A third request for 500 rolls was rejected with a 422 and settled nothing. All 200 draws and both signatures are reproducible from the calls above; the statistics were computed locally.