Reading a Stablecoin Depeg Off the Price Chart

A stablecoin's price chart looks like the most reassuring chart in crypto: a flat line, a narrow band, no drama. On the Binance USDCUSDT pair that line contained a 166-day stretch with no trades at all, followed by an 11.8% fall inside a single hour. Both facts are in the same chart, and only one of them is visible at a glance.

CoinSoso EditorialPublished Article #00033Updated

Cover artwork: CoinSoso · AI-generated, not a photograph of a real venue, product or market capture.

Key takeaways

  • On Binance's USDCUSDT pair, the last daily candle before March 2023 was dated 26 September 2022 — the next one was 11 March 2023, 166 days later.
  • On 11 March 2023 the pair opened at 1.0000 and printed a low of 0.8820, a gap of 11.8% from par, with the whole fall contained in one hourly candle.
  • Volume the next day reached 1,058,067,483 USDC against 5,607,880 on the last day of trading before the gap — about 189 times.
  • USDCUSDT measures USDC priced in USDT, so it cannot separate USDC falling from USDT rising; a stablecoin pair is a ratio of two claims, not a dollar price.
  • The pair traded back above 0.99 within two days, but a restored price is not the same thing as a restored redemption path.

The flat line that was not flat

Pull daily candles for USDCUSDT from Binance and you get a chart that looks like a peg: a narrow band mostly between 0.9996 and 1.0003, a few excursions of a fraction of a percent, and one spectacular spike of disorder in March 2023. That is the chart most stablecoin articles describe.

Pull the same data as a list of dates and a different feature appears.

Date Open High Low Close Trades
2022-09-25 0.9999 1.0000 0.9997 1.0000 29,813
2022-09-26 1.0000 1.0000 0.9999 0.9999 3,162
— 166 days with no candle —
2023-03-11 1.0000 1.0000 0.8820 0.9592 253,654
2023-03-12 0.9593 0.9878 0.9323 0.9848 821,220

Between 26 September 2022 and 11 March 2023 the pair produced nothing. Binance’s kline endpoint returns only intervals in which at least one trade printed, so the absence of candles is not missing data — it is the absence of trading. On the final day before that gap the pair recorded 3,162 trades, down from 29,813 the day before it, and volume of 5,607,880 USDC.

A charting library draws that gap as a connected line, because connecting is what lines do. The result is a picture in which the price was continuously observed and continuously close to a dollar, when in fact it was not observed at all. For five and a half months, the most direct public measure of whether USDC was tradeable at par on the largest exchange was silence.

That is the first lesson in reading a stablecoin chart, and it applies to every thin pair: a flat line is ambiguous. It can mean “stable” or it can mean “nobody traded”, and the chart alone will not tell you which. Volume and trade count will.

Trading activity on USDCUSDT before and after a 166-day gap with no trades trades per day
  <text x="24" y="206" fill="var(--fg-muted)">Sep 25</text>
  <rect x="60" y="196" width="60" height="44" fill="var(--accent)" opacity="0.55" />
  <text x="90" y="190" text-anchor="middle" fill="var(--fg-muted)">29,813</text>

  <text x="24" y="206" fill="var(--fg-muted)" visibility="hidden">x</text>
  <text x="126" y="206" fill="var(--fg-muted)" font-size="9">Sep 26</text>
  <rect x="130" y="234" width="60" height="6" fill="var(--accent)" opacity="0.55" />
  <text x="160" y="228" text-anchor="middle" fill="var(--fg-muted)">3,162</text>

  <line x1="200" y1="150" x2="440" y2="150" stroke="var(--bronze)" stroke-dasharray="5 5" />
  <text x="320" y="140" text-anchor="middle" fill="var(--bronze)">166 days · no candle, no trade</text>
  <text x="320" y="172" text-anchor="middle" fill="var(--fg-muted)" font-size="9">26 Sep 2022 → 11 Mar 2023</text>

  <text x="450" y="206" fill="var(--fg-muted)" font-size="9">Mar 11</text>
  <rect x="450" y="60" width="60" height="180" fill="var(--bronze)" opacity="0.8" />
  <text x="480" y="52" text-anchor="middle" fill="var(--bronze)">253,654</text>

  <text x="530" y="206" fill="var(--fg-muted)" font-size="9">Mar 12</text>
  <rect x="534" y="30" width="60" height="210" fill="var(--bronze)" opacity="0.95" />
  <text x="564" y="22" text-anchor="middle" fill="var(--bronze)">821,220</text>

  <text x="60" y="266" fill="var(--fg-muted)">bars are proportional to trade count; the middle segment has no bar because no day in it produced a candle</text>
</g>
Figure 1Trade counts from Binance's own kline data. The vertical scale is dominated by the two March days, which is the point: the pair was not quietly ticking along near par, it was dormant and then briefly one of the busiest stablecoin markets in the world.

What the pair is actually measuring

Before the March candle means anything, it has to be read correctly, and the most common misreading is built into the symbol.

USDCUSDT is USDC priced in USDT. It is a ratio of two dollar claims, not a dollar price. If USDC weakened and USDT held, the pair falls. If USDT weakened further than USDC, the pair rises even while USDC itself is below a dollar. A move in this chart is evidence about the relative standing of two tokens, and only under an assumption about the other one does it become a statement about USDC in dollars.

That assumption was approximately safe in March 2023 — USDT was not the subject of the panic — but it is an assumption, and it is exactly the assumption that fails in the scenario a stablecoin chart is supposed to warn you about. On a day when both major dollar tokens are under question, the ratio between them can be placid while both are trading at ninety cents.

A stablecoin pair is also not a market-wide price. Venues quote different pairs, carry different depth and serve different regions, and arbitrage between them requires moving funds, which during a depeg is the thing that has become difficult. A single exchange’s pair is a sample, not the price.

The correct reading of a stablecoin chart therefore has two parts: what the ratio did, and what the ratio is. Both belong in any claim about whether a token held its peg.

The hour that carried the event

Daily candles hide the shape of a shock, so the useful resolution here is hourly. Binance’s 1-hour data for 11 March 2023 begins at 14:00 UTC — the first trade of the day — and that single candle contains the whole event:

Hour (UTC) Open High Low Close
2023-03-11 14:00 1.0000 1.0000 0.8820 0.9129
2023-03-11 15:00 0.9127 0.9179 0.9096 0.9128
2023-03-11 16:00 0.9129 0.9226 0.9117 0.9209
2023-03-11 20:00 0.9461 — 0.9458 0.9764
2023-03-11 23:00 0.9496 — 0.9486 0.9592

The low of 0.8820 and the open of 1.0000 sit in the same sixty minutes. From 1.0000 to 0.8820 is a gap of 11.80%. Within that hour the price closed at 0.9129 — still 8.7% below par — and the rest of the day was spent clawing back toward 0.96 rather than recovering.

This is the practical argument for not reading a depeg off a daily candle. The daily bar for 11 March shows an open of 1.0000 and a close of 0.9592, which reads like a 4% bad day. The intraday path was a 11.8% collapse followed by a partial bounce, and anyone whose stop, liquidation threshold or size decision was set from the close would have been reasoning about an event they had already survived in a worse form.

Gap from par and gap from the previous close are different numbers. Par is 1.0000. The previous close in this case was also 1.0000 because the pair had not traded, so the two coincide here — but on any pair that trades daily they diverge, and the difference matters: a stablecoin that drifts from 0.9990 to 0.9950 has a 0.4% daily move and a 0.5% deviation from the thing it is supposed to equal.

The hourly path of USDCUSDT through 11 and 12 March 2023
  <text x="62" y="44" text-anchor="end" fill="var(--fg-muted)">1.00</text>
  <line x1="70" y1="40" x2="612" y2="40" stroke="var(--accent)" stroke-dasharray="4 4" />
  <text x="612" y="34" text-anchor="end" fill="var(--accent)">par</text>

  <text x="62" y="134" text-anchor="end" fill="var(--fg-muted)">0.94</text>
  <line x1="70" y1="130" x2="612" y2="130" stroke="var(--border-strong)" opacity="0.4" />
  <text x="62" y="224" text-anchor="end" fill="var(--fg-muted)">0.88</text>
  <line x1="70" y1="220" x2="612" y2="220" stroke="var(--border-strong)" opacity="0.4" />

  <polyline points="76,40 150,44 190,222 214,196 242,168 268,152 300,148 336,150 366,146 400,132 440,126 486,116 540,104 596,92"
            fill="none" stroke="var(--bronze)" stroke-width="2.5" />

  <circle cx="190" cy="222" r="4" fill="var(--bronze)" />
  <text x="198" y="240" fill="var(--bronze)">14:00 UTC · low 0.8820</text>

  <text x="76" y="272" fill="var(--fg-muted)">11 Mar 14:00 → 12 Mar 19:00 UTC, hourly closes</text>
  <text x="76" y="292" fill="var(--accent)">the fall and most of the rebound happen in the first two candles</text>
  <text x="76" y="310" fill="var(--fg-muted)" font-size="9">the dashed line at 1.0000 is par, not a moving average</text>
</g>
Figure 2Hourly closes from the first trade of 11 March to the evening of 12 March. The vertical drop is a single candle; everything to the right of it is a slow, incomplete recovery that still had not reached par by the end of the series. Drawn from the printed closes, not smoothed.

Volume is the other half of the story

The trade counts in the first table are the least dramatic numbers on the page and the most informative. On 12 March the pair printed 821,220 trades and 1,058,067,483 USDC of volume, the highest day in the series. Against the 5,607,880 USDC of the last pre-gap day, that is roughly 189 times the turnover.

A depeg is, mechanically, a rush to exchange one claim for another. Volume of that shape says something the price line cannot: that a very large number of participants were actively trying to leave USDC and were willing to pay 5% to 12% for the privilege. The price is the summary; the volume is the evidence that the summary reflects a crowd rather than a single print.

The inverse reading is equally useful. A thin pair can print a wild candle on one small order, and a stablecoin chart with low volume and a large wick is describing one participant’s bad afternoon, not a run. Trade count is the cheapest way to tell those apart, and it is available on the same endpoint as the price.

Why a recovered price is not a recovered market

By 13 March the pair closed at 0.9949, and by 16 March at 0.9975. Two days to reclaim 0.99. On the chart, the event is over by the middle of the week.

Whether the problem was over is a different question with a different dataset, and it is the one that matters to anyone holding the token. A stablecoin’s function is redemption — the ability to convert the token into a dollar through the issuer. Price on a secondary pair is evidence about what other traders will pay; redemption is evidence about what the issuer will deliver. They can recover at very different speeds, and a secondary market can trade at par while the primary route remains constrained, or vice versa.

The mechanics of that route are set out in how USDC redemption works through Circle Mint and in stablecoin redemption and network compatibility. What belongs here is the chart-specific warning: the line returning to 1.0000 is the least informative moment on the chart. It records that someone was willing to pay a dollar for a token; it does not record that the issuer was delivering dollars in the same week.

What to look at instead

A short list that would have described the March 2023 event better than the closing price:

  1. Did the pair trade? Check for gaps. A pair with no candles for months is not a price reference.
  2. What did the hourly candle do? Daily bars compress the worst minutes into a comfortable number.
  3. How many trades and how much volume on the day? Distinguishes a market from a print.
  4. Measure against par, not only against the previous close. The two differ, and par is the definitional line.
  5. Read the spread, not only the last price. The cost of exiting is what a depeg actually charges you; spread, depth and slippage covers how to read it.
  6. Then leave the chart and check redemption. The price is a market’s opinion. The issuer’s process is the claim itself.

The reserve side of the same question — what an issuer’s published backing does and does not establish — is in what a reserve attestation does and does not prove, and the difference between the two largest dollar tokens is in USDT and USDC compared.

Risk note. Every price, volume and trade count in this article comes from Binance’s public kline endpoint for USDCUSDT, read on 2026-10-18, covering 2022-09-14 to 2023-03-19; the percentages are divisions of those published values. Absent candles are reported as absent trading, which is how that endpoint behaves, and not as a claim about any other venue’s data. The cause of the March 2023 move is outside the scope of this data and is not asserted here. Stablecoin pairs, venue listings and liquidity change; re-read the data rather than this article. Nothing here is investment advice or a recommendation to hold, trade or redeem any token.

Sources

How this was researched. Reserve and redemption claims link to the issuer's own published transparency disclosures. Figures are not restated as ours, because the issuer's attestation is the authoritative record.

Primary sources for the factual claims on this page. A date appears only where a human has actually read the source; where it is missing, the check is still outstanding.

  1. Binance — Kline/candlestick data for USDCUSDT (1d and 1h), retrieved 2026-10-18(read 2026-10-18)
  2. Binance — Exchange information, symbol filters for BTCUSDT (used for the tick-size discussion)(read 2026-10-18)

Frequently asked questions

What was the lowest price USDC reached on Binance in March 2023?

On the USDCUSDT pair, the daily candle for 11 March 2023 shows a low of 0.8820 against an open of 1.0000 — a gap of 11.8% from par. The hourly data places that low inside the 14:00 UTC candle, which opened at 1.0000, touched 0.8820 and closed at 0.9129. That is the entire fall, within sixty minutes.

Why does the chart show no prices for six months before the depeg?

Because there were no trades. Binance's kline endpoint omits intervals in which nothing printed, and for USDCUSDT the gap runs from 26 September 2022 to 11 March 2023 — 166 days. The pair had become dormant. A flat line on a thin pair often means nobody traded, not that the price was stable.

Does USDCUSDT show whether USDC lost its peg?

Only partly. The pair prices USDC in USDT, so a fall means USDC became cheaper relative to USDT. If both had fallen against the dollar by different amounts, the ratio could move without either losing its peg in dollar terms. To separate the two you need a quote in a currency outside the pair, which this chart does not provide.

Is a recovered price proof that the problem is over?

No. Price and redeemability can recover at different speeds, and it is redemption that defines a stablecoin's usefulness. A pair can trade back to 0.997 while an issuer's redemption route is still constrained, and it can trade at par while redemptions are suspended entirely. Check the redemption process, not only the quoted price.

What should I look at besides the price line?

Three things: whether the pair traded at all in the period you are looking at, the volume and trade count on the day of the move, and the width of the bid-offer spread rather than only the last price. A last price on a pair that printed nothing for months carries almost no information, while the shape of the depth around the price tells you what it would actually cost to exit.

Where to go next

Independent research. Each card shows the platform’s invite code, and its Create Account button is a referral link that may earn us a commission at no extra cost to you. Whether an account can be opened is decided by the platform at sign-up.

Binance

One of the largest global exchanges by traded volume, with a very broad product range.

20% Trading Fee Rebate

Use invite code con888 when signing up to enjoy trading fee benefits.

Download Android App

Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.

Do not install an APK from an unknown source, or one that has been modified or cannot be checked.

Read review →

OKX

A large global exchange offering spot, derivatives and a self-custody wallet.

20% Trading Fee Rebate

Enter invite code con888 when signing up to check available trading fee benefits.

Download Android App

Download from the exchange's official download service. Verify the source and follow the on-screen installation instructions.

Do not install an APK from an unknown source, or one that has been modified or cannot be checked.

Read review →