nothing here yet is a statement about the chain
An independent archive of Counterparty (XCP) events on Bitcoin L1, and a read-only JSON API over it — live XCP-69 launches, AMM pools, the DEX order book and the BTC/XCP rate. We publish our own coverage gaps so you can check us rather than trust us: /api/coverage says what we hold per event type, /api/gaps says which blocks are missing from a scanned window. Versions — site 266 is baked into this page; api — is the build the API says it is running.
An independent view of Counterparty market data. Every figure is derived from the chain through the public Counterparty API and is either read live or stamped with the block it came from.
A pair can trade on the DEX order book and in an AMM pool at the same time, at two different prices. They are shown separately everywhere. No figure on this page averages or sums across venues.
Quoted as quote-per-base. Quantities come from the node already adjusted for divisibility; indivisible assets are shown in whole units because fractions of them cannot exist. Order-book side is taker-side: the aggressing order decides whether a fill reads as a buy or a sell.
A pool has no order book. Its depth is the constant product x·y=k on live
reserves: the size shown at a price is what can be taken before the pool reaches that
price. Execution figures include the swap fee — the rate each pool's OWN swaps showed,
falling back to the expected 50 bps with an XCP leg / 100 bps
without one, labelled expected until a swap on that pool confirms it. TVL is the
quote reserve doubled, which holds because a
constant-product pool carries equal value on both sides.
Measured against the previous fill, not a 24-hour window. Most pairs here trade rarely, so a fixed 24h change would read 0.00% or nothing for almost all of them. Each popup states how old the compared fill is.
Ranked on volume inside a fixed recent window, converted to XCP only through XCP and BTC. A pair quoted in anything else keeps its native units, because valuing an asset from its own thin market lets a single print reprice everything quoted in it.
Block intervals are exponentially distributed, so an N-block wait is N x the mean interval, not N x the median. Using the median understates every countdown by about 29%.
It makes no predictions about price or financial performance. It publishes what is and what was. Figures such as "pace" describe what has already happened; they are not forecasts.
The selected market's book, fills and pool are re-fetched when a new block reaches our archive — not on a clock, because nothing on Counterparty changes between blocks. Launch and ecosystem totals come from a snapshot; the status bar shows how many blocks behind it is.
An independent archive of Counterparty (XCP) events on Bitcoin L1, and a read-only JSON API over it. The routes named below are answered from this archive's own database, not relayed from another front end. The machine-readable map of every route is at /api/openapi.json.
Counterparty's AMM opens at block 952,800, and this archive's unbroken coverage begins at the same block. For pools, swaps and liquidity there is therefore no history behind us — not "more history than the alternatives", none missing at all. That is a claim about one surface and it is not transferable to the others.
XCP-69 is a recent convention layered on Counterparty's older fairminter primitive. Fairminters that predate the standard are a different population and are counted separately here; they are never folded into an XCP-69 total.
Stated here rather than left to be discovered. Counterparty SEND events are not collected at all — for transfer history, ask a Counterparty node. Several known event types are held at zero and no completeness is claimed for any of them; the coverage route names which. Dispenser history is a live window only: the BTC/XCP rate above is a rolling window of recent dispenses and is not a dispenser record. Below the archive's dense floor complete blocks exist but are not continuous, and the block-to-time map covers well under half the span, so deep history on a time axis is partial by construction. There are no balances here, and no route answers "tell me everything about this address". No wallet, no keys, no transaction construction, no broadcasting, no price oracle, no investment advice.
Ask /api/coverage what is held and what is not claimed, ask /api/gaps which blocks are missing, and cross-check any answer against a public Counterparty node. Every route is listed and described at /api/docs. We would rather be checked than believed.
One caveat that belongs with the rest: the counts drawn on the terminal above come from a build-time snapshot, stamped with the block it was taken at. The routes named on this page are live. Where a number on the page and a number from a route disagree, the route is right.