Resupply: borrowing against a loan you already made
Every CDP asks what backs the stablecoin. Resupply's answer is unusual: another lender's supply position. Deposit crvUSD, it gets lent out on Curve Lend, and the receipt becomes your collateral. Why that makes 95% LTV safe, what it does to liquidations, and how 1delta integrates it - including one-click looping through Resupply's own tooling.
Our CDP piece made the case that collateralized debt positions answer "where does the borrowed money come from?" in the most radical way available: from nowhere. There is no depositor on the other side of your loan. You lock collateral and the protocol mints its stablecoin against it.
That leaves a second question, and it is the one every CDP is really judged on: what backs the stablecoin? Liquity takes ETH and LSTs. Sky takes ETH, wstETH and WBTC. Frankencoin takes almost anything an auction can price. The answers vary, but they share a shape - the collateral is an asset you hold.
Resupply's answer is a loan you already made.
You deposit crvUSD. Resupply supplies it to a Curve Lend market, takes the ERC-4626 receipt, stakes that receipt in Convex, and credits it as your collateral. Then it mints reUSD against it. Your collateral is not an asset sitting still - it is a lending position that keeps earning while it secures your debt.
That one substitution changes almost everything downstream: the oracle, the safe LTV, what liquidation even means, and where the risk actually lives. This piece is about those consequences, and about what we support.
The stack in one paragraph
Resupply is Ethereum-only, from the Convex/Yearn corner of DeFi. Its stablecoin reUSD is minted against pairs - one contract per market, each wrapping exactly one external lending market. Today there are 22 registered pairs, 13 of them open for new borrowing, holding ~$40.5M of reUSD debt against ~$43.6M of collateral. Seventeen wrap Curve Lend (LlamaLend) vaults; five wrap Fraxlend pairs. There is no supply side at all - nobody deposits reUSD to fund your borrow, exactly as in every other CDP.
So a Resupply market is a wrapper around another market:
you ──crvUSD──▶ Resupply pair ──deposit──▶ Curve Lend crvUSD/sfrxUSD vault
│ │
│◀───── ERC-4626 share ──────┘
│ (staked in Convex)
│
└──mints──▶ reUSD ──▶ you
The pair holds a receipt for a loan that someone else is paying interest on. That receipt is what secures your reUSD.
Collateral that cannot fall in price
Here is the load-bearing consequence. A Curve Lend vault share is a claim on a stablecoin lending position. Its value in crvUSD only goes up, because that is what accruing interest does. It has no market price to crash.
Resupply's oracle reflects this with almost comic simplicity. It is not a Chainlink feed, not a TWAP, not an auction. It is literally:
IERC4626(collateral).convertToAssets(1e18)
The share is priced in its own underlying, and the underlying - crvUSD or frxUSD - is assumed to be a dollar. That is the entire oracle.
Three things follow, and they are the reason this design exists:
- 95% LTV on every single market. Not 80% for the risky ones and 90% for the safe ones - a flat 95%, because there is no volatility to buffer against.
- Zero liquidations in 180 days. We scanned every pair over six months of blocks: 1,261 borrows, 371 collateral-funded repayments, and not one liquidation. Price-driven liquidation is close to a dead code path here, because the price does not move down.
- Borrow rates near 2.4% across the live book - materially cheaper than borrowing a dollar almost anywhere else, because the collateral is about as safe as on-chain collateral gets.
If you have read our CDP piece, notice how far this is from a trove. A Liquity position lives or dies on the ETH price; its entire machinery - redemptions ordered by interest rate, a stability pool, batch liquidations - exists to handle collateral that moves. Resupply barely needs that machinery, and has correspondingly little of it.
The risk did not vanish. It moved. Three places, and they are worth naming precisely:
- Bad debt in the wrapped market. Your collateral is a claim on Curve Lend's borrowers. If that market takes losses, your collateral is impaired - and Resupply's oracle, which reads
convertToAssets, will report it faithfully but only after the fact. - The reUSD peg. More on this below, because it is the one number every borrower actually pays.
- Communal redemption. Peg defence works by redeeming reUSD against borrowers' collateral, socialised across a market rather than aimed at a single worst position. It is why our data layer has to read a user's position through a function that syncs their share of past redemptions rather than reading a stored balance - the stored number is stale by design.
And one more that follows from the wrapper shape, which Resupply's own interface warns about: your crvUSD is lent out, so getting it back depends on the wrapped market having free liquidity. A CDP over an asset you hold has no such dependency.
The rate is the point
Resupply is not trying to be a cheap place to borrow dollars in general. It is trying to be a carry trade, and the rate model says so out loud.
The borrow rate is pinned at roughly half of the greater of {the wrapped market's own lend rate, a "risk-free" reference, a 2% floor}. So if the collateral earns 4%, the debt costs about 2%. The protocol deliberately prices the loan below what the collateral it holds is earning.
Stack the legs on a live market - crvUSD/sfrxUSD, the largest at $11.6M of debt:
| Leg | Rate |
|---|---|
| Collateral: Curve Lend lend APR | +3.29% |
| Collateral: CRV + CVX via Convex | +0.35% |
| Borrow: reUSD interest | −2.40% |
| Borrow: RSUP emissions rebate | a large negative cost |
That last line deserves emphasis because it is easy to miss: RSUP emissions go to borrowers, not just to depositors. The pair's slice of the stream rebates a substantial fraction of the interest - when we last priced it, close to half. Any integration that reports the borrow rate without it overstates the cost of the position, which is why our data layer carries it as a reward stream on the debt row rather than folding it into one number.
The collateral legs are live figures from our own index; the reward legs move with emission schedules and token prices, so treat them as a snapshot rather than a quote.
With those legs, a levered position is profitable well before you get anywhere near the 95% ceiling. That is the entire product.
reUSD is not a dollar, and that matters when you loop
reUSD trades below par. At the time of writing, Resupply's own on-chain price feed reads $0.98984.
This is not a footnote. It is the single largest cost of opening a leveraged position, and it is unavoidable by any routing cleverness:
Borrow 1,000 reUSD of face debt and sell it, and you receive about 989.8 crvUSD of collateral. You owe 1,000. The ~10 crvUSD gap is the depeg, paid on entry.
It is not slippage - no better route removes it. It is not a fee. It is what happens when the thing you mint trades under the thing you buy with it. A quote that assumes reUSD is a dollar produces a perfectly valid transaction that quietly overstates the position by ~1%.
We treat this as a first-class number. Our loop response reports what the borrowed debt actually buys, next to its face value, so the gap is visible before signing rather than discovered afterwards. And our price feed for reUSD is Resupply's own oracle - deliberately not pegged to $1, even though the pair's internal solvency math does peg it. Pegging it in the data layer would hide precisely the number a borrower needs.
The savings side: sreUSD
There is one place to hold reUSD rather than borrow it. sreUSD is a plain ERC-4626 vault over reUSD - instant deposits, instant exit, no cooldown, no fee - currently paying around 0.7%.
That number surprises people, so it is worth stating why it is low by design: sreUSD does not receive the borrow rate. It receives the protocol's revenue share plus the off-peg component of the borrow rate. The bulk of what borrowers pay flows elsewhere. If you are comparing sreUSD to a savings rate like sDAI or sUSDS, you are comparing different claims.
We index it as a savings vault alongside sfrxUSD and sFRAX - it is the same LinearRewardsErc4626 contract family, so it shares the same rate maths.
How 1delta integrates it
Resupply has a property that shapes the whole integration: every position keys to msg.sender. There is no operator mapping, no permit, no delegation primitive anywhere on the pair. A router contract acting on your behalf would end up owning your position.
For an aggregator built around a composer contract, that normally means "supported for data, not for actions". Resupply is the opposite, because the protocol ships its own tooling - and it is good:
leveragedPosition borrows reUSD directly to a whitelisted swapper, which sells it for the collateral and hands the shares back to the pair. One transaction. No flashloan, no composer, and no contract of ours anywhere in the path. repayWithCollateral is the exact inverse: it sells the position's own collateral to repay, so closing needs no reUSD in your wallet and no token approval at all.
The swap leg is theirs too. Resupply whitelists a Curve router (a fixed path, quoted on-chain, no aggregator involved) plus wrappers that forward arbitrary router calldata - which is what lets us plug our own quotes in where the fixed path cannot serve.
What we support today:
| Capability | Status |
|---|---|
| Market data - all 22 pairs, discovered on-chain | Live |
| Per-market rates, LTV, caps, pause state | Live |
| User positions, including redemption-synced collateral | Live |
| Collateral reward streams (CRV, CVX via Convex) | Live |
| reUSD oracle price (their feed, not pegged) | Live |
| Deposit · Borrow · Withdraw · Repay | Live |
| Deposit-and-borrow, withdraw-and-repay one-shots | Live |
| One-click leverage and deleverage | Live |
| sreUSD savings vault | Live |
| Collateral swap / debt swap | Not applicable - one pair is one (collateral, reUSD) market |
Every one of those is fork-tested against live mainnet state rather than mocked.
Two details are worth surfacing because they are invisible until they bite. Because pairs are discovered from Resupply's registry rather than a published list, new markets appear in our data without a release - governance has added several since we integrated. And because the collateral is a lending position, we publish the wrapped market's own APR per market: the same crvUSD earns 3.29% in one Resupply pair and 0.09% in another, because they wrap different Curve Lend markets. A per-asset yield number would be wrong here in a way that looks entirely plausible.
Where it sits among the CDPs we index
| Collateral | Who sets the rate | Peg defence | Liquidation trigger | |
|---|---|---|---|---|
| Resupply | Another lender's supply position | Protocol - pinned to ~½ the collateral's own yield | Communal redemption | Price - but the price only rises |
| Liquity V2 + forks | ETH, LSTs | Each borrower, individually | Redemption, cheapest rate first | Price |
| River | BTC-family, ETH | Protocol, plus a one-off mint fee | Redemption | Price |
| Sky (MakerDAO) | ETH, wstETH, WBTC | Governance - deliberately punitive | PSM + DSR | Price |
| Frankencoin | Long tail, curated | Per-position auction | Challenge auctions | Owner-declared price, not health |
| Inverse FiRM | ETH, LSTs, curated | Prepaid in DBR - the rate is DBR's price | - | Price |
Read down the "collateral" column and Resupply is the outlier: every other row takes an asset you hold, and Resupply takes a claim on someone else's debt.
Read down "liquidation trigger" and you can see what that buys. Five of the six are defending against a collateral price that can fall. Resupply is defending against one that structurally cannot - which is why it can run 95% LTV across the board and why nobody has been liquidated in six months. It is also why its real risks are the ones that aren't in this table: the health of the market underneath, and the peg of the coin it mints.
Frankencoin makes an interesting bookend. It abandons oracles entirely and settles disputes with auctions, which is the maximally general answer to "what backs the stablecoin" - it can take collateral nothing else will price. Resupply goes the opposite way: it takes collateral so narrow that pricing becomes a single function call. Both are escaping the oracle problem; one by making pricing adversarial, the other by making it trivial.
The honest caveats
- Concentration. One pair holds 28% of the book; the top two hold 50%. That is a lot of exposure to two Curve Lend markets.
- History. TVL peaked around $141M in June 2025, the day before an exploit. It sat near $36M three months ago and is around $43M now - so the collapse is historical and the recent trend is up, but the peak is not the reference point.
- Recursive risk is genuinely harder to reason about. Your position depends on the health of a market you did not choose and may not be watching. "Collateral cannot fall in price" holds right up until the wrapped market takes bad debt.
- The exit is not unconditional. Withdrawing means the wrapped market must have liquidity to return. Most of the time it does. That is not the same as always.
None of these are reasons to avoid it. They are reasons to size it as what it is: a well-built carry trade over other people's lending markets, with the risks pushed one layer down where they are cheaper to bear but harder to see.
Resupply is live in the 1delta API - market data, positions, all six lending actions, and one-click leverage. If you want the general case for why we normalize markets this different into one shape, start with lending aggregation; for the CDP model itself, start here.