Bao V2 — The Journey

BaoMan
6 min readJan 16, 2021

Recently Bao forged a partnership with SushiSwap to build our synthetic issuance infrastructure using solely Sushi LP tokens.

Ultimately, this means the need to make changes to either Bao’s contract that may be challenging, or to migrate to a new version of Bao.

After consulting with the community, I’ve decided to pursue a hybrid plan that will allow users to choose between remaining in the current contract or migrating to the new one.

Given this migration we’re also going to take this opportunity to introduce our L2 plan — which is sooner than I had expected, but it makes sense to do it now rather than to migrate again.

(Important Note: This is only a proposed plan, the community will hold a governance vote on it starting later this week to decide to accept or reject the plan)

Plan Summary/TL;DR:

  • We are going to have 2 Bao Farmer contracts, one on Ethereum mainnet and on the xDAI network (an Ethereum L2 sidechain).
  • The Bao Farmer contract on Ethereum mainnet will keep its current pools (excluding broken ones which will be removed) and have its base reward reduced from 1000 Bao per block -> 250.
  • The Bao token contract will always live on the main Ethereum chain
  • The Bao Farmer contract on xDAI will use SushiSwap LP tokens and have a base rewards set at 750 Bao per block.
  • The new xDAI chain contract will issue $BAO.CX (Bao Coupon XDAI) which will be redeemable 1:1 for Bao tokens on the main Ethereum chain.
  • Users will be able to pick to farm in either contract. Using the xDAI chain is simple and requires them to move their tokens via a bridge contract.
  • We will also launch “Bao Baskets” on xDAI — this will be Bao’s modified fork of Balancer, which will be used to create what we call “soft synthetics” (more commonly known as indexes) this balancing product needs to exist for us to build full synthetics on the xDAI chain in the future.
  • To not compete with Sushi, Bao Baskets will only issue synthetic LP tokens with multiple (3+) assets rather than things like just BAO/ETH
  • All the fees gathered from Bao Baskets will be used in an upcoming stake/buy/burn model adding value to the Bao ecosystem.

xDAI V2 (Detailed):

We’ll be deploying a version of the Bao Farmer contract on the xDAI chain.

If you are unfamiliar with xDAI don’t worry, we won’t be going live until we have detailed tutorials, but we chose xDAI because it is the easiest L2 to use. Using xDAI is just like using an Ethereum test network, you’ll be able to switch your MetaMask to the xDAI network and use it right away with no additional tools.

Rather than using Ethereum as the payment currency for gas xDAI’s network uses $xDAI which is a stablecoin that is 1:1 tradeable for $DAI.

While the fees on Ethereum’s mainnet for using Bao’s farmer contract range from $15 — $40 per action, on xDAI we expect those same costs to be roughly $0.1– $0.25 per action, saving you A LOT of gas.

xDAI also allows you to use the same wallet address as the public/private key pairs are the same on both chains.

xDAI has a tool called “OmniBridge” that allows any token to be migrated automatically to the xDAI chain. You simply send your tokens to the OmniBridge on the Ethereum network and the equivalent wrapped token is sent to your wallet on the xDAI chain.

Since wrapped tokens have different addresses on xDAI, the Bao team (aka Baoman…) will migrate a batch of test LP tokens to record the addresses of each new pair in detailed documentation so users can reference it if there are any issues.

The new xDAI Bao Farmer will use the wrapped SushiSwap LP tokens and earn users $BAO.CX (Bao Coupon on xDAI) this token is always worth 1 Bao. When users use the OmniBridge to send BAO.CX back to the Ethereum mainnet we’ll have a contract that allows you to trade BAO.CX<>BAO at a 1:1 ratio.

Our current Bao Farmer contract does 1000 Bao base per block, we’ll be adjusting that down to 250 Bao base per block, and the new xDAI Bao Farmer contract will have 750 Bao base per block.

This means that users who:

  • Do not want to migrate to xDAI
  • Do not want to migrate to Sushi LP
  • Want to wait in current Bao pools to reduce their fee
  • Do not want to spend the gas fee to withdraw/migrate

Those users can still wait in the regular Bao Farmer contract and continue to get Bao rewards, but just at a reduced rate.

Whereas users who migrate to the new pools on xDAI will be earning at a higher rate.

xDAI V2 — Timeline:

Right now, I am still working through some testing of xDAI here is where we are at:

  • Ensure xDAI has simple UI and supports metamask ✔️
  • Check that xDAI’s EVM compiles BaoMasterFarmer without issue ✔️
  • Check that xDAI gas fees are lower ✔️
  • Check transfers can be done by AMB bridge ✔️
  • Check that all LP tokens can be easily transferred by OmniBridge UI (not just contract) ❔
  • Check that front-end EtherJS/Web3 libraries can be modified to work with xDAI ❔
  • Verify final frontend integration ❔

Given this, I expect it will be roughly 1 more month of testing for us to be ready, and then 1–2 weeks to deploy. So I would ideally like to deploy us to the xDAI chain by roughly the end of February, but we may be able to do sooner if everything runs smoothly.

Bao Baskets:

Bao feels most at home in a good steam basket, and that’s why we’re launching “Bao Baskets”

As you know, an important part of being able to deliver our balance automated options and synthetics (baos) requires us to have balancer pools.

Since we are partnering with Sushi and migrating to the xDAI chain for our main tooling we can’t use existing Balancer pools and need to create our own.

We’ll be deploying a modified version of the Balancer bronze stage code on xDAI to power these baskets.

Baskets primary goal is to provide us balancer tooling for future synthetics, but we’ll also use this opportunity to launch “Soft Synthetic” which is basically index pools. We’ll configure pools of assets where users are able to get balanced exposure to a basket of assets at the same time by holding one LP token, and we’ll incentivize these with farming in the xDAI Bao Master Farmer contract.

In terms of timeline for the Bao Baskets, my top priority is going to be the main xDAI migration, so it is likely that we will still be 1 or more months to launch that *after* the xDAI migration, so sometime in Spring. But, it could be earlier if the testing goes very smoothly.

The fees collected from the Bao Baskets will be in our upcoming stake/buy/burn incentive model that combines the xSushi model with a buy and burn model of value capture.

This will also incentivize our users to consider using the xDAI chain and Bao Basket exchange system for their more complicated trades.

We also expect that the Bao Baskets will create a strong arbitrage market between assets on xDAI and on the main Ethereum chain that should increase volume and liquidity. We’ll be exploring potential partnerships with automated trade vendors like Hummingbird to see if we can incentivize support for Bao Baskets on xDAI.

FAQ:

Do I have to migrate?
No you can stay in the current Bao farmer pool as long as you want, it will just get a reduced reward.

What if I don’t know how to use xDAI?
Don’t worry, before the migration goes live we’ll provide detailed tutorials on how to migrate and how to use xDAI. However, xDAI was chosen as it is the easiest L2 to use with the best user interfaces. You can easily switch your MetaMask to the xDAI network at anytime and use it just like you would use Ethereum.

Is xDAI safe?
Yes xDAI is a decentralized L2 Ethereum sidechain that is used by many popular Ethereum products.

When Migration?
Before the end of February but possibly sooner depending on community voting and testing.

Is this automated?
No there is not any way for us to automate a crosschain migration. That’s why users will also have the option to stay in the main Ethereum network pools as long as they want.

Is Bao leaving Ethereum?
No, we’re just using a sidechain for the expensive parts of the product. The main Bao token contract will always live on Ethereum.

I have more questions!
Drop by the discord (https://discord.gg/BW3P62vJXT) and we’ll get those answered!

--

--