Introducing Bao Finance

An innovative, fairly distributed, second layer for synthetic assets built on top of Uniswap, SushiSwap and Balancer.

BaoMan
10 min readDec 7, 2020

Contract: https://etherscan.io/address/0x374cb8c27130e2c9e04f44303f3c8351b9de61c1

Buy Bao here: https://app.uniswap.org/#/swap?inputCurrency=0x374cb8c27130e2c9e04f44303f3c8351b9de61c1&outputCurrency=ETH

Pair Info: https://info.uniswap.org/pair/0x9973bb0fe5f8df5de730776df09e946c74254fb3

📖 Our Origin:

The global market for existing assets sits at a large $5.5T but has limited access and can only be built upon existing assets.

But imagine a world where anyone can trade any asset they can imagine.

With synthetic assets you can trade anything from a synthetic Chinese Yuan, a synthetic S&P500 or any number of newly created assets.

Perhaps you want to create an asset tied to the value of the United States Unemployment Report, or the number of Big Macs that McDonald’s sells each year in Peru.

This is all possible when creating synthetic assets.

Challenges with Existing Synthetics:

Today, some synthetic protocols already exist such as Synthetix and UMA. While they are early stage, they have amassed a marketcap of over >$1B combined showing the size of the addressable market.

We think both Synthetix and UMA are promising technologies in this space that have their place, we just have philosophical differences on how to best solve the challenges of synthetic assets.

Each of these existing protocols suffer from at least a few of these key risks:

  1. They require the use of their asset to underpin the issuance of the synthetic. This means the synthetics are overly tied in risk to a single asset.
  2. They are an adversarial money lock-up. In order to put your money into a synthetic asset, you cannot be using it elsewhere.
  3. In some cases (UMA) they also require the use of custom oracles that involve human arbitration.

In the grand scheme, neither Synthetic or UMA have issued that many synthetic assets.

If they can reach a combined marketcap of >$1b with these challenges, imagine what we can do by trying a new approach?

💻 Designing Our Protocol:

Bao will create what we call a “Second-Layer” protocol.

This is because rather than design Bao to be deposited into directly, we’ll build out our features to work in existing systems.

Users will use assets from Uniswap and soon SushiSwap and Balancer to take part in the Bao ecosystem.

We view ourselves as the first L2 DeFi, aiming to add our protocol’s features on-top of existing infrastructure.

Within Bao, users will be able to create synthetic assets by using their LP tokens from other protocols:

In this example a user deposits their wBTC and ETH into a Uniswap pool and receives the wBTC/ETH UNIV2-LP token in return.

They use that wBTC/ETH UNIV2-LP token as collateral in Bao.Finance.

When they deposit collateral into Bao.Finance they earn Bao tokens, which are used as a portion of collateral (10%).

They can then generate synthetic assets up to their collateral limit by burning a small fee in Bao tokens.

In this model the user can:

  • Earn fees from being an LP in Uniswap/SushiSwap/Balancer.
  • Earn yield rewards from being an LP in Uniswap/SushiSwap/Balancer pools.
  • Earn yield rewards in $Bao by staking their LP tokens as collateral.
  • And, issue synthetic assets to invest in other assets with that same money.

These creates powerful opportunities for users to do things like:

  • Open a leveraged position on any DeFi asset.
  • Create robust synthetic assets for any type of market.
  • Hold a USDb stablecoin that still generates yield from their underlying collateral.

💸 Token Distribution:

To begin prior to the launch of the ability to issue synthetic assets, $Bao will use the yield distribution model created by YAM and Sushiswap to distribute $Bao tokens.

Starting with block 11420726 (https://etherscan.io/block/countdown/11420726) you will be able to stake Uniswap V2-LP tokens on https://bao.finance

The staking covers over 200 pools from diverse assets, covering both old and new projects with large and small marketcaps, hopefully allowing one of the most broad distributions in the history of yield farming. The specific weighting of each pool can be found here: https://docs.bao.finance/pool-weights

Each block on the Ethereum blockchain will distribute a base of 1000 $Bao tokens across the pools following a proportional weighted distribution.

During the first two year period, there will also be a weekly rewards modifier to incentivize early participation and combat reward fatigue and inflation. The specific model for each week can be found here: https://docs.bao.finance/distribution-tokenomics

This distribution will continue overtime until there are 1T $Bao tokens issued:

$Bao’s token issuance is high as we expect rapid burning and locking to take place when the synthetic asset component of Bao’s ecosystem launches.

There is also a manual mint issuance of 74b tokens which rounds out the final number to 1T.

This number represents less than 28% of the first week of token issuance (260B) and will be used over the first 6 months as rewards and payments for liquidity providers, exchange listings, audits, user/community rewards, and bounties for key community sites and documentation.

The first 1B allocation will be added as liquidity on Uniswap to start, allowing users to acquire $Bao at the start so they can begin using the $Bao/ETH pool right at the start of yield farming, and to take part in any governance votes the community needs before the start of the yield farming phase.

A max of 3.25b of that can be allocated each week in order to prevent it from over diluting the farming rewards.

When those rewards are paid to partners for liquidity, listings, audits or community rewards, they will be streamed out over time either in manual quarterly chunks or via Sablier.Finance — we expect that the full 72B tokens when allocated will not reach circulation before the end of the 2nd year.

🔐 Locking Function:

During the yield farming period when users earn their $Bao and harvest it, they’ll instantly receive 5% of the $Bao they’ve accumulated.

The remaining 95% of their $Bao will be locked to their address. That user will own the $Bao in the token contract, but will only be able to have it as a usable balance once it unlocks.

The 95% balance will unlock in a linear fashion over a 3 year time period, after the first year.

This means 53 weeks after the launch of Bao the user will receive a daily grant of $Bao tokens.

An oraclized widget on the Bao.finance site will allow the user to see their locked Bao, know its *current* worth in USD, and get estimates on the daily and annual unlock amounts.

This long term lockup insures that incentives are aligned with community members long-term and prevents the risk of being dumped on or optimizing for short-term gain.

The founder’s allocation is locked on the same 95% 3-year vest schedule as the community. This prevents the kind of disaster that SushiSwap had.

💰 The Treasury:

The Bao Treasury consists of a few components:

  • Fees collected
  • Dev/Bounty Fund (6% of issuance)
  • The Liquidity Provider Fund (4% of issuance)
  • The Community Fund (6% of issuance)

Other than the fees collected, the funds are also locked and distributed in a linear fashion over the 3 year period.

The treasury also backs the token, while users can vote to distribute the treasury to token holders, in the event the project shuts down or is unsuccessful the treasury would be distributed to the Bao holders. Creating a safe backstop for the project value, where the worst case scenario for $Bao is being the best broad index exposure to DeFi.

For the fees Bao.Finance system carries some basic deposit/withdraw fees, as well as behavioral penalties.

In V1:

Users will pay a 0.75% deposit fee on their LP token deposits, which will ultimately be offset by the upside APY that the user earns.

The user also has a withdrawal fee based on how long they’ve been in the pools. They are divided into two portions “Standard Fees”, “Penalty Fees” and “Slashing Penalty”

The standard fees are:

  • 0.5% for withdrawing after 5 days but before 2 weeks.
  • 0.25% for withdrawing after 2 weeks but before 4 weeks.
  • 0.1% for withdrawing after 4 weeks.

The penalty fees are:

  • 1% fee if a user withdraws under 5 days
  • 2% fee if a user withdraws under 3 days.
  • 4% fee if a user withdraws under 1 day.
  • 8% fee if a user withdraws under 1 hour.

The slashing penalty is:

  • 25% slashing fee if the user withdraws within the same block. This penalty is designed to prevent any attempt at flash loan exploits and will not ever be able to impact normal users.

These fees collected allow the treasury to be diverse and in multiple assets and force users to align with longer-term incentives. Users who only want to use the protocol short term are deterred and forced to decide on the fee trade-offs.

V2:

In our V2 when synthetic asset issuance is launched, the treasury acts as an insurance fund against liquidations and backing the assets.

By having the fees collected in multiple types of token, we’ve created a system that is secure against flash crashes.

For example, if in the Synthetix ecosystem SNX was to have a devastating market crash, it would lead to liquidations and asset volatility across all of their assets.

With our treasury/insurance fund being broadly held across multiple assets, and user collateral being held across multiple assets, one-type of collateral can entirely fail and the ecosystem can still be secure and stable.

For V2, users will pay a burn fee in Bao when they issue or redeem synthetic assets, on top of the regular fees for depositing or withdrawing collateral.

V2 will also offer a DEX exchange for trading synthetic assets which will carry a standard trading fee model. These fees will be added to the treasury.

💴 Additional Rewards:

The Bao.finance site also links to various exchanges via referral links for users to acquire those tokens.

When signing up with these links, any trades a user performs on these exchanges will create an affiliate bonus paid out to Bao.Finance — each month we will add 100% of these collected fees to the treasury that backs the $Bao token.

Even if users already have an account with that exchange, they can create a new one via our affiliate links to drive additional revenue to Bao which essential acts as a rebate for the users indirectly.

💵 Founders Reward:

The founder also has a 4% founders fund that they earn paid in $Bao. This fund has 95% of fees locked and vested over the same 3-year linear model as user fees.

📊 User Voting & Governance:

The entire system for $Bao is built in a modular fashion where nearly all numbers in the systems are variables.

This allows for a significant portion of the protocol to be modified by the users at anytime.

We view that the protocol, funds and system are owned by the community and not by the Bao team.

To start, BaoMan (the founder) will be appointed as the first administrator of the protocol, responsible for its maintenance and care. He will enact the changes that users vote on and manage the governance process.

However, through the governance process the users can decide almost anything such as:

  • Changing all the reward rates.
  • Changing or removing fees.
  • Changing or removing founder rewards.
  • Changing fee rates or timelines.
  • Changing supported pools and allocations.
  • Removing BaoMan and electing new administrators.
  • Deciding which products to build and prioritize.

In theory, once $Bao begins to circulate, users could vote to remove BaoMan, not create a synthetic protocol and use the treasury for other purposes under new leadership.

The specific inner workings of the governance model are outlined here: https://docs.bao.finance/governance-mandates

🔪 The Chopping Block:

Each week, new pools are added to “The Chopping Block” — these are pools that are under performing based on their TLV or the percent of Uniswap LP tokens locked in that pool.

The pools will be warned each Sunday that they are on the chopping block, and will have until Tuesday to encourage their community to get them off the chopping block by increasing their participation.

As of Wednesday, The Chopping Block will be sealed for that week.

The pools will be put up for a vote, the top 50% of pools who get voted to be saved will remain, the other 50% of pools will have their reward weight set to 0 and will be removed from the Bao.finance yield farming.

This means that as pools get removed, the rewards earned for pools that remain will increase. By increasing these rewards each week, it offsets some of the declining reward rates.

This will continue until there is a certain amount of remaining pools or the V2 is fully launched.

More details on the chopping block can be found here: https://docs.bao.finance/chopping-block

🎉 How to Join In:

You can find the app at https://www.bao.finance and begin staking your tokens for the start of distributions at block 11,420,726

You can also join our Discord at: https://discord.gg/BW3P62vJXT

And follow @TheBaoMan on Twitter for updates.

Finally you can read the docs at https://docs.bao.finance/

Note: Bao.finance is a high-risk project in Alpha. It is community governed and unaudited. It also includes a fee structure. If you have any concerns about long-term participation, technical or economic risk, or fees, then you shouldn’t partake in Bao.

Please read the docs and consume $Bao responsibly :)

~BaoMan

--

--