Every Sovryn lending pool, ranked by bad debt.
This page checks every active loan in every lending pool registered in Sovryn’s core protocol. Bad debt means loan principal that is not covered by the current value of its collateral, using Sovryn’s prices at the displayed Rootstock block.
A pool showing $0 bad debt may still have loans below their required margin or too little money available for withdrawals. Those warning signs are shown separately.
Current lending-pool summary
- Total current bad debt
- —
- Principal not covered by collateral at this block
- Pools with bad debt
- —
- Out of all registered lending pools
- Pool with the most bad debt
- —
- Waiting for current figures
- Pools fully checked
- —
- Loans, balances, and prices verified
Current lending-pool results
Pools with the largest confirmed USD bad debt appear first. Open the Loans control in any row to inspect that pool’s active positions. Those individual records are requested only when you ask for them.
- Pools checked
- —
- Active loans
- —
- Below required margin
- —
No current values are shown. Check your connection or try again when the refresh button becomes available.
| Pool / asset | Finding | Bad debt | Collateral in bad-debt loans | Loans | Owed to lenders | Cash available | Principal on loan | Source |
|---|---|---|---|---|---|---|---|---|
| Current figures have not been checked. | ||||||||
How to read the collateral column: it includes only loans with bad debt at the displayed block. Amounts are grouped by token, and tokens not used in those loans are omitted. These are the current collateral quantities backing the affected loans—not additional bad debt.
Loan details and 0xB7 markers: “Below required margin” means a loan has reached or crossed Sovryn’s maintenance-margin threshold. Bad debt means principal is greater than collateral value. Expanded rows clearly mark borrowers documented in this dossier’s 0xB7-linked borrower cluster. Details are saved in this browser for 30 minutes.
How the page checks the figures
The page reads Sovryn’s public contracts through Rootstock’s official public node. It does not rely on figures shown in Sovryn’s interface or on a single pool balance.
- Find every registered pool.
Read Sovryn’s pool list and confirm the asset attached to each pool.
- Match every active loan to its pool.
Compare Sovryn’s full active-loan list with the separate list for each pool. The records must match, and their combined principal must equal the pool’s recorded borrowed balance. Individual records remain closed unless a reader asks to see a pool.
- Calculate bad debt loan by loan.
Convert each loan’s collateral into the borrowed asset using Sovryn’s price feed. Bad debt is the part of principal not covered by that collateral. Extra collateral in one loan never cancels another loan’s bad debt.
- Convert the totals to USD.
Convert each pool’s bad debt to RBTC using Sovryn’s price feed, then apply Blockscout’s RBTC/USD price only when that price is no more than two hours old.
Technical verification details
Pool discovery uses getLoanPoolsList. The complete active-loan list comes from paged getActiveLoansV2; pool attribution comes from paged getUserLoansV2(…, isLender=true). Loan IDs and all 17 returned fields must match across both views. A loan found only in the full list is assigned from its stored lender in loans(bytes32). Every loan token must match the pool’s independently read asset mapping, and summed principal must equal totalAssetBorrow at the same block.
Collateral value follows Sovryn PriceFeeds arithmetic, including its two rounding steps. Bad debt for each loan is max(principal − current collateral value, 0). Collateral is grouped by token-contract address only for loans with bad debt. When a reader opens a pool, its 17-field active-loan records, token details, and prices are read through Blockscout at the same displayed block; the canonical block hash is checked again before those records appear.
Sovryn main protocol contract (opens in a new tab) · Sovryn price-feed contract (opens in a new tab) · Rootstock RPC API guide (opens in a new tab) · Blockscout RBTC/USD price (opens in a new tab)
Sovryn pool-list code (opens in a new tab) · Sovryn active-loan code (opens in a new tab) · Sovryn price calculation (opens in a new tab)
What this snapshot shows—and what it cannot prove
This snapshot shows whether active loan principal exceeded collateral value at the displayed block, using Sovryn’s own prices. It also shows what the contracts record as owed to lenders, available pool funds, and principal out on loan.
Return to the RBTC lender evidence- No current bad debt found
- This does not guarantee that all funds can be withdrawn. Prices and loans can change; the price feed can fail; liquidation or a real collateral sale can produce different results; contracts and governance can change.
- Available pool funds
- The pool contract’s
marketLiquidityfigure at the displayed block. A low amount can limit withdrawals even when collateral currently covers principal. - Amount recorded as owed to lenders
- The contract’s
totalAssetSupply: pool funds, principal out on loan, and unpaid interest. It does not subtract the bad debt shown on this page. - Scope
- Includes every pool currently listed by Sovryn’s core lending protocol. It does not include borrowing positions in Zero, deposits in Zero’s stability pool, or automated market-maker (AMM) liquidity pools.
- Privacy and updates
- To load current totals, your browser reads contract data from Rootstock’s public node and asks Rootstock Blockscout for the RBTC/USD price. Blockscout receives the pool address and reads its individual loans only if you open that pool. Requests do not send login credentials or a referrer, but the services still receive normal connection data such as your IP address, browser information, and sovryn.org as the site origin. Complete totals and opened loan records are reused for 30 minutes in this browser. The last saved result may remain until it is replaced or you clear this site’s stored data.
- Dated evidence
- This live table changes over time. It does not replace the dated 18 August 2026 calculation used in the dossier. Open the public inputs.