# Series Lifecycle

# Phase 1: Sponsoring

A series begins its existence when it is sponsored by a user (called series sponsor) with a function call (details below) to the Periphery (opens new window) contract.

The series sponsor will pick both the adapter and the specific maturity date (in accordance with the requirements (opens new window)) for the new series, and provide a deposit (a.k.a stake) to make sure there is an incentive to settle that series after it has reached maturity.

# Under The Hood (Sponsoring)

Call sponsorSeries(adapter, maturity)

Params

  • adapter → adapter address
  • maturity → UNIX timestamp

Prior to making the call, the sponsor would need to approve (opens new window) the Periphery contract to be able to pull a deposit (a.k.a stake) denominated in some token defined in the adapter settings as stake. This is to make sure there is an incentive to settle that series after it has reached maturity.

For example, if the adapter defines the stake address to be the WETH address, this means that all Series sponsored for that adapter will require the sponsor to deposit a stake in WETH. The amount of stake needed to sponsor a Series is also a property defined in the adapter and is called stakeSize.

# Phase 2: Live Series

While the series is live (has been sponsored but has not been settled), that series’ target asset can be deposited (details below) to issue Principal Tokens (PTs) and Yield Tokens (YTs) which can be combined to claim the escrowed target asset.

Whenever a target asset is used to issue new PTs and YTs, the issuer will pay the issuance fee to the contract, which will be held in the adapter contract until maturity.

During this portion of a series’ lifecycle, the series sponsor has no special privileges.

# Under The Hood (Live Series)

Calls(*)

  • issue(adapter, maturity)
  • collect(usr, adapter, maturity, uBalTransfer, to)
  • combine(adapter, maturity)

Params

# Phase 3: Settling

When a series reaches maturity it can be settled with a function call to the Divider contract.

First, a special window (a.k.a the sponsor window) will be open where only the series sponsor can settle the series (from just before maturity to just after maturity). This special window to settle before anyone else is the primary reward of being a series sponsor. If you sponsor a popular series that collects a lot of issuance fees, you get to keep those fees (opens new window) by settling the series during your sponsor window. After this window, however, the public settlement window starts meaning that anyone (including the sponsor, of course) will be able to settle the Series (making the settlement reward, essentially, MEV (opens new window)).

User will be able to issue, collect and combine while the Series is not deemed settled (note that reaching maturity does not imply that the Series is automatically considered settled). However, once the Series reaches the end of the sponsor window, collect and combine would revert until the series is settled.

# Under The Hood (Settling)

diagram

  1. Sponsor window - the grace period for series sponsor to settle
  2. Maturity - the moment that PT holders can perform redemption
  3. Settlement window - the period where settlement & claims to the settlement reward are public
  4. Backfill - Backfill the scale and settle a series if it's not settled publicly

Calls(*):

  • settleSeries(adapter, maturity)
  • backfillScale(adapter, maturity)

Params

  • adapter → address
  • maturity → UNIX timestamp

(*) for the exact calls available during each stage, see the section below

Initial parameters for Sense-v1 launch (opens new window)

# Deprecated Series

Sometimes you will see on the Sense Portal that a series is “Deprecated”. Deprecation is a different state from Maturity. If you see a deprecated series, it usually means the Sense core team has replaced a Sense-authored adapter on which the series is built, putting the old adapter into a “Deprecated” state, which prevents new issuance.

Usually this is because the Sense core team has found a way to create a significantly improved adapter — one example would be replacing the original cUSDC adapter and deprecating old series because we found a way to reduce gas costs on the adapter by more than 10x.

But what does deprecation mean for a user?

# What Deprecation Means for You

What can a user do with a position in a deprecated series? The short answer is that you can’t increase a position in a deprecated series, but you can still hold it for yield or exit it. Here is a more detailed breakdown.

# What you CAN do with a deprecated series

  • Hold PTs until maturity and redeem to get fixed yield
  • Buy and sell PTs
  • Sell YTs
  • Continue to hold YTs and collect yield until maturity
  • Redeem equal amounts of PTs and YTs
  • Withdraw liquidity from Space pools

# What you CANNOT do with a deprecated series

  • Issue new PTs and YTs
  • Add liquidity to Space pool
  • Buy YTs

# How do I know if a series is deprecated?

Deprecated series no longer appear on the Yields, Fixed Rates, or Pool tabs of the Sense Portal. If you have a position in a deprecated series “Deprecated” will appear in clear lettering on your position card in the “Portfolio” tab and in the “Your Positions” table.

Last Updated: 12/8/2022, 8:16:29 PM