Notice: all on-chain figures in this article were frozen on September 12, 2026, between 08:35 and 08:50 UTC, using direct readings from TronScan, TronGrid, public Ethereum and BNB Chain RPCs, DefiLlama, Binance, and CoinGecko. The price mismatch between WTRX and TRX described below was corrected between September 11 and 12, 2026; the affected data points remain published in the historical series and can be verified. Balances and prices change block by block: each data point includes its reading time to ensure verification is repeatable. This content is for informational and analytical purposes only; it does not constitute financial advice. CleanSky does not receive commissions or referral payments from any protocol, aggregator, or exchange mentioned.

The three contracts holding the TRX collateral for USDD contained 3,475,437,000.362226 WTRX on September 12, 2026, at 08:37 UTC, without a single token movement since August 25, 2026. Against this guarantee, the protocol's core contract—a Vat, the central accounting engine of a MakerDAO DSS (Dai Stablecoin System) fork—records 457,173,196.60 USDD of debt spread across the three TRX vaults. At $0.339406 per TRX, that represents a 258.02% coverage ratio for those three vaults (proprietary calculation). The public USDD collateral series lost $301.82 million between September 8 and 10, 2026, and recovered $317.31 million on the 11th, while the amount of WTRX remained intact on both dates: the dashboard multiplies balances by an external price, whereas the contract returns debt and collateral using the price the protocol itself uses for liquidations. This article explains how the second figure is obtained—addresses, calls, decimals, and the errors that invalidate it—and the exact point where definitive claims can no longer be made.

Which contracts hold the USDD TRX collateral and how much do they have?

USDD 2.0 lives on Tron with an architecture mirrored from MakerDAO: anyone wishing to mint USDD deposits collateral into an adapter contract (GemJoin), and that collateral is recorded in the Vat under a specific collateral type, known in contract jargon as an ilk. The deposited TRX does not enter as a native currency: it enters as WTRX, TRX wrapped in a TRC-20 token with a 1:1 parity by design, which allows it to be handled by the same machinery as any other token.

There are three TRX collateral contracts, one per ilk. Their balances are public and can be read without permissions or an API key:

USDD TRX Vault (ilk)Collateral Contract on TronWTRX Balance (Sep 12, 2026, 08:37 UTC)Last TRC-20 Transfer (Reading from Sep 12, 2026)Total TRC-20 Transfers (Sep 12, 2026)
TRX-ATJ1VWPvFVq7sVsN7J7dWJVZz4SLT14qRUr1,253,033,999.000065Aug 25, 2026, 17:24 UTC40
TRX-BTGQKnHDQNyc3QeHJ7YxH8wggdg89UVXyvX721,403,001.362066May 14, 2026, 09:14 UTC101
TRX-CTPUPPLTYLdbW4jxwD5g2T7ystxsR9HL2mt1,501,000,000.000095Apr 23, 2026, 04:52 UTC57
Total TRX Vaults3,475,437,000.362226198

Two things in this table are worth noting before proceeding. The first is how long the collateral has remained stationary. WTRX is a TRC-20 token, and any movement emits a Transfer event, so a balance cannot change without leaving a public record. The most recent transfer across the three contracts was on August 25, 2026, at 17:24 UTC, in TRX-A; the other two date back to May 14 and April 23, 2026. The USDD TRX collateral has been immobile since August 25, 2026, and any dollar-denominated variation attributed to it since that date stems from the price applied.

The second is how this collateral was formed. The three contracts have accumulated only 198 TRC-20 transfers from their deployment until September 12, 2026, while holding nine-figure dollar guarantees. Collateral built by thousands of users opening debt positions individually would leave tens of thousands of events; 198 events suggest a handful of large placements. This is a proprietary observation based on public data and is not attributed to any specific actor: identifying who deposited these tokens requires a source not available here.

How is the debt of TRX vaults read in the USDD Vat?

The USDD Vat is deployed at TH5dhX7o39afSbfDT2e3c9k4itWjNKD4D9 and exposes the ilks(bytes32) function, which returns five numbers for each collateral type: Art (normalized debt), rate (the accumulated stability fee multiplier), spot (the value per token the system recognizes when minting, with the safety margin already deducted), line (the debt ceiling for that vault), and dust (the minimum position size).

The most common error when reading a DSS fork is taking Art as the total debt. It is not: Art is normalized, and the actual debt is Art × rate. In TRX-A, the difference is 3,084,649.37 USDD—167,802,696.35 Art multiplied by a rate of 1.018383 equals 170,887,345.72 USDD—which represents the 1.84% stability fee accumulated since the vault's creation. The second error lies in decimals: Art is in WAD (18 decimals), rate and spot are in RAY (27), and line is in RAD (45). Dividing by the wrong power of ten produces figures that bear no resemblance to reality.

The three calls returned the following on September 12, 2026, at 08:35 UTC:

USDD TRX Vault (ilk)Normalized Debt Art (Sep 12, 2026)Multiplier rate (Sep 12, 2026)Debt in USDD (Sep 12, 2026)Debt Ceiling line (Sep 12, 2026)
TRX-A167,802,696.3515471.018382597170,887,345.72400,000,000
TRX-B93,598,631.9870121.02276989495,729,862.91300,000,000
TRX-C187,936,287.5123571.013939301190,555,987.97400,000,000
Total TRX Vaults449,337,615.850916457,173,196.601,100,000,000

The three TRX vaults are using 41.56% of the debt ceiling granted by governance: a margin of 642.83 million USDD remains in the ceiling. The limit that would bind first is the deposited collateral. With the 3,475,437,000.362226 WTRX held on September 12, 2026, and the minimum ratio for each vault, an additional 498.39 million USDD could be minted before hitting the liquidation threshold. Both figures are proprietary calculations based on the tables.

What is the coverage of USDD TRX vaults on Sep 12, 2026?

With the 3,475,437,000.362226 WTRX from the three collateral contracts and the 457,173,196.60 USDD of debt returned by the Vat, the coverage is derived from a simple multiplication and division. The price assumption is unique and published: TRX = $0.339406, the CoinGecko data from September 12, 2026, at 08:38 UTC, which is consistent within 0.03% of the TRX/USDT price on Binance at the same time ($0.3395). This entire block is a proprietary calculation.

USDD TRX Vault (ilk)Collateral in WTRX (Sep 12, 2026)Collateral in USD at $0.339406 (Sep 12, 2026)Debt in USDD (Sep 12, 2026)Vault Coverage (Sep 12, 2026)
TRX-A1,253,033,999.000065$425,287,257.47170,887,345.72248.87%
TRX-B721,403,001.362066$244,848,507.0895,729,862.91255.77%
TRX-C1,501,000,000.000095$509,448,406.00190,555,987.97267.35%
Total TRX Vaults3,475,437,000.362226$1,179,584,170.55457,173,196.60258.02%

The 258.02% figure represents the coverage of the TRX vaults—TRX-A, TRX-B, and TRX-C—and only them. The measured denominator is solely the debt of these three vaults: 457.17 million USDD, or 35.94% of the total debt declared by the system. Of the remaining 814.90 million, 60.62 million are in the USDT and sTRX vaults, which have been identified, and 754.28 million—59.30% of the total—correspond to collateral types whose names could not be matched in the contract, meaning their collateral is excluded from the measurement. The ratio does not extend to the USDD ecosystem as a whole.

The other question that usually accompanies collateral concerns has a short answer: USDD was trading at $0.998205 on September 12, 2026, at 08:38 UTC according to CoinGecko, with a 24-hour low of $0.997905 and a market capitalization of $1.511 billion. Its all-time low remains $0.928067 from June 19, 2022, when the protocol operated under a different design.

What TRX price does the USDD oracle use and what happened to the WTRX feed?

The Vat handles accounting, while a second contract determines the price. The USDD Spot module, deployed at TU8Z8CeUd7pnXSMHTNqRgK6Qxxxyzsba1n, stores the address of the oracle providing the price (pip) and its minimum collateralization ratio (mat) for each vault. Read at 08:45 UTC on September 12, 2026, it returns a mat of 1.20 for TRX-A, 1.17 for TRX-B, and 1.30 for TRX-C, exact in RAY precision—liquidation thresholds of 120%, 117%, and 130%—and all three vaults share the same pip: TVsQxikpttN15u7vcjXKeVrtYRWbrqgPbH, which protocol documentation identifies as PIP_TRX. Spot.par() is exactly 1, and the PSM-USDT-A vault shows a mat of 1.00 and a spot of 1.000000, ruling out any global scaling factor in the reading.

With these two parameters, the Vat's spot field is no longer opaque: in a DSS fork, it equals oracle_price / (par × mat), so solving for it reveals the price the protocol uses for liquidations. The three spot values from September 12, 2026, imply a price of $0.343345 per TRX, identical to the sixth decimal place across all three vaults, 1.16% above the market price at 08:38 UTC and consistent with the $0.34420 high TRX reached that day on Binance: the oracle publishes with a delay. The falsifiability of this cross-check lies in the ratios between spot values, which are price-independent: 0.975 between TRX-B and TRX-A, and 1.083333 between TRX-A and TRX-C, exactly 117/120 and 130/120 with RAY precision. The trio of minimum ratios (135%, 120%, and 150%) circulating for these vaults would require three different prices from a single oracle.

This internal oracle is what determines liquidations, and it is not what was feeding the dashboard. Between September 8 and 11, 2026, DefiLlama served two different prices for the same asset in the same response: on September 11 at 09:01 UTC, WTRX was listed at $0.23779029761506346 while TRX, ten minutes later, was at $0.3387295088584039, both with a declared confidence of 0.99—a 29.80% difference between a wrapped token and its underlying asset with 1:1 parity. By September 12 at 08:38 UTC, this mismatch had disappeared: the same call returns WTRX at $0.3394597549129465 and TRX at $0.3394330686277258, a 0.008% difference.

Proof that the crash was price-related is published by the aggregator itself in its token breakdown and remains available. These are the quantities and values served for the collateral on Tron:

USDD Collateral Series Point Published by DefiLlama (2026)WTRX in Collateral, Token Quantity (2026)USD Value Published by DefiLlama, in Millions (2026)Implicit Price per WTRX, Proprietary Calculation (2026)
September 8, 00:00 UTC3,475,437,000.361,163.04$0.334646
September 9, 00:00 UTC3,475,437,000.36997.64$0.287055
September 10, 00:00 UTC3,475,437,000.36861.22$0.247802
September 11, 00:00 UTC3,475,437,000.361,178.53$0.339103
September 12, 00:00 UTC3,475,437,000.361,175.78$0.338311
September 12, 07:44 UTC3,475,437,000.361,179.30$0.339324

The token quantity is identical across all six points and matches the on-chain reading to the second decimal. The dollar value of that quantity dropped by $301.82 million between September 8 and 10, 2026, and rose by $317.31 million between the 10th and 11th. The implicit price obtained by dividing one column by the other dropped to $0.247802 on September 10, while TRX never fell below $0.3329 on Binance at any point between September 6 and 12, 2026. The points for the 9th and 10th remain published in the series as of September 12, so the verification can be repeated today: anyone can request the series by token, divide dollars by tokens, and compare the result with Binance candles or another market data source.

How much does TRX need to fall to liquidate USDD TRX vaults?

With the mat values read in Spot, this question has an exact answer per vault. The liquidation price for each ilk is mat × debt / collateral tokens, which gives the drop TRX would have to sustain from $0.339406 for the vault to hit its threshold. Proprietary calculation:

USDD TRX Vault (ilk)mat Threshold Read in Spot (Sep 12, 2026)Current Coverage (Sep 12, 2026)TRX Price Hitting Threshold (Sep 12, 2026)Required Drop from $0.339406 (Sep 12, 2026)
TRX-A120%248.87%$0.16365551.78%
TRX-B117%255.77%$0.15525854.26%
TRX-C130%267.35%$0.16503851.37%

The first vault to enter the liquidation zone would be TRX-C, requiring TRX to trade at $0.165038, a 51.37% decrease from the September 12, 2026 price. All three fall within a narrow band between 51% and 55%: the threshold design compensates for TRX-C having a larger cushion with a more demanding mat.

The other side of this data is what would happen if such a liquidation were executed. A 120% threshold assumes the collateral is sold before the decline exhausts the margin, and a sale taking days moves the price against the liquidator. The 3,475,437,000 immobilized WTRX represent 3.66% of all TRX in circulation (94,944,652,949 TRX according to CoinGecko on September 12, 2026) and are equivalent to 2.11 days of global 24-hour TRX volume, which was $559,714,729 that day.

What portion of USDD debt cannot be attributed to specific collateral?

The on-chain reading of USDD covers 40.70% of the Vat debt and no more, and this should be stated with the same precision as the rest. Vat.debt() returns 1,272,070,754.57 USDD of total system debt on September 12, 2026, at 08:35 UTC, with a global ceiling Vat.Line() of 3,120,000,000. The sum of the ilks that could be enumerated by name—TRX-A, TRX-B, TRX-C, USDT-A, PSM-USDT-A, and STRX-A—is 517,788,229.12 USDD. This leaves 754,282,525.45 USDD of debt whose collateral could not be identified by reading the contract.

The reason is a limitation of the method, not a protocol flaw. Ilks are queried by their bytes32 encoded name: the exact string must be guessed, and the contract does not expose a list. Over sixty candidate names were tested without finding the missing ones. The check that rules out unbacked debt is Vat.vice(), which tracks system debt without underlying collateral: it returns 2,000.66 USDD, the same residual figure as the previous day. The unattributed debt has collateral recorded in the Vat; what is missing is the name to query it.

Between the two readings, there is one movement that can be fully tracked: total Vat debt rose by 36,465,463.71 USDD from September 11 to 12, 2026, and the PSM-USDT-A vault went from 17,689,719.83 to 54,318,978.48 USDD in the same interval. The USDT parity module alone explains the system's debt growth in those twenty-four hours.

From this, two claims are supported by this work and one is not:

  1. Supported: the collateral in the TRX vaults has not moved since August 25, 2026—the last TRC-20 transfer for the three contracts, and the same balance to the sixth decimal place in all readings from September 7 to 12, 2026.
  2. Supported: vaults TRX-A, TRX-B, and TRX-C are at 258.02% coverage based on the TRX market price of September 12, 2026, and the protocol's own oracle uses a market price, distinct from the one published for the wrapped token between September 8 and 11.
  3. Not supported and not claimed: any coverage ratio for the USDD ecosystem as a whole. With 59.30% of the debt lacking identified collateral from the contract, that number cannot be calculated via this method.

A way to close this gap exists: extracting bytes32 from the topics of the Vat's LogNote events using an archive node from the deployment block. USDD documentation does not name an issuing entity to request the list from and describes the protocol as community-governed. The same perimeter limit appears in the supply: the three USDD 2.0 contracts total 1,328,368,933.87 USDD at 08:40 UTC on September 12, 2026, while DefiLlama declares 1,505,227,961.38 in circulation—a difference of 176.86 million that does not resolve even when adding the 124,146,228.24 USDD from the legacy USDD 1.0 contract.

How to verify USDD collateral step by step?

A full verification takes a few minutes, requires no paid API key or private node, and can be repeated any day to see if anything has changed:

  1. Collateral Balances. Query the three GemJoin contract accounts on the public TronScan API and check the WTRX token balance. The native TRX balance of the three contracts is practically zero, so anyone looking at that column will conclude they are empty.
  2. Debt per Vault. Call ilks(bytes32) on the Vat via TronGrid's triggerconstantcontract, using the ilk name in ASCII padded to the right with zeros up to 64 hexadecimal characters. Multiply Art by rate and divide by 1045: in TRX-A, 167,802,696.35 × 1.018383 = 170,887,345.72 USDD on September 12, 2026.
  3. Oracle Price. Read mat and pip in the Spot module and solve for spot × mat in the three vaults. If the three results match, the calculation is correct and the resulting price is what the protocol uses for liquidations.
  4. Market Price. Cross-reference with two independent sources, such as Binance daily candles and the CoinGecko profile. If one source gives a price for the wrapped token different from the native token, the wrapped one is not suitable for valuing collateral.
  5. Coverage. Multiply balance by market price and divide by the debt of that vault, vault by vault. Never divide partial collateral by the total system debt.
  6. Scope Control. Compare the sum of enumerated ilks with Vat.debt() and read Vat.vice(). The first ratio indicates what percentage of the system has been measured; the second indicates if there is unbacked debt.

Step 5 is what separates a useful reading from a false alarm. Dividing the collateral of a portion of the vaults by the total Vat debt yields a ratio near 0.93 that measures nothing—partial numerator over full denominator—and makes the system appear on the brink of insolvency. With both sides of the division referring to the same three TRX vaults, the result for September 12, 2026, is 2.5802. The same discipline applies to any TVL reading: numerator and denominator must cover the same perimeter.

What to watch in USDD and its collateral after September 12, 2026?

The price mismatch corrected itself, leaving three active checks and one closed. The closed one: the WTRX feed returned to parity with TRX between September 11 and 12, 2026, with the collateral series at $1,274.69 million at 07:44 UTC on the 12th. The active ones are whether the aggregator eventually retroactively revises the points for the 9th and 10th—they remain published today, allowing for calculation reproduction—whether a TRC-20 transfer later than August 25, 2026, appears in any of the three contracts, and whether the Vat's spot values stop solving for the same price across the three vaults, a sign that the oracle or thresholds were changed. And if the missing ilks are found, the entirety of USDD can be measured.

What remains is a distinction applicable to any on-chain backed stablecoin: a dashboard publishes the product of two series, and one of them can break without warning; a contract publishes the same numbers it uses to liquidate. When the two disagree, the tie-breaker is the token balance, which does not depend on any price. In the USDD TRX vaults, that balance has not moved since August 25, 2026.

Sources and links: TronScan — TRX-C collateral contract balance · TronScan — TRX-A collateral contract balance · USDD — deployed contract addresses · USDD — Spot module documentation · TronGrid — constant contract calls · DefiLlama — simultaneous WTRX and TRX prices · DefiLlama — USDD collateral series by token · DefiLlama — declared USDD circulation · Binance — TRX/USDT daily candles · CoinGecko — TRX price and circulating supply · Sky (MakerDAO DSS) — Vat contract source code