Getting started: Yield DTF Design
Before deploying, it’s important to consider what goes into creating a successful Yield DTF. Each DTF will have its own ecosystem use cases, community, and unique go-to-market strategies.
Just because anyone can deploy and/or mint a DTF does not mean adoption is guaranteed. Consider the following points to help ensure success.
Key questions
- Collateral mix – Is the basket diverse and attractive?
- See our basket design guide for key considerations
- Find collateral plugins in the deployer UI or write your own
- Specify emergency backup assets in case of default
- Target yield – What are the yield targets (if any) for your DTF?
- Consider risk/reward trade-offs and the DTF's target market
- Check out DefiLlama for inspiration and market rates
- Fork this spreadsheet to model blended APY and revenue share
- Revenue‑split – What share goes to holders, RSR stakers, and other addresses?
- DTF holders: incentivize minting and holding as a savings vehicle
- RSR stakers: incentivize decentralized governance and overcollateralization
- Other addresses: fund marketing, liquidity, research, DAO management, etc.
- Branding – What is the name, ticker, and one-line marketing hook for your DTF?
- Use unique & memorable branding to convey the DTF's unique features
- Keep the ticker short & avoid overlap with other major assets
- Mandate – What will the DTF's mandate be?
- The mandate is a 256‑character compass for governance
- Specify the DTF's goals, constraints, and priorities
If you’re unsure how to answer any or all of these questions, the Reserve community is welcoming and willing to help! Jump in the Reserve Discord server here.
Pre-launch checklist
Before deployment, make sure each of the following have been specified:
- ✅ Deployment network (Ethereum / Base / Arbitrum)
- ✅ Primary & backup collateral baskets
- ✅ Revenue split (DTF holders / RSR stakers / others)
- ✅ Name, ticker, & mandate
- ✅ DTF Parameters (use presets or tweak advanced parameters)
Once each has been chosen, the Yield DTF is ready for launch.
Anyone can create an RToken
In a similar way as how anyone can create a new trading pair on Uniswap, anyone can permissionlessly create a new Reserve stablecoin (RToken) by interacting with Reserve Protocol’s smart contracts. The protocol applies a system of factory smart contracts that allows anyone to deploy their own smart contract instance.
Creating an RToken can be done either by interacting directly with the Reserve Protocol’s smart contracts or any user interface that gets built on top of it. The first user interface for these smart contracts will be released by ABC Labs the company that's leading protocol development. Besides the creation of RTokens, this user interface will also support exploring usage and stats related to RTokens, RToken minting & redeeming, and RSR staking.
Non-compatible ERC20 assets
The following types of ERC20s are not supported to be used directly in an RToken system. These tokens should be be wrapped into a compatible ERC20 token to be used within the protocol. A concrete example is the use of Static ATokens for Aave V2.
- Rebasing Tokens that return yields by increasing the balances of users
- Tokens that take a "fee" on transfer
- Tokens that do not expose the decimals() in their interface. Decimals should always be between 1 and 18.
- ERC777 tokens which could allow reentrancy attacks
- Tokens with multiple entry points (multiple addresses)
- Tokens with multiple entry points (multiple addresses)
- Tokens that do not adhere to the ERC20 standard in general
Advanced RToken parameters
When deploying an RToken, the deployer has the ability to configure many different advanced parameters. The following list goes into detail about what these parameters do and some of the factors the deployer should keep in mind to set them.
As many of these parameters concern the Protocol Operations, we advise reading through that section of the documentation first—as it will give the deployer the necessary context to fully understand all parameters.
Trading delay(s)
The trading delay defines how many seconds should pass after the basket has been changed before a trade can be opened.
A collateral asset can instantly default if one of the invariants of the underlying DeFi protocol breaks. If that would happen, and we would not apply a trading delay, the protocol would react instantly by opening an auction. This would give only auctionLength seconds for people to bid on the auction, making it very possible for the protocol to lose value due to slippage.
The trading delay parameter may only be needed in the early days - before we get to a point where there is a robust market of MEV searchers. We expect that this parameter can be set to zero later on (once a robust market of MEV searchers is established).