Rebasing

What is Rebasing?

Most of us are familiar with how Bitcoin's supply works. Only 21 million Bitcoins will ever exist. Every four years, the amount of Bitcoins created every 10 minutes will halve. Like most inflationary cryptocurrencies, the supply of Bitcoin consolidates into the hands of a select few people.

Unlike Bitcoin, SLCC is a "price elastic token" which means that like Ampleforth, Based, YAM and other similar tokens, the total supply of SLCC for everyone is changed every day in order to meet a target value of 1 $SLCC = 1 $USDC. The adjustments in supply are called "Rebases" and the rate at which the supply is changed is called the delta.

As the graph above shows, if the price difference between SLCC and USDC exceeds 5% (in either direction) we have an expansion or contraction in the supply (a rebase).

Even though the supply of the token changes, the percentage you own of the supply stays fixed. If you had 1% of the supply before the rebase, you'll still own 1% after the rebase. You might have more or less tokens depending on which way the rebase was applied.


What are the different tokens in the Slips League Championship?

Before you get lost in a swamp of terminology let's just clear up the different tokens that we use. We just spoke about the SLCC. In total there are three types of tokens in Slips:

Name Type Description
SLCC ERC-777 The Slips League Championship Credit ($SLCC) is the payment token used in the league. Player salaries, prize pools, team sales and every other transaction in the league takes place using SLCC and we rebase the token to maintain a steady peg with $USDC.
The Slips League Championship Credit ($SLCC) is the payment token used in the league. Player salaries, prize pools, team sales and every other transaction in the league takes place using SLCC and we rebase the token to maintain a steady peg with $USDC.
SLOC Governance The Slips League Operation Coupon ($SLOC) is a governance token which is used to vote on decisions that affect the operations of the league. It also gives holders preferential access to players in the league draft.
SLOC Governance
The Slips League Operation Coupon ($SLOC) is a governance token which is used to vote on decisions that affect the operations of the league. It also gives holders preferential access to players in the league draft.
Player Tokens NFT ERC-721 These tokens are tradeable but unlike SLCC, each token non-fungible and deployed to represent a player in the underlying league. The token encapsulates the player's seasonal records and contracts.
These tokens are tradeable but unlike SLCC, each token non-fungible and deployed to represent a player in the underlying league. The token encapsulates the player's seasonal records and contracts.

Rebasing only affects the SLCC token. We can now continue discussing how rebasement works in Slips.


Why do we need to rebase the SLCC token? What advantage does pegging to the dollar have?

We discussed Bitcoin earlier which has a fixed supply. If more people want Bitcoin, the only way to cater for the demand is for the price to go up. That's why Bitcoin has volatile price changes.

Since our target market is not going to have CoinMarketCap or Uniswap price charts on their screens 24/7 and because their main concern is working out what their earnings or payments are in dollars, we decided that from a design point of view pegging to the dollar was the best approach.

Our players don't need to worry two different exhange rates (SLCC to BTC/ETH) and (BTC/ETH to their local currency). They also do not need to worry about their salaries fluctuating from week to week.

Inflationary cryptocurrencies like Bitcoin also consolidate the supply of the currency into the hands of the early adopters. It's not so much disrupting the system as transfering power from one set of privileged few to another.


What are the technical details of the rebasing mechanism in Slips and compared to other projects?

Let's take a look at a stripped down version of Ampleforth's rebase method, which is the base for the mechanism in SLCC:

  	
  /**
   * @dev Notifies Fragments contract about a new rebase cycle.
   * @param supplyDelta The number of new fragment tokens to add into circulation via expansion.
   * @return The total number of fragments after the supply adjustment.
   */
  function rebase(uint256 epoch, int256 supplyDelta)
      external
      onlyMonetaryPolicy
      returns (uint256)
  {
      if (supplyDelta == 0) {
          emit LogRebase(epoch, _totalSupply);
          return _totalSupply;
      }

      if (supplyDelta < 0) {
          _totalSupply = _totalSupply.sub(uint256(supplyDelta.abs()));
      } else {
          _totalSupply = _totalSupply.add(uint256(supplyDelta));
      }

      if (_totalSupply > MAX_SUPPLY) {
          _totalSupply = MAX_SUPPLY;
      }

      _gonsPerFragment = TOTAL_GONS.div(_totalSupply);

      emit LogRebase(epoch, _totalSupply);
      return _totalSupply;
  }
  	
  

When this rebase method is called, we query an $SLCC-$USDC Uniswap v2 Oracle to get the difference in price. Some projects run this rebase method several times a day. Others have randomized the time that the function is called. In Slips, the rebase method can be called once every 24 hours and like Ampleforth, it takes place at 02:00 UTC.

We have omitted the part of the code to query the oracle and the above example just shows the basic trigger for the rebasement event. If the price difference is more than 5% in either direction, the supply either expands or contracts.

In order to avoid a sharp change in supply, when the rebase event is triggered, the supply is actually adjusted over a five-day period to meet the target price. After another 24 hours have passed, if the target price has not been met (i.e. $SLCC is not within 5% of the $USDC price), the ability to rebase becomes available again.


What sort of opportunities arise from Rebasing?

Ampleforth has been forked to modify it's rebasement behavior; for example RMPL has rebases that take place in a 48 hour window but on average takes place every 24 hours. The reason for the randomization is to prevent the rebases from being arbitrage events.

However we do want rebases to be profitable / tradeable events so we have stuck to the Ampleforth model even though it has it's caveats (losses like gains can be compounded). The example below will show you what sort of opportunities might arise around a rebasement event:

Let's walk though an example...

You buy 100 $SLCC, each $SLCC having a target price of $1. Your portfolio has a nominal cost of $100. The demand for $SLCC then increases and the price of each $SLCC is pushed to $1.10.

Since the price of $SLCC is now higher than the 5% boundary for the target price, the rebasement event will trigger, expanding the supply of the token in an attempt to bring the price down.

If the total supply of $SLCC is increased by 10%, you would have 110 $SLCC and your portfolio priced at (110 * $1.10) = $121.