At The Cardano Record we publish one set of stablecoin numbers each week: how many of each coin are circulating, and how many were net issued over 7, 30 and 90 days. It sounds like one query. It turned out to need two, because Cardano's stablecoins don't all issue the same way. Use the wrong model and you get either a coin with a trillion in supply or a coin whose supply never changes.
Here a stablecoin means a token designed to track one US dollar. We track six tokens: iUSD, USDM, USDA, USDCx, DJED and SHEN. SHEN is Djed's reserve token and isn't pegged to the dollar, so it is measured but left out of the dollar total.
Model 1: supply is the mint history
For iUSD, USDM, USDA and USDCx, supply changes only when tokens are minted or burned. db-sync records every mint and burn in ma_tx_mint, and burns count against mints. So SUM(ma_tx_mint.quantity) for an asset, up to now, is its circulating supply. Net issuance over a window is the same sum limited to that window. Because each event is either a mint or a burn, it also splits into gross minted and gross burned.
This week's USDCx shows what that split adds. Over 7 days there were 114 mint events: 415,116.32 tokens minted and 1,937,318.05 burned, for a net of -1,522,201.73. The net figure alone would hide how much went in each direction.
Model 2: supply is what has left the vault
DJED and SHEN work differently. The protocol minted its entire cap of 1,000,000,000,000 tokens once, at launch, into a vault script. It issues coins by releasing them from that vault. Two things follow:
- The token's reported total supply is the cap. Our editorial rules name exactly this failure: never report a minting cap as supply.
- Mint history is no use either. There are no new mint events, so net issuance computed from
ma_tx_mintwould be zero forever, even while the coin is issued and redeemed every day.
So for these coins, circulating supply is minted all time minus what the vault still holds. In this run the vault held 999,998,550,991.03 DJED, which leaves 1,449,008.97 DJED circulating. By our calculation that is about 0.000145% of the headline figure. SHEN works out to 31,196,162.38 circulating.
Net issuance for these two is the change in vault holdings over the window. That means there is no gross minted and burned split. The pipeline doesn't write a zero in that field. It records the reason instead: "pre-minted issuer: mint history records no events, so issuance is only measurable as a change in vault holdings".
How it is checked
- A pool scan for the four mint-model coins. A separate scan of liquidity pools also reports each coin's supply. This run, iUSD, USDM, USDA and USDCx all matched it with a 0.0% gap.
- An exhaustive check on the vault subtraction. When the module was built, the cheap vault read was compared with a full anti-join over every DJED output ever created. That query adds up all unspent DJED across every live UTxO. It came to exactly the cap, and the vault was a single UTxO holding almost all of it. The two methods agreed to the lovelace. The weekly figure uses the cheap vault read.
- The total, valued a second way. At reference prices the dollar total is $65,210,616.44. Valued at pool prices from the pool scan, the total differs by 0.271%.
- DJED's price from two sources. The reference price was $1.004743. A separate Djed reserve monitor read $1.0021. The two differ by 0.432%. We keep both figures and don't average them.
Traps
-
Tokens and dollars are different units. Net issuance is counted in tokens. The aggregate is in dollars, valued at each coin's reference price. Those prices are not all $1: iUSD was at $0.984365. Dollar fields carry
_usdin the name, and token counts never do. - A cap disguised as supply. Any token whose reported supply is above a floor of 100 billion gets its supply recorded as absent, not zero, and no supply ratio is computed from it. This run, no supply was suppressed, because DJED and SHEN supply now comes from the vault subtraction.
- A thin pool's price is not a peg reading. If a pool price differs from the reference by more than 5%, it is marked unreliable and dropped. This run, USDCx's pool price was 37.0% off its reference. That reflects a thin or one-sided pool, not a depeg, so USDCx carries no pool price at all.
- Not every stable token is a dollar. SHEN is listed in its own row with its reason for exclusion. It never enters the dollar total quietly.
What the dollars are doing
A second module asks what stablecoins are being moved for. It reads token outputs from ma_tx_out over 24 hours and sorts them into outputs to plain wallets and outputs to scripts. It publishes only shares of each token's own volume, for two reasons:
- Decimals. A ratio of two quantities of the same asset doesn't depend on decimals, so it can't be thrown off by assuming the wrong number of decimal places.
- Overcounting. Output volume isn't the same as net transfers. A single swap produces several outputs, and change returning to a pool is counted again. An absolute turnover figure from this data can't be defended, so we never publish one.
The gap between count and volume matters here. For USDCx, outputs to wallets outnumbered outputs to scripts, 2,856 to 2,602. By volume, though, only 2.9% went to wallets. Most transfers are small and go wallet to wallet, while most of the dollars sit in contracts. This feed is a file written by another job, so we check its age before using it. This run it was 232.3 minutes old and not flagged stale.
Results
Data as of 2026-10-13 17:30 UTC. Net issuance is in tokens. Supply in dollars uses reference prices. Wallet share covers the 24 hours computed at 08:42:55 UTC.
| Coin | Circulating (tokens) | Net issued, 7d | Share of dollar supply | Wallet share of output volume |
|---|---|---|---|---|
| USDCx | 44,758,043.71 | -3.289% | 68.63% | 2.9% |
| USDM | 13,561,872.76 | -0.058% | 20.75% | 14.0% |
| USDA | 4,133,624.64 | -2.362% | 6.33% | 14.8% |
| DJED | 1,449,008.97 | -0.89% | 2.23% | 2.6% |
| iUSD | 1,368,245.16 | -4.872% | 2.07% | 5.8% |
| SHEN (not a dollar) | 31,196,162.38 | -0.087% | excluded | not tracked |
| Aggregate | Value |
|---|---|
| Dollar stablecoin supply | $65,210,616.44 |
| Change, 7 days | -$1,711,680.87 (-2.558%) |
| Change, 30 days | +$3,513,544.66 (+5.695%) |
| Change, 90 days | +$8,464,163.46 (+14.916%) |
| Peak in series | $66,941,653.17 on 2026-10-01 |
The archive of our episodes, each with its transcript and the figures it used: https://cardanorecord.com/episodes.html
Top comments (1)
Hi, Elliot
Interesting approach to handling the pre-minted vault model. How do you handle historical supply snapshots when a vault's UTxO structure changes, or when you need to reproduce a previous reporting period? I'd be curious whether you reconstruct the state from historical outputs or persist validated snapshots for each reporting run.