Skip to main content

Fees and veYB Revenue

YieldBasis earns trading fees from two places, splits them between LPs and veYB holders on a curve, and uses borrower interest to subsidise the rebalancing cost LPs would otherwise bear.

Where fee value comes from

Two sources feed yb-LP yield:

  • Curve Cryptoswap pool fees. LEVAMM holds Curve LP tokens as collateral. When the underlying Cryptoswap pool earns trading fees, the LP tokens become worth more, and that increase flows up to LEVAMM and then to LT.
  • LEVAMM trading fees. Every trade against LEVAMM (typically by an arbitrageur via VirtualPool) charges a fee that stays inside LEVAMM and raises the position's internal value.

Note: the Cryptoswap pool keeps half of its own trading fees as an internal rebalance reserve (used to fund the pool's own price tracking). Only the other 50% reaches yb-LP holders.

Where fee value goes

When fee value arrives at LT, it is divided in this order:

  1. Watermark first. If staked is in recovery (its value has fallen below its high-water mark), incoming value goes to closing that gap before anything else.
  2. Admin-fee split. The remainder splits between unstaked LPs and admin fees based on the staking ratio: more staking → more goes to veYB. The minimum admin share is 10%; the maximum is 100% (in the theoretical case where every LP stakes).

The admin-fee split is intentionally non-linear. At low staking (most LPs unstaked), admin takes a small cut and unstaked LPs keep the bulk of fees. At high staking, admin takes more, but unstaked LPs are also a smaller group, so per-LP returns stay competitive. The mix self-balances toward an equilibrium rather than tipping fully one way.

The split follows a square-root curve in the staking ratio (whitepaper Eq 24):

fa=1(1fmin)1s/Tf_a = 1 - (1 - f_{\min}) \cdot \sqrt{1 - s/T}

where ss is staked supply, TT is total supply, and fminf_{\min} is the 10% floor:

Staking ratio s/Ts/TAdmin fee faf_aUnstaked share
0%fminf_{\min} (0.10)90%
50%0.364\approx 0.36463.6%
90%0.715\approx 0.71528.5%
99%0.91\approx 0.919%
→ 100%→ 1→ 0% (but per-LP APR diverges)

The split is governance-mutable: the admin-fee curve can be revised via DAO vote.

Pool fee flow: 50% rebalancing, watermark recovery, then admin-fee split to veYBPool fee flow: 50% rebalancing, watermark recovery, then admin-fee split to veYB

Half of pool fees fund Cryptoswap rebalancing; the rest covers watermark recovery, then splits between unstaked LPs and veYB.

How LPs see fees

PositionWhere fees appearCadence
Unstaked yb-LPFundamental Value (PPS) risesContinuous
Staked yb-LPNot via PPS. Earns YB emissions (Token APR) insteadContinuous accrual; claim any time
veYB holderWeekly distribution in ybBTC tokens (yb-tBTC, yb-cbBTC, yb-WBTC, yb-WETH per market)Every Thursday 00:00 UTC, smoothed over 4 weeks

Why veYB distributions arrive as ybBTC tokens

When admin fees are collected, the protocol mints fresh yb-LP shares of the specific market and sends them to the FeeDistributor. So a veYB claim returns a bundle of market-specific tokens (one per market with pending fees), not YB itself.

You can hold each ybBTC token to keep earning Fundamental Value, unstake and withdraw the underlying BTC, or sell the token outright.

Worked example

A Cryptoswap pool earns $1,000/day in trading fees.

  • $500 stays in the pool as the rebalance reserve (Cryptoswap's internal cut).
  • $500 flows up to yb-LP holders.

If the staking ratio is 50% and the watermark is at parity, the admin-fee curve gives roughly 36% to veYB:

  • ~$182 → admin fees → FeeDistributor → veYB holders (Thursday claim, smoothed over 4 weeks).
  • ~$318 → the LP side, split pro-rata between staked and unstaked positions.

At the extremes (with the 10% minimum admin fee):

  • 0% staked: admin takes 50;unstakedLPskeep50; unstaked LPs keep 450.
  • 100% staked: admin takes the full $500.

Refueling: subsidising rebalancing

YieldBasis routes borrower interest back into the underlying Curve Cryptoswap pool as a donation. The contract path is LT.distribute_borrower_fees(): LT collects borrower fees from LEVAMM, computes a minimum LP amount, then calls Cryptoswap add_liquidity([amount, 0], min_amount, empty(address), donation=True).

The standard Cryptoswap rebalancing reserve is funded from pool trading fees (the 50% reserve mentioned above). YieldBasis donations add another reserve source. They do not mint LP tokens to a user; they increase the pool's donation buffer and release over the pool's configured donation window instead of being consumed in one block.

Net effect for an LP: borrower interest is recycled into the pool that LEVAMM depends on, helping fund Cryptoswap rebalancing that would otherwise rely only on pool fee reserves.

Interest-rate recycling: crvUSD borrow interest funds pool rebalancing, with fees split 50/50 between rebalancing and LPs