- Acceptable alternative names include Yearn Vaults, or informally referring to the product as vaults.
- When referring to a specific yVault, the preferred name is generally
token name + yVault
; this matches thename
field on the token contract. However, it is also acceptable to useyvToken + Vault
oryvToken
; the latter matchessymbol
in the contract.- Examples:
DAI yVault
,yvDAI Vault
, or simplyyvDAI
- Examples:
- For each yVault, name and symbol conventions are as follows:
- Name:
${token.symbol()} or override yVault
- Symbol:
yv${token.symbol()} or override
- Name:
- A
version
field is included in the token contract to correspond to the major yVault release version. - The predominant use case for name and symbol override is for LP tokens.
- Curve
- Name:
Curve + pool + Pool yVault
- Examples:
Curve sBTC Pool yVault
,Curve 3pool yVault
,Curve Y Pool yVault
- In this case,
pool
is taken directly from Curve.fi's UI, and we can adjust for capitalization as needed. In the case of the3pool
, the redundant "Pool" is removed.
- Examples:
- Symbol:
yvCurve-pool
- Examples:
yvCurve-sBTC
,yvCurve-3pool
,yvCurve-Y
- Examples:
- Note: In this methodology,
yvCurve-Y
refers to the vault previously known asyUSD
. Please see below for a more detailed discussion on proper use ofyUSD
.
- Name:
- Uniswap
- Name:
Uniswap + v${self.version()} + TOKEN-TOKEN + Pool yVault
- Examples:
Uniswap v2 USDT-WETH Pool yVault
,Uniswap v2 WBTC-WETH Pool yVault
- Examples:
- Symbol:
yvUni-TOKEN-TOKEN
- Examples:
yvUni-USDT-WETH
,yvUni-WBTC-WETH
- Examples:
- Note: Version was included for Uniswap LP tokens to help limit confusion between UNI-v2 LP tokens and upcoming UNI-v3 LP tokens.
- Name:
- Balancer
- Name:
Balancer + TOKEN-TOKEN + Pool yVault
- Examples:
Balancer USDT-WETH Pool yVault
,Balancer WBTC-WETH Pool yVault
- Examples:
- Symbol:
yvBal-TOKEN-TOKEN
- Examples:
yvBal-USDT-WETH
,yvBal-WBTC-WETH
- Examples:
- Note: Since Balancer allows more than two tokens per pool, append as many
TOKEN
as needed for the pool in question.
- Name:
- Curve
- While the term
yUSD
was used to refer to the Curve Y Pool yVault in the past, under our updated naming convention this vault token is nowyvCurve-Y
. However, usage ofyUSD
is still permissable when referring to the asset itself.- Example: Yearn pays monthly grants in
yUSD
.
- Example: Yearn pays monthly grants in
- In the future, if Yearn creates a new
yUSD
that is a collection of several yVault tokens (as has been previously discussed), then the currentyUSD
will simply be referred to asyvCurve-Y
and only the new token will beyUSD
.
These are Yearn's original yield-aware tokens, whose v2 and v3 contracts can be found here.
- These products should be referred to as yEarn Tokens,
underlying token name + Earn
, ory{token.symbol()}v${self.version()}
- Examples:
yDAIv2
,yDAI Earn
,yBUSDv3
,yBUSD Earn
- Examples:
- For deployed contracts that have not reached their final production version, a simple modification is included to designate these on the contract level as being test products.
- Name:
${token.symbol()} or override + Test + Product
- Symbol:
yt${token.symbol()} or override
- Examples:
DAI Test yVault
,ytDAI
- Name:
- Additionally, the v2 yVault contracts have upgradeable
name
andsymbol
fields. This means that should a test contract perform well, these fields can be updated to reflect that it is no longer a test contract, removing the need to deploy new contracts.
- Future products can follow a simple naming convention:
y + product
, where the product and any potential token names follow similar guidelines as above with yVaults. These can then be further modified as needed based on the product(s).- Examples:
ySwap
,yBorrow
,yTrade
- Examples: