Stablecoin Depeg Detection
For every 1-minute interval, on every supported venue, the depeg endpoint computes the volume-weighted average price and reports its distance from a fixed 1.0000 peg. A threshold parameter sets the minimum deviation, and only the intervals that moved at least that far are returned.
42 pairs across USD, USDT and USDC quotes, all dollar-pegged; the full list with per-venue availability is in Coverage. History from 2024-01-18, with roughly a 20-minute delay. Spot only.
Integration notes
When nothing crosses the threshold, the response is HTTP 200 with { "error": "No Content: ..." } rather than an empty array, so clients should branch on the payload shape: array means matches, object means none.
The threshold minimum is 1%, which makes this an instrument for peg breaks rather than peg drift. For soft-drift monitoring, pull ohlcv and vwap from the market endpoint and measure the distance directly.
start without end closes the window at 23:59:59 on the start date. end without start is an error. With neither, the window is the last 24 hours.
Reading the response
volume-weighted-depeg is signed: (vwap × 100) − 100, so −2.4 means 2.4% below peg and +2.4 above. The threshold comparison uses the absolute value, so one request returns both directions; check the sign before describing an event.
The response also carries low and high for the interval, plus volume (base currency) and tradecount — the two most important fields in the response, for the reason below.
Always gate on traded volume
Consider this real response row:
{
"timestamp": "2024-05-01T08:45:00.000Z",
"marketvenueid": "okcoin",
"pairid": "usdt-usd",
"vwap": 0.7238,
"volume-weighted-depeg": -27.62,
"volume": 33.3664,
"tradecount": 4
}
Read literally, that is Tether trading 27.6% below the dollar. The last two fields tell the real story: four trades and about 33 units of volume, on a venue whose market for this pair is no longer active. Tether did not lose a quarter of its value that minute; four trades on a thin book produced a price nobody could have transacted size at, and the VWAP faithfully reported it.
Filter first, interpret second. Set a minimum tradecount and volume appropriate to the use case before examining deviations; a reasonable starting point is the 25th percentile of per-interval volume across trusted venues for that pair.
The peg reference is a fixed 1.0000
The reference is never re-based on the quote asset, which is why coverage is limited to dollar-pegged stablecoins.
For assessing a peg, -usd pairs are the ones to use, since they compare the coin directly against the dollar. Stablecoin-quoted pairs such as usdt-usdc compound two deviations, and because the reference is a fixed 1.0000 rather than the quote asset's own price, a reading on usdt-usdc describes the spread between two stablecoins rather than either one's peg. Useful as supplementary context and for liquidity; misleading as a primary peg measure.
Coin event or venue event?
Once traded volume has been gated on, breadth is the signal.
| Observation | Reading |
|---|---|
| Many venues off peg at once, sustained, with real volume | Genuine peg stress. Escalate on the coin |
| Many venues off peg briefly, then snapping back | Liquidity air-pocket. Note it; watch for recurrence |
| One venue off peg while others sit at parity | A venue story, not a coin story |
| One venue off peg with negligible volume | Thin prints. This is what the gate is for |
The last two are worth pursuing separately. A venue that repeatedly prints stablecoin prices away from the rest of the market, on low volume, at similar times, is revealing something about the venue rather than the asset. Take it to Volume Integrity Assessment.
Coverage
42 supported pair IDs; any other value is rejected as an invalid stablecoin pair. The tables below list each pair, the venues that carry it, and the date the market was first seen. First-seen dates are the earliest market creation date across all venues for that pair, and may predate the API's available depeg history (which begins 2024-01-18) — the market is queryable, the earlier data is not.
Reading the markers:
- An asterisk (*) after an exchange marks a venue whose market for that pair is currently inactive — historical depeg data may still exist for it, but it is no longer updating.
- A dagger (†) after a pairid marks a pair that is inactive on every supported venue.
USD quote
| Pairid | Stablecoin Name | Available Exchanges | First Seen Date |
|---|---|---|---|
| dai-usd | Dai | binanceus*, bitfinex*, bitstamp, coinbase*, cryptocom*, gemini, kraken, okcoin*, okx* | 2024-01-05 |
| pyusd-usd | PayPal USD | bitstamp, coinbase*, cryptocom, kraken | 2024-01-05 |
| tusd-usd† | TrueUSD | binanceus*, bitfinex*, kraken*, okcoin* | 2024-01-18 |
| usdc-usd | USD Coin | binance, binanceus, bitfinex, bitstamp, gemini, kraken, okcoin* | 2024-01-17 |
| usdt-usd | Tether | ascendex, binance, binanceus, bitfinex, bitstamp, coinbase, cryptocom, gateio*, gemini, kraken, okcoin*, okx | 2024-01-05 |
| usd1-usd | World Liberty USD | coinbase, cryptocom, gemini, kraken | 2025-11-26 |
| usde-usd | Ethena USDe | kraken | 2025-11-26 |
| usdd-usd | USDD | kraken | 2025-11-26 |
| usdg-usd | Global Dollar | bitstamp, kraken | 2024-11-22 |
| usds-usd | USDS (Sky Dollar) | coinbase, cryptocom, kraken, okx | 2024-11-22 |
| rlusd-usd | Ripple USD | bitstamp, gemini, kraken | 2025-11-26 |
| gusd-usd† | Gemini Dollar | bitstamp*, coinbase* | 2024-01-05 |
| frax-usd | Frax | cryptocom | 2026-02-05 |
| mim-usd | Magic Internet Money | bitfinex*, kraken, okcoin* | 2024-01-18 |
| usdk-usd† | USDK | okcoin* | 2024-01-19 |
| busd-usd† | Binance USD | binanceus* | 2024-01-19 |
USDT quote
| Pairid | Stablecoin Name | Available Exchanges | First Seen Date |
|---|---|---|---|
| dai-usdt | Dai | binance*, binanceus, bybit, cryptocom*, gateio*, htx, kraken, okx*, phemex*, poloniex* | 2024-01-08 |
| pyusd-usdt | PayPal USD | bybit, cryptocom, gateio, hitbtc*, htx, kucoin, okx | 2024-01-18 |
| tusd-usdt | TrueUSD | binance, binanceus*, bitfinex*, bybit, gateio, htx, kucoin, phemex, poloniex, upbit | 2024-01-08 |
| usdc-usdt | USD Coin | binance, binanceus, bitfinex, bitstamp, bybit, delta, deribit, gateio, htx, kraken, kucoin, okcoin*, okx, phemex, upbit | 2024-01-08 |
| usd1-usdt | World Liberty USD | binance, binanceus, bybit, gateio, htx, kucoin, okx, phemex, upbit | 2025-11-26 |
| usde-usdt | Ethena USDe | binance, bybit, deribit, gateio, htx, kraken, kucoin, phemex, poloniex, upbit | 2024-04-24 |
| usdd-usdt | USDD | ascendex, bybit, gateio, hitbtc*, htx, kucoin, phemex*, poloniex | 2024-01-17 |
| usdg-usdt | Global Dollar | gateio, kraken, kucoin, okx | 2024-01-18 |
| rlusd-usdt | Ripple USD | binance, bitstamp, bybit, gateio, kraken, okx | 2025-11-26 |
| gusd-usdt | Gemini Dollar | gateio | 2025-11-26 |
| gho-usdt | GHO | gateio | 2025-11-26 |
| frax-usdt | Frax | ascendex, binance, bybit, gateio, kucoin, phemex*, poloniex | 2024-01-18 |
| fdusd-usdt | First Digital USD | binance, gateio | 2024-01-08 |
| crvusd-usdt | crvUSD | gateio | 2024-01-18 |
| busd-usdt† | Binance USD | binance*, binanceus*, phemex* | 2024-01-08 |
| usdp-usdt | Pax Dollar | binance, gateio, htx, kucoin, phemex | 2024-01-08 |
USDC quote
| Pairid | Stablecoin Name | Available Exchanges | First Seen Date |
|---|---|---|---|
| dai-usdc | Dai | coinbase*, gemini, hitbtc*, okx*, phemex* | 2024-01-05 |
| tusd-usdc† | TrueUSD | hitbtc*, poloniex* | 2024-01-18 |
| usdt-usdc | Tether | coinbase, gemini, kucoin, okx*, poloniex | 2024-01-05 |
| usd1-usdc | World Liberty USD | binance, kraken | 2025-11-26 |
| usde-usdc | Ethena USDe | binance, bybit, deribit, kraken | 2024-11-22 |
| usdd-usdc | USDD | htx*, kucoin, poloniex* | 2024-01-18 |
| usdg-usdc | Global Dollar | gemini, kraken | 2024-11-22 |
| rlusd-usdc | Ripple USD | gemini, kraken | 2025-11-26 |
| fdusd-usdc | First Digital USD | binance | 2024-11-25 |
| busd-usdc† | Binance USD | phemex* | 2024-01-18 |
A workable monitoring loop
- Daily, for each
-usdpair of interest, request the last 24 hours at a deliberately chosen threshold: 1% catches breaks, a higher value restricts output to severe events. - Filter on minimum
tradecountandvolumebefore anything else. - Group survivors by timestamp and count distinct venues. One venue is a venue story; many is a coin story.
- For coin stories, check whether the deviation held across consecutive intervals or reverted within a minute or two.
- For venue stories, check whether the same venue recurs. Once is a print; a pattern is a behaviour.