The swap price dataset
Every time somebody prices a transfer here, every configured provider is asked the same question at the same moment. That fan-out is kept. This page says what is in it, how it was taken, what it leaves out, and how to cite it.
Why it exists at all
A swap quote is a price in a market that publishes no order book. Each provider shows you its own number and nothing else, so the only way to know what a transfer should have cost is to have asked everyone at that minute — and nobody keeps that, because every site that could is a site with a reason not to.
It cannot be reconstructed afterwards from anything. A rate at 14:32 on a past Tuesday is not a thing that can be looked up, which is why the benchmark is written into each sample as it is taken rather than computed later.
How a figure is produced
One fan-out is one question put to every provider simultaneously. Shortfall is measured inside that fan-out — against the providers that answered the same request, not across differing sets of pairs. That is the whole reason the numbers are comparable: a provider cannot look good by being asked only about easy pairs.
A provider below thirty samples is absent rather than reported with a rate. A thin sample is not a small truth, it is a number that will move.
The endpoint
No key, no account, no rate card. JSON, revalidated every fifteen minutes.
| Field | Type | What it means |
|---|---|---|
| id | string | Stable identifier. Never reused if a provider is removed. |
| name | string | What the provider calls itself. |
| answered.rate | percent | Share of fan-outs this provider returned a usable quote for. The denominator is every fan-out it was asked in, not every fan-out. |
| answeredOnItsPairs.rate | percent | The same, counting only pairs it has answered at least once. The gap between the two is pairs it does not trade, not requests it failed. |
| behindBest.mean | percent | Mean gap to the best quote in the same fan-out. Zero would mean it always won; it is the figure a provider would least like published. |
| wasBest.rate | percent | How often it was the best answer, among the fan-outs it answered. |
| pairsQuoted | integer | Distinct pairs seen at least once. |
| lastAnsweredAt | ISO 8601 | The most recent usable quote. A provider that has gone quiet shows it here first. |
| kyc | object | Grade and level from kycnot.me, with the review date and a link. Not our judgement, and attributed so it can be checked. |
| barredFromOpaqueHops | string | null | Why a provider is kept off Monero hops, where one is. Null is the common case and means no restriction. |
Every rate arrives with its denominator beside it — of and count — so a percentage can always be checked against the sample it came from rather than taken on trust.
What it does not contain
No addresses, no amounts anybody actually sent, no identifiers of any kind. A fan-out records what providers said about a pair and a size — not who asked. There is nothing in it about a person, because nothing about a person is collected to put in it.
It is also not a claim about execution. These are quotes, and what arrives depends on what a provider pays when a deposit confirms. Where those two differ, the difference is not in here.
Licence and citation
Free to use, redistribute and cite, commercially or otherwise. No attribution is required. It is appreciated, and it helps a reader check the figure.
It will not be sold, and the reason is structural rather than generous: selling it would need the accounts, the identities and the billing relationships this site exists to do without. There is no version of this dataset behind a login because there is no login.
The rest of it
The same measurements rendered for a person are on the provider record. What each provider’s own terms say, including the ones evaluated and refused, is on counterparty risk. The other endpoints, and what they do not promise, are on the developers page.
Behind this sits the full history — every fan-out, timestamped and benchmarked, rather than the aggregate. That is not published yet. If you want it for research, say so and say what for; the argument for opening it is that somebody has a use, and nobody has asked.
Last reviewed 13 November 2026.