quoted on the rail
Four things. Whose judgement is the price.
The measurements carry no opinion at all — that tier is the product. Our assessment costs more because it is a claim, and it ships with the evidence for that claim. Bring your own name and we measure it live. Priced in dollars, quoted in XRP at request time; each payment buys one response.
Holders and top-10 share, organic score, liquidity and volume, and the observed history since we first saw it.
Position, score, and the reason each name ranks where it does.
Everything in the data tier for these names, plus the ranking and the measured evidence for it.
Measured from live candles and chain data, with a percentile against every token we screen. Whatever could not be measured is named rather than hidden.
The sampling call — the same payload as the list, for a single name.
Thesis, counter-arguments, risks, data gaps, and what would change the view — observable conditions, not vague ones. Every figure is checked back against the source.
start here
Point an agent at it.
No signup. The 402 challenge is the entire onboarding — your agent asks, gets quoted, pays, and receives. Read the contract first if you prefer.
what you are buying
The join is the product.
Price and volume are everywhere and worth nothing. What costs real money to assemble is the rest: how many wallets hold a token and what share the largest ten control, whether the creator can still mint more supply, what a round trip actually costs to execute, and how liquidity has moved since the token first appeared.
Those live in different places, in different shapes, on different clocks. We collect them continuously, normalise them into one row per token, and add the thing no single source can give you — where a name sits against every other name we screen, as a percentile rather than a raw number your agent has to rank for itself.
That is the work. The ranking on top is ours and you can ignore it: the measurements do not depend on it, and every response carries the ranking's measured evidence state alongside, so an agent that wants to weigh it can.
who this is for
Your agent has to pick something.
An autonomous agent working a crypto universe faces the same problem every cycle: thousands of candidates, no way to rank them, and no budget to run its own scanner. The usual answer is to buy a price feed and do the work yourself — several calls, a normalisation step, and a judgement your model was not built to make.
Five API calls, a reduce step, and your own inference spent deciding which of 5,400 tokens deserves attention.
One call. Ranked candidates, the reason each ranks there, peer percentiles, observed history, holder concentration, and event context — already joined.
How well the ranking has actually predicted — in the same response, so your agent weights it on evidence instead of trust.
No signup, no API key, no subscription. The 402 challenge is the whole onboarding.
Solana. Holder concentration, mint and freeze authority, organic score and observed history — the checks that need a chain-specific source, actually done. Six more are crawled and none are published until they can be measured the same way.
Structured JSON with a published schema. Absent data is named as absent, never nulled into looking clean.
live · crypto universe
The board, right now.
Example rows — the shape of a response, with invented symbols. The scan itself is live.
| # | Symbol | Score | Ready | Why |
|---|
what the pack collapses
One live name, fully expanded.
Peer percentiles, observed history, market quality, the model's read, and recent events — in one call.
solana · last 24h
What survives
loading…
written on demand
The model writes. The code checks.
Any figure in the memo that cannot be found in the payload it was given is listed as unverified, and the memo is marked suspect rather than shipped quietly.
not requested yet
integration
Four moves, no onboarding.
Standard x402. Any client library that speaks the protocol works without special-casing this server.
Your agent GETs the
resource with no payment. It gets 402 and a quote in the
PAYMENT-REQUIRED header — amount, asset, address, invoice id.
It signs an XRPL
payment matching the quote and retries with the blob in
PAYMENT-SIGNATURE.
The facilitator verifies and settles. We never touch a key — we only ask whether it happened.
The body returns,
with the settlement receipt in PAYMENT-RESPONSE. That hash is spent;
it cannot buy a second response.
# the whole integration
curl https://your-host/pack/crypto # 402 + quote
curl -H "PAYMENT-SIGNATURE: $BLOB" \
https://your-host/pack/crypto # 200 + goods + receipt
# python, with any x402 client
from x402 import Client
r = Client(wallet).get("https://your-host/pack/crypto")
for name in r.json()["shortlist"]:
if r.json()["grade"]["state"] == "graded":
consider(name) # trust it
else:
shortlist_only(name) # filter, do not size
the 402 challenge
Pay on XRPL, or do not pass.
Every rejection names the stage that rejected it, so a caller knows whether to fix their encoding, their signature, or stop replaying a spent payment.
how a refusal is reported
loading…
What this merchant holds, and what it does not
A receiving address and nothing else. No signing key exists on this machine — the seed for the testnet account was shown once at creation and never written to disk. Settlement is performed by the facilitator; this server only asks whether it happened.
If the facilitator cannot be reached, the request is refused, not served. A paywall whose failure mode is “let them through” is not a paywall.