# Use Cases

The following use cases are for the Yield Stripping application (aka stripping) built atop the Sense Core.

A stripping app permits a user to decompose a yield-bearing asset into its principal and yield components and package them behind two fixed term, maturing assets, a Principal Token (PT) and a Yield Token (YT). Principal Tokens redeem 1-for-1 for the yield-bearing asset’s underlying at maturity, whereas Yield Tokens deliver yield accrued on the underlying until maturity. Principal Tokens all bear the prefix sP and yield tokens all bear the prefix sY.

With the existence of PTs and YTs, users are able to safely earn/borrow at a fixed rate and trade against future yields, without the risk of liquidation and capital lock-ups.

# Users

The following users exist within Yield Stripping Applications:

  • Fixed Rate Earners
  • Yield Traders
  • Liquidity Providers
  • Series Actors
  • Borrowing on FiatDAO
  • Arbitrageurs

# Earning at a fixed rate

Users that value certainty and want to protect themselves from variation in yield will use Sense to earn a fixed APY on a principal investment.

# For who?

  • Investors who want to generate a steady source of income.
  • DAOs who want to reduce the risk of asset-liability mismatching.
  • DAOs who want to pay short term liabilities with future yield while keeping the same underlying exposure at some point in the future
  • Businesses or individuals with fixed liabilities they want to ensure their ability to cover

# How?

To earn a fixed yield on some principal investment, users buy PTs at a discount to underlying and redeem them 1:1 for underlying (USDC, DAI, ETH, etc) at maturity.

For example, what’s the fixed APY that can be earned with a Dec 1st, stETH PT if it’s purchased on October 1st?

  • Yield-bearing asset: wstETH
  • Underlying: stETH
  • PT redemption value: 1 stETH
  • PT purchase price on ~Oct 1st: 0.985 stETH
  • Time till maturity: ~60 days
  • Position at maturity: 1 stETH
  • Fixed APY if held until maturity: (1 / 0.985) ^ (365/60) - 1 ~= 9.6% APY in stETH

Because PTs trade freely on Sense Space, users can sell their PTs before maturity at their prevailing market price, which may be high/lower than the purchase price. Therefore, it’s recommended that PT holders hold their PTs until maturity to lock in their APY.

Users that forget to redeem their PTs at maturity will earn yield at the variable APY of the yield-bearing asset after maturity until the user redeems it from Sense.

# Where?

Mainnet: app.sense.finance/eth-mainnet/fixed

Testnet: testnet.sense.finance/eth-goerli/fixed

# Example Users (hypothetical):

  • Wang is earning 800% APY via sOHM (OlympusDAO (opens new window)) and wants to lock in a fixed yield in exchange for some yield upside, so Wang purchases 1 mo PTs on sOHM at a 122% fixed APY. The vault drops to 50% APY, but Wang is still earning 122% if he holds his PTs until maturity.
  • MakerDAO (opens new window) is managing a stablecoin treasury against fixed, DAI denominated liabilities and wants to reduce complexity in its financial planning. So, it purchases 3 mo cDAI PTs to earn future income in DAI and match a future Core Unit budget expense.
  • Vitalik is an ETH mega bull. He holds 4,200 ETH in one of his many wallets and is long both Ethereum and its native currency, ETH. Vitalik is looking to use his crypto holdings to cover his mortgage payments without reducing his baseline exposure to ETH, so he uses Sense to strip off and sell future ETH yield for DAI. He keeps the ETH PTs until their maturity and then redeems them to maintain his initial 4,200 ETH exposure.

# Trading Future Yields

Traders with an opinion on future market conditions will use Sense to take capital-efficient long/short bets on future yields.

# For who?

  • Yield Traders who predict an upcoming rise or fall in the APY of a yield-bearing asset.
  • DeFi Degens who want to trade the spread between the future implied APY (cost of YTs) and variable APY of yield-bearing assets (revenue from YTs).

# How?

To trade against future yields, users can buy PTs to go short the future implied APY and YTs to go long the future implied APY. Users buy / sell PTs and YTs through Sense Space (opens new window).

# Shorting future yields

For example, what’s the profit and APY of a Dec 1st cUSDC PT position that’s held across an implied APY drop from 9.6% to 3% within one month?

Buy on Oct 1st

  • Implied APY: 9.6%
  • Time till maturity: ~60 days
  • PT price: 1 / ( 1 + 0.096) ^ (60 days / 365) = 0.985 USDC

Sell on Nov 1st

  • Implied APY: 3%
  • Time till maturity: ~30 days
  • PT price: 1 / ( 1 + 0.03) ^ (30 days / 365) = 0.997 USDC

Profit = ( PT price on Nov 1st / PT price on Oct 1st ) - 1 = 0.995 / 0.985 - 1 = 1.2%

If the implied APY does not drop as anticipated, users can always hold their PT until maturity to lock in a fixed yield. But, if implied APYs drop, the PT holder can sell and realize a profit that is higher in annualized terms than holding to maturity would have been.

# Longing future yields

For example, what’s the profit of a Dec 1st cUSDC YT position that’s bought and sold when the implied APY was 3% and 9.6%, respectively, and one month apart?

We assume that cUSDC earns 5% from Oct 1st to Nov 1st, so the YT position collects all past yield in the sale on Nov 1st. Sense permits collection of past yield, since YTs follow the Collect YT design. (opens new window)

Buy on Oct 1st

  • Implied APY: 3%
  • Time till maturity: ~60 days
  • PT price: 1 / ( 1 + 0.03) ^ (60 days / 365) = 0.995 USDC
  • YT price = 1 - PT Price = 1 - 0.995 = 0.005 USDC

Sell on Nov 1st

  • Implied APY: 9.6%
  • Time till maturity: ~30 days
  • PT price: 1 / ( 1 + 0.096) ^ (30 days / 365) = 0.992 USDC
  • YT price = 1 - PT Price = 1 - 0.992 = 0.008 USDC

Yield accrued to 1 Claim = (1 + 0.03) ^ (30 / 365) - 1 = 0.002 USDC

Profit = (Claim price on Nov 1st + Accrued yield) / (Claim price on Oct 1st) - 1 = (0.008 + 0.002) / 0.005 - 1 = 100% or 2x your initial investment.

Once maturity is reached, any remaining past yield can be collected, and the YTs become worthless.

# Where?

Mainnet: app.sense.finance/eth-mainnet/rates

Testnet: testnet.sense.finance/eth-goerli/rates

# Example Users (hypothetical):

  • Tiago, a yield trader, anticipates a fall in airdrop emissions of the Curve 3crv pool, so he purchases the one month Yearn 3crv Vault PTs to gain upside to an APY fall from reduced airdrop emissions.
  • Isabella, a yield trader, predicts a rise in market volatility in the coming quarter, so she purchases the three month xSushi YTs with a one month tenor to gain exposure to a rise in SushiSwap protocol revenue and dividend APY.
  • Mike, a DeFi Degen, expects the spread between the implied APY of a 6 mo wstETH YT and the actual variable APY of wstETH will exist long enough to pay off the cost of a YT position, so he purchases a 6 mo wstETH YT and begins collecting past yield.

# Providing liquidity

Liquidity Providers (LPs) looking to earn income from the on-chain fixed-income market will deposit liquidity on Sense Space and earn a competitive variable yield on their principal investment.

# For who?

  • Yield optimizers who are looking to earn passive extra yield atop their existing yield-bearing asset.
  • DAOs who want to enable fixed rates and future yield trading atop their protocol’s yield-bearing assets.

# How?

LPs can provide liquidity to an active Sense Space AMM and earn a composite yield, composed of the following sources:

  1. Yield from PTs
  2. Yield from yield-bearing quote asset
  3. Yield from trading fees

Users receive Space LP shares that represent a share of liquidity in a given pool.

Because Space is composed of PTs, LP shares have an implicit maturity, after which the yield from #1 PTs and #3 trading fees will drop.

After maturity, the PT redemption price increases as yield accrues at the variable rate, and arbitragers will eventually swap out PTs until the pool is fully composed of the yield-bearing quote asset.

At this point, active LPs have the choice to remove or migrate liquidity to another active series. Passive LPs who supplied to a Rolling Liqidity Vault (RLV) (opens new window), on the other hand, enjoy automatic migration when series mature.

A LP return analysis is detailed here (opens new window).

# Where?

Mainnet: app.sense.finance/eth-mainnet/pool

Testnet: testnet.sense.finance/eth-mainnet/pool

# Example Users (hypothetical):

  • Alice owns cDAI and would like to earn extra yield atop her cDAI variable APY, so Alice provides liquidity in the 2 mo cDAI Space Pool.
  • TribeDAO wants to enable fixed rates and future yield trading atop fFEI of the TribeDAO Fuse Pool for community use, so it provides liquidity in the 1 mo, 2 mo, and 3 mo fFEI Space pools.

# Hedge Borrowing Costs

Borrowers of other lending facilities with algorithmic interest rates (Compound, Aave, etc) wanting a more predictable cost to their loan (i.e. get a fixed rate) will buy Sense YTs to reduce interest rate volatility on their debt's interest rate.

# For who?

  • DAOs/retail users that want to match future assets (income) with future liabilities (borrowing interest payments)
  • Traders that want to lock in their borrowing cost and protect their profits in a trading strategy

# How?

Borrowers of Compound, Aave, and other lending facilities with algorithmic supply & borrow rates can purchase YTs atop the lending market of their debt's denomination. With YTs, borrowers can hedge upward movements in their borrow interest rate because they're holding an instrument who's value is intrinsically linked with the borrowing cost.

In other words, as borrowing rates increase, supply rates increase, and YTs therefore claim higher cash flows, thereby giving the borrower a lower effective borrowing cost when factoring in the cost of the YTs.

NOTE: YTs cannot hedge the absolute spread between the supply & borrow rates, but they'll still decrease the volatility of the variable borrowing rate.

Here's a spreadsheet (opens new window) that walks through the effective fixed rate calculation for Compound, Gearbox, etc.

# Where?

Mainnet: https://app.sense.finance/eth-mainnet/rates (opens new window)

Testnet: https://app.sense.finance/eth-goerli/rates (opens new window)

# Example Users (hypothetical):

  • LidoDAO currently has an outstanding variable rate USDC loan on AaveV3. Market volatility has increased, and they're worried that their avg borrowing costs will exceed the upcoming cash flows they're receiving in one month. So, to minimize risk of asset-liability mismatch, they buy 1 month aUSDC YTs to lock in an effective fixed rate on their borrowing position.
  • Rico trading group identifies a high-yielding DAI farm. To protect their profit potential, they decide to use Compound & Sense to borrow DAI and deposit into the DAI farm. They lock up ETH collateral on Compound, draw DAI debt against it, use part of their loan to buy 3 month cDAI YTs, and deposit the rest into the DAI farm.

# Managing Series

Protocol maintainers (aka Series Actors) looking to support the Sense Protocol and receive rewards for their contributions will pay gas to initialize and settle a series. This section assumes familiarity of Series Lifecycle and settlement rewards.

# For who?

  • External keepers who want to leverage their bot infrastructure to earn another income stream.
  • Traders who expect demand for a particular series or upward price volatility in the series’ underlying token (e.g. ETH of a 2 mo wstETH series)
  • Builders/DAOs who want to kick-start the operations of their adapter.

# How?

Series Actors run bots or manually call public functions to maintain the adapters’ term structures.

# Sponsoring a Series

Series Sponsors (aka sponsors) will run a custom script (e.g. OZ Defender (opens new window) Autotask) and submit two transactions, at separate times, that:

  1. Initialize a series, build the PT & YT token contracts, and build a Space pool.
  2. Settle a series within the sponsor’s grace period

If a sponsor fails to call settlement within their grace period, then the settlement function becomes public.

# Settling a Series

As the next line of defense, Series Settlers (aka settlers) will run a custom script (e.g. OZ Defender Autotask) and submit one transaction that will settle a series at or around maturity.

Both the sponsor and settler are incentivized by the settlement reward. The current settlement reward fee schedule for active verified adapters is found here (opens new window).

# Where?

Although the Sense Portal does not support series management, we’ve open-sourced several demo scripts (opens new window) for reference and use. Furthermore, series actors are free to integrate directly with the contracts.

# Example Users (hypothetical):

  • Jump Trading expects that the ETH2.0 APY will have higher volatility after The Merge in three months, so they sponsor the 3 mo wstETH series to get exposure to its TVL.
  • Barnbridge has built and deployed a ETH-DAI UniV2 adapter with 3 mo, 6 mo, and 12 mo maturities. They want to deploy all adapters at launch, so they sponsor the first three series of the adapter.

# Borrowing on FiatDAO

Users with Sense PTs looking to access liquidity & amplify their position will use FiatDAO (opens new window) to mint $FIAT against PT collateral.

# For who?

  • Fixed rate earners who are looking to amplify their fixed rate position

# How?

Link to twitter thread announcing FiatDAO integration (opens new window)

# Where?

FiatDAO App (opens new window) or beta app (opens new window)

# Example Users (hypothetical):

  • Freddie, a fixed rate lender, wants to amplify the return on his 3 mo wstETH PT position, so he locks up his PTs in FiatDAO, mints FIAT, and buys more PTs to lever long the spread between the PT fixed rate and the FiatDAO borrow rate.

# Arbitrage

Arbitrageurs looking to earn risk-free profit through market inefficiencies will publish atomic transactions that perform PT / YT Arbitrage.

Note: PT / YT arbitrage will not exist at mainnet launch because a unique YT market doesn’t exist as a part of Sense Space (opens new window), but we mention it in case a secondary/tertiary YT market is created.

# For Who?

  • Arbitrageurs that have bot infrastructure, want to earn income, and increase market efficiency across the onchain fixed income markets.

# How?

Arbitrageurs will publish atomic arbitrage trades when the aggregate value of PTs and YTs deviates from the valuation peg. An opportunity exists when there’s a PT/YT market premium or discount.

# Market Premium

Whenever the aggregate PT + YT valuation exceeds the price of one underlying for Collect YTs (opens new window) (and 1 Target for Draft YTs), arbitrageurs will perform the following delta-neutral arbitrage (using Collect YTs as an example):

  1. Acquire Target
  2. Issue PTs & YTs via Sense Core
  3. Sell PTs & YTs on their respective markets
  4. Exit with more Target

# Market Discount

Whenever the aggregate PT + YT valuation trades at a discount to the price of one underlying for Collect YTs (and 1 Target for Draft YTs), arbitrageurs will perform the following delta-neutral arbitrage (using Collect YTs as an example):

  1. Acquire Target
  2. Buy PTs & YTs from their respective markets
  3. Combine PTs & YTs (aka Early Redemption) via Sense Core
  4. Exit with more Target

The existence and size of the arbitrage profit is a function of many factors, including:

  • PT & YT price
  • Exchange slippage
  • Gas costs with issuance/early redemption & exchange swaps
  • Exchange trading fees

# Where?

We expect that most arbitrageurs will integrate directly with the contracts.

# Example Users (hypothetical):

  • Wintermute, a market maker and DeFi arbitrageur, see the 3 mo aDai PT market trading at 0.97 DAI and a 3 mo aDai YT market (of the same adapter) trading at 0.05 DAI, so they perform a Market Premium PT/YT arbitrage to profit from the (0.97 + 0.05 - 1 = ) 0.02 DAI discrepancy. Note that transaction / gas costs are assumed to be zero.
Last Updated: 1/9/2023, 9:39:28 PM