Stats

Every figure the protocol has produced on Base, indexed from its own events. Realised history only, never a projection.

EVERYTHING IT HAS DONE

READING THE INDEXED RECORDReading the indexed record

Fetching the snapshot the indexer wrote.

HOW THIS WAS INDEXED
BLOCKS WALKED
LOG CALLS
VIEW CALLS
EXACT CHECKS AGREE

TOTAL VALUE LOCKED
Reading total value locked
collateral at the oracle's NAV, plus the lender pool
how it is summedShown once the figure lands.
DEBT OUTSTANDING
Reading protocol totals
recorded debt, before streamed repayments
PAID BY YIELD
Reading protocol totals
from every harvest
LENDER POOL ASSETS
Reading protocol totals
in the lender pool
INSURANCE FUND
Reading protocol totals
target: 5% of outstanding debt
DISTINCT WALLETS
Reading protocol totals
borrower and lender wallets, ever
NAV PER BOND
Reading protocol totals
the oracle's price
01HEALTH

How close the loans are to the line.

Reading healthpositions within 20% of the line
EVERY BORROWER, BY HEALTH
AVERAGE HEALTH
Reading health
no open positions
DEBT-WEIGHTED LTVReading LTVagainst a 25% maximum at open
  • SAFE
  • AT RISK
  • LIQUIDATABLE
  • LIQUIDATABLE below 1.00
  • AT RISK below 1.20
  • SAFE from 1.20
  • health factor on a log scale, the stretch below 1.2 kept wide enough to read
  • A dot's height carries no figure; it only keeps the dots apart. A numbered mark stands for several loans in one state, its area their combined debt.
LTV DISTRIBUTION · OPEN POSITIONS
Open positions bucketed by loan-to-value, with the maximum LTV a new borrow may reach marked.

Liquidation begins past 50% LTV. No position may open past 25%, so one opened at the maximum reaches the line only after its collateral loses 50% of its value.

REALISED YIELD, 12 WEEKS
DERIVEDLAST 12 WEEKS
12-WEEK AVERAGE
$0.23 per bond per week
History, not a promise.

Shade follows rank: the window's largest quarter of weeks brightest, its smallest quarter darkest. The newest week is provisional: its span is assumed to be seven days until DexFi's next top-up lands, and it can move when it does.

TABLE VIEW · 12 rows
WEEK COMMENCINGUSDC PER BOND
13 Aug$0.18
20 Aug$0.16
27 Aug$0.28
3 Sep$0.35
10 Sep$0.57
17 Sep$0.25
24 Sep$0.28
1 Oct$0.29
8 Oct$0.14
15 Oct$0.11
22 Oct$0.09
29 Oct · provisional$0.09
USDC PER BOND PER WEEKHISTORY, NOT A PROMISE
FROM ON-CHAIN REWARD EVENTSUSDC per bond per week, from the DexFi farm's on-chain reward-funding events divided by bonds staked.
02HARVESTS

Where every harvested dollar went. History, not a promise.

Reading harvestsharvested
EVERY HARVEST IS SPLIT THE SAME WAY
WHOLE RECORD
TOTAL HARVESTED, BY EPOCH
The total yield harvested in each epoch, from the Harvested event on EpochHarvester; each leg is that total times its share above.
FROM HARVESTEDRECOUP / DEXFI SPLIT IS DERIVEDDERIVED
the basis

The four legs are read straight off each Harvested event, so each leg of an epoch is its total times its share.

Derived. The 80 / 20% split is arithmetic on the protocol leg of each harvest. The protocol leg collects in the harvester until it is flushed to the splitter at 0xA905…5177 0xA905d06704451733Ea77889FD3ac9847dcD35177, which pays Recoup 80% and DexFi 20% when it splits.

NAV

What one bond has been worth, every time the oracle said so.

Reading the NAVper bond
NAV PER BOND · POSTED ON CHAIN
NAV per bond over time: every NAVPosted event from the oracle, one marker per post, with the band of the most a single post can move the price without confirmation, reached 24 hours after the price last changed, and parked posts drawn apart from the line.
03BALANCES

How much the protocol is holding, lending and covering.

Reading balanceslocked
THE BALANCES TODAY, ON ONE SCALE
AS OF
EACH BALANCE OVER TIME90D
TOTAL VALUE LOCKED
TOTAL VALUE LOCKED per UTC day, derived from the contracts' events; the last point is a live read when available.
RECORDED DEBT
RECORDED DEBT per UTC day, derived from the contracts' events; the last point is a live read when available.
LENDER POOL ASSETS
LENDER POOL ASSETS per UTC day, derived from the contracts' events; the last point is a live read when available.
INSURANCE FUND
INSURANCE FUND per UTC day, derived from the contracts' events; the last point is a live read when available.
MONEY IN, MONEY OUT

What was borrowed, and what paid it back.

Reading flowsof what was paid toward loans came from yield
RECORDED DEBT, START TO END OF RANGE
90D
YIELD IS RELEASED, THEN STREAMED
the basis
Borrowed and repaid by hand are the Borrowed and Repaid events on CreditManager. Released by yield is the borrowers' share of each Harvested event on EpochHarvester, in its harvest's day: it streams onto loans over the days after, and reaches recorded debt only when a loan is next settled (a YieldApplied event). So recorded debt can end above what the four flows add up to, and the difference is its own step, released but not yet applied, never hidden. A step going down instead is yield released before the range and applied in it, or a loss written down. What borrowers owe now, with the streamed yield taken off, is DEBT OUTSTANDING at the top of the page.
LENDING

Lending, loan by loan.

Reading the poolof the pool lent to borrowers
WHERE THE LENDER POOL'S MONEY IS
90D
The lender pool's assets at the last block of each UTC day, split into what is lent to borrowers, what sits in the pool free to withdraw, what is set aside for withdrawal requests and what is held back for the share price, with how much could still be lent out; every figure is the pool's own view, read at that block.
Lent to borrowers
In the pool, free to withdraw
Set aside for withdrawal requests
In the pool, held back for the share price
Could still be lent out
the basis
Every figure is the pool's own view, read at the last block of each UTC day, and each band's figure in the key is its last day. The four bands add up to the pool's assets, and that is checked every day: a day they do not is refused. The lent band is also checked every day against the pool's Lent, PrincipalRepaid and LossSocialised events. Could still be lent out is what the pool would lend now: it keeps a float of its assets (after any withdrawal requests) back so a withdrawal can be paid at once.
HOW LONG PAID-OFF LOANS TOOK
WHOLE RECORD
CLOSED
Reading loans
loans back to zero
SHORTEST
Reading loans
borrow to zero
LONGEST
Reading loans
borrow to zero
Every closed position counted by how long it took from the borrow that opened it to the event that took its recorded debt back to zero, split by what paid it off, from CreditManager's events.
repaid by hand
paid by yield alone
by hand and by yield
closed by a liquidation
the basis
Closed loans only, from the borrow that opened each to the event that took its recorded debt back to zero. A realised record, not an estimate: an open loan is not in it, and nothing here says how long one will take. A loan a liquidation touched is never counted as repaid by hand.
BORROW SIZES, AND POSITIONS OPENED AND CLOSED
POSITIONS OPENED AND CLOSED · WEEKLY
90D
Positions opened (recorded debt from zero to above zero) and closed (recorded debt back to zero) per week, from CreditManager's Borrowed, Repaid, YieldApplied and LossWrittenDown events.
opened
closed, debt back to zero

A position closes when its recorded debt returns to zero, by a repayment, the yield stream or a write-down. A borrower who reopens is counted again.

BORROW SIZES · EVERY DRAW
WHOLE RECORD
Every Borrowed event on CreditManager, counted by its size in USDC. A borrower who drew twice is counted twice.

Each Borrowed event is one draw, so a borrower who drew twice is counted twice.

04BONDS

How many bonds are in the vault, and how they got there.

Reading bondsbonds in the vault
INTO AND OUT OF THE VAULT · WEEKLY
90D
BONDS MINTED THROUGH RECOUP
LAST 13 WEEKS
EVERY BOND-HOLDING WALLET
AS OF
the basis
Every wallet with a bond in the vault at the indexed block, rowed by bonds held. A wallet has a loan when its recorded debt is above zero: the balance of every owner is checked against bondCount in the vault itself, and every borrower's debt against debtOf. Protocol contracts are not counted. No address is shown.
05CONCENTRATION

Which wallets hold the bonds, the debt and the pool.

Reading concentrationof the lender pool is one wallet
SHARE OF EACH, BY RANK
AS OF
RANKED, NO ADDRESS SHOWNPROTOCOL CONTRACTS EXCLUDED
the basis
Vault bonds: each share is of every bond a wallet holds in the vault, so a workout lot the auction holds is not counted. Outstanding debt: each share is of the recorded debt, the figure the contract stores for each borrower; yield a loan has earned since it last settled is not taken off. Lender pool: each share is of the pool shares wallets hold; shares waiting in a withdrawal request still count for the wallet that queued them. Every count is of wallet addresses: one person can hold several, and the chain cannot tell them apart.
OVER TIME · 90D
VAULT BONDS
The share of vault bonds held by the largest wallet and the largest three, at each UTC day end.
largest
top three
OUTSTANDING DEBT
The share of outstanding debt held by the largest wallet and the largest three, at each UTC day end.
largest
top three
LENDER POOL
The share of lender pool held by the largest wallet and the largest three, at each UTC day end.
largest
top three
BOND-HOLDING WALLETS WITH NO LOAN
Bond-holding wallets with zero recorded debt as a share of every bond-holding wallet, at each UTC day end; a day with none has no share.

A day with no wallet has no share, so a line starts at the first. A wallet with no loan has a bond in the vault and zero recorded debt: either it never borrowed or it repaid to zero.

INSURANCE AND AUCTIONS

What happens when a loan goes wrong.

Reading coverof recorded debt covered by the fund
IF AN AUCTION RECOVERS NOTHING
AS OF
NOT A FORECASTWORST CASE SHOWN
the basis
What this is: the insurance fund as a share of all recorded debt, so how large a shortfall the fund could take before any of it reached lenders. A shortfall is the part of a loan an auction does not recover; the fund pays it first and whatever is left is socialised to the lender pool. The worst case drawn is an auction that recovers nothing. What it is not: a forecast of any loss, or a promise that a loss will be covered. A day with no debt has no ratio.
OVER TIME · 90D
The insurance fund divided by recorded debt at each UTC day end, both indexed from CreditManager's events and checked against insuranceFund() and totalDebt() at the indexed block; a day with no debt has no ratio.
AUCTIONS · WEEKLY
Liquidation auctions per week by outcome, from AuctionFilled, AuctionExpiredToWorkout and AuctionCancelled events.
filled
expired to workout
cancelled
06WALLETS

Which wallets are using it.

Reading walletsdistinct wallets, ever
REFERRAL CODES
WHOLE RECORD

One dot per bound wallet, by code rank; a column taller than twelve dots is capped and its count is in its title. Nothing accrues before Recoup's first fee-paying harvest.

LARGEST LENDERS
AS OF

Each wallet's pool shares from the pool's own transfers, shares queued in a withdrawal request included, converted to assets at the indexed block.

STILL BORROWING, BY FIRST-BORROW WEEK
WHOLE RECORD
WALLETS, NOT PEOPLEANY ROUTE TO ZERO LEAVES

Each row is the wallets that first borrowed that week; each cell, the share of them still owing at the end of that week and of every week after, the newest ending on the indexed day. A wallet that repays to zero by any route, by hand, by yield or by a liquidation, leaves the count, and counts again if it borrows again.

CONTEXT

The fund behind the bonds.

Reading the fund snapshotleverage, gross assets over net
THE DEXFI FUND · CONTEXT
DISPLAY ONLYLIQUIDATION MATHS USE RECOUP'S ORACLE
07HOW THE RECORD WAS MADE

Every event counted, every figure checked against storage.

Reading the checksno cross-checks in this snapshot
EVENT CENSUS · ALL SIGNATURES
Recoup is early software in a capped first phase. Nothing on this site is financial advice or an offer of financial services.