An ERC20 token that lets you accrue additional sETH LP tokens from automatic SNX rewards re-balancing.

We at DeFiZap are big fans of Synthetix project and are always looking for ways to improve the experience for this community.

For example, our sETH Unipool Zap helps users add liquidity to the sETH<>ETH Pool on Uniswap in one-transaction, using just one asset (ETH or sETH or other ERC20s). Inputs are split into appropriate proportions to enter the pool with to mint sETH LP tokens which represent your claim on liquidity provided + accrued exchange fees. Over 8,000 ETH has been added to the sETH pool using this Zap alone since it’s deployment less than 3 months ago.

As soon as the new Unipool contract for SNX rewards was announced, we added a visual interface to help users easily stake their sETH LPs in Unipool contract:

Image for post
Image for post

But we knew we had to do more. Today we are proud to propose something we already have available for testing — zUnipool tokens or simply zUNI.

zUNI tokens represent a claim on sETH LP stake in Unipool + accrued SNX incentives from sETH Unipool Staking Reward system, which are auto-rebalanced into additional sETH LPs and re-staked in Unipool contract.

zUNI users can convert their sETH LPs into zUNI tokens at any point, by calling stakeMyShare.

Likewise, they can redeem their zUNI for their original sETH LPs + additional sETH LPs (accrued from rebalancing SNX rewards into additional sETH LPs), by calling getMyStakeOut.

Motivation:

  • Before: Take snapshots of LP addresses and airdrop SNX rewards proportionally.
  • Now: Stake LP tokens in Unipool which proportionally accrue SNX rewards every second, are redeemable anytime to:
  • sETH LP tokens + accrued SNX rewards.
  • JUST SNX rewards.
  • JUST some sETH LP tokens.
  • Why zUNI?
  • Once staked in Unipool, sETH LP tokens cannot be moved — zUNI is an ERC20 which can be transferred freely and is always proportionally redeemable for an ever growing amount of sETH LPs.
  • Accrued SNX rewards are not being utilized — anytime zUNI is minted or redeemed, accrued SNX rewards for all zUNI holders will rebalance into sETH LPs which are re-staked to accrue SNX rewards at a faster rate.
  • Improve sETH<>ETH peg with every SNX rebalance as SNX is used to buy sETH from Uniswap in order to obtain necessary proportions to obtain LPs from adding sETH+ETH liquidity to the pool.

Additional information:

Contracts:

Testing on forked mainnet instructions.

The Contract that we have developed and in the process of testing requires to interact with (a) the Unipool contract that is giving out the rewards and (b) Uniswap, to be able to convert the underlying SNX into sETH LP tokens. We wanted to test these functionalities in “as close to as real mainnet” situations considering the quantum of SNX required for distribution {yes, that can be gamed on a test net} and (most importantly) the deep volume that exists on Uniswap {which is only on the mainnet (creating that on a testnet would be very cumbersome)}. Hence, our entire testing has been on a forked version of the mainnet.

Instructions:

Front-end [WIP]:

Some WIP drafts:

Image for post
Image for post
Image for post
Image for post

Next Steps:

  1. Review code, submit PRs with your feedback here: https://github.com/amateur-dev/Unipool.
  2. Main-net deployment.
  3. Are you interested in creating incentives to improve liquidity around your pool? Submit a request: https://defizap.typeform.com/to/UZSZg5
  4. Join the conversation

Please note that DeFiZap is an experimental project. DeFiZap is not providing any investment advisory or recommendation service. By using DeFiZap or its services, you agree that you are using the Services at your own risk and that you will not and do not hold DeFiZap or its team members liable should the services not perform as per your expectation. DeFiZap is not a licensed financial advisor under any law. Please consult your own independent investment advisor before making any investment decisions.

Written by

Co-founder @Zapper.fi: deploy & manage capital across multiple DeFi protocols from one simple interface.

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store