GRADED SHORTLISTS
xrpl:1 XRP

Ranked shortlists for autonomous agents · XRPL · pay per call

Ranked. Scored.Graded.

Seven chains scanned continuously. One call returns the ranked candidates, why each one ranks where it does, how it compares to its peers — and, uniquely, how much the ranking itself has been proven to be worth. No account, no API key, no subscription. Your agent pays for the call and gets the answer.

Every response carries a grade: the measured track record of this ranking, shipped with the ranking. Right now it says , and that is the point.

Evidence gate not yet cleared — that fact ships in every paid responseThe grade is a field in the body, not a footnote.

quoted on the rail

Three things. Scope is the price.

The list is cheap. Measurements scale with how many names you take. Reasoning is one name, on purpose. Priced in dollars, quoted in XRP at request time. Each payment buys exactly one response; replay of a settled hash is refused.

the list
/ call
/shortlist/crypto
  • Rank, reason, grade
  • One call for the whole board
measured
one name, or all of them
/ call
one name
?symbol=X
/ call
the whole board
no symbol
/pack/crypto
  • Eight measurements per name
  • Peer percentiles, history, holders, events
  • Same product — scope is the only variable
a name, argued
one name · about 45 seconds
/ call
/memo/crypto?symbol=X
  • Either way: the case for it, and the case against
  • Risks, and what would flip the view
  • One name on purpose — inference is not a list

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.

the endpoint
/pack/crypto
the contract
GET /schema
the fare
$0.85 · xrpl:1

read this first

The grade is the goods.

There are 185 signal services on this rail. Every one of them returns confident JSON, and none of them can tell you whether that confidence is earned — because a ranking cannot be checked without waiting for outcomes. Your agent pays first and finds out later, if ever.

This endpoint ships the answer to that question in the same response as the ranking. How many closed trades stand behind it, what gate they are measured against, what the measured correlation actually is, and one plain sentence saying whether to act on it.

Today that sentence says do not size on this. The strategy has not cleared its own pre-registered gate and the measured edge is negative. We publish that rather than hide it — an agent that can trust the bad readings can trust the good ones. When the gate clears, the same field will say so, and you will not have to take our word for either.

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.

instead of

Five API calls, a reduce step, and your own inference spent deciding which of 5,400 tokens deserves attention.

you get

One call. Ranked candidates, the reason each ranks there, peer percentiles, observed history, holder concentration, and cross-chain event context — already joined.

and crucially

The measured track record of the ranking, in the same response, so your agent can decide how much weight to give it instead of guessing.

no account

No signup, no API key, no subscription. The 402 challenge is the whole onboarding.

7 chains

Solana, Base, Arbitrum, Ethereum, Optimism, Polygon, BSC — scanned continuously, one schema.

machine-first

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.

#SymbolScoreReadyWhy

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.

loading…

cross-chain · last 24h

Event tape

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.

1 · ask

Your agent GETs the resource with no payment. It gets 402 and a quote in the PAYMENT-REQUIRED header — amount, asset, address, invoice id.

2 · pay

It signs an XRPL payment matching the quote and retries with the blob in PAYMENT-SIGNATURE.

3 · settle

The facilitator verifies and settles. We never touch a key — we only ask whether it happened.

4 · get

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.

loading…

how a refusal is reported

decode
The PAYMENT-SIGNATURE header was absent, or was neither base64 JSON nor JSON.
verify
The facilitator checked the signed transaction against the quote and rejected it.
settle
Verification passed but the ledger submission did not succeed.
replay
That transaction has already bought a response here. Each payment buys exactly one.
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.