Indication Ethereum Stable FX

Every on-chain stablecoin trade on Ethereum mainnet, normalized into one executed-trade tape and scored against independent references. Built and operated by Indication.

Loading the last 24h…


Tape: the newest executions, venue level and order level interleaved. Price is quote per base; peg is basis points from 1:1 par; mk is the liquidity provider's markout five minutes after the fill, blank until scored. The chart unrolls the same window: each five-minute bucket is a hairline from its lowest to highest print in bps from par with a tick at the volume-weighted centre, and volume beneath. Both views narrow to one pair or one venue; the menus list only what printed in the window.

·

24h in five-minute buckets, venue rows only, every pair and venue.


Who pays: markout is scored from the liquidity provider's side five minutes after each fill. Positive basis points mean the maker lost to the taker; negative mean the maker captured spread. Takers first, most toxic at the top, then venues by what their makers experienced. Scored fills only, last 24h. The CEX column is the share of a taker's fills marked against a real quoted mid, the trust label for the absolute level.

takerpairfillsvolumemk 5mcex
No scored fills in the window.
venuescored fillsscored volumemk 5m
No scored fills in the window.

Book: the live on-chain book for one pair, rebuilt every block from each pool's exact state. Bid is the cost against 1:1 par, in basis points, of selling the base for the quote at that size through the best single route; ask is the cost of buying it. Via names the first pool of the route. Below, every pool that trades the pair directly, its mid, its depth within ten basis points of that mid, and its own cost at $10K. A dash is a size no pool can fill.

·

sizebidviaaskvia
Waiting for the first block…

Cost of a dollar: what a taker pays, in basis points against 1:1 USDC, to buy or sell each token at $1K, $10K, $100K and $1M. USDC is one dollar by declaration. direct is the best single pool the quoter marks credible, fee included and gas excluded, at its latest minute; route is the live book's best path of up to three hops, chosen net of gas and shown gross, so it can read above direct; cex is the best exchange top of book, without fee unless labelled all-in, exact only up to the quoted size. A dash is a size nothing fills, or a token with no credible pool right now.

buying the token with USDC

tokenbasis$1K$10K$100K$1M
No sample yet.

selling the token for USDC

tokenbasis$1K$10K$100K$1M
No sample yet.

Arbs: — atomic arbitrage cycles executed in the last 24h, reconstructed from receipts; the largest below. Gross is receipt-exact when the profit token is a registered stable. Exec cost is gas plus the detected builder bribe, and both cost and net are blank when the bribe channel could not be attributed.

timeclassswapssearchergrosscostnettx
No executed arbs in the window.

System: every plane's freshness as of this second. The quote plane is the live book stream: block, how long ago it was built, how long the build took, and the simulations it ran. Degraded means the quoter is serving a book older than its freshness bound and quotes are refused.

quote planewaiting for the first block…—
read api… —

Benchmark: our quote against public aggregators on the same size ladder, in basis points of their output; positive means ours pays more. The first figure is what the quote API executes (direct), the second the best route over every pool. A dash is no direct route at that size. The line is the direct edge at $100.0K over the last week.

providerpair$10.0K$50.0K$100.0K$250.0K7d
No bench pass recorded yet (the quoter runs one every six hours when QUOTE_BENCH is on).

Method:

Coverage is measured, not assumed. An audit walks every registered stablecoin's Transfer logs from an independent RPC, never the indexing provider, finds swap-shaped stable-stable transactions, and checks each against the tape by hash.

A reconciler re-counts canonical event logs per source from a separate provider and records drift. Negative drift means missed logs, the dangerous direction.

The tape has two observation levels, never summed. Venue level is one row per swap leg on a pool, PSM, or RFQ contract; order level is one row per intent fill whose legs are already venue rows. Every volume figure on this page counts venue rows only. Price is quote per base with the pair's lower-ranked numeraire as the quote, and peg deviation is from 1:1 par, not from an oracle.

Markout is scored from the liquidity provider's perspective at 0s, 30s, 1m, 5m, and 30m after the fill, against a CEX mid when one existed and the tape otherwise, and each score carries that provenance. Null means no reference existed, never zero. Scores are write-once.

Every number on this page is a fixed, cached read at GET https://indication.xyz/v1/…; the browser sends no SQL. The dataset itself is queryable with a key: POST https://indication.xyz/query with {"sql": "SELECT …"} and an X-Api-Key header, one read-only statement, about a fifteen-second timeout. The agent guide at llms.txt has the schema, the rules, and how to ask for a key.


Not investment advice. No accounts, no tracking, standard server logs. contact@indication.xyz