rSURF Dashboard
Surf Finance's xDAI STAKE based divvy dApp, earn yield after wrapping your SURF on xDAI into rSURF and spin the rSURF Wrapper using the rSURF Dashboard.
Last updated
Surf Finance's xDAI STAKE based divvy dApp, earn yield after wrapping your SURF on xDAI into rSURF and spin the rSURF Wrapper using the rSURF Dashboard.
Last updated
Current IPFS link to the rSURF Dashboard
The rSURF Dashboard gives users access to the rSURF Wrapper, a contract on the xDAI network responsible for providing SURF holders with access to rSURF: a frictionless yield token (Defined as a token whose transfer fees are automatically and proportionally distributed across remaining holders balances). The Dashboard also allows users to call the Wrappers "Spin" function, distributing excess rSURF held by the Wrapper amongst holders.
Before you can interact with the rSURF Dashboard you'll need to know how to:
Use cross-chain bridges; and
Setup Metamask to interact with the xDAI network
If you are unfamiliar with how to do these things, please see Yostari's Cross-Chain Nav Guide.
The total supply of rSURF tokens is 1,000,000. Of those 1,000,000 tokens, the number of rSURF tokens in circulation is always changing. This is because, for every rSURF token released into circulation, a SURF token must be locked into the wrapper contract. rSURF tokens in circulations are also referred to as wrapped rSURF.
rSURF tokens in the wrapper contract that are not in circulations are unwrapped rSURF tokens, also referred to as urSURF. The rSURF token and the urSURF are the same token, the distinction is that they are in two different states; rSURF is in circulation, urSURF is not.
Even though urSURF tokens are not in circulation, they are still taken into account for purposes of rSURF’s reflective features. When there is a reflective redistribution to all token holders, the wrapper contract receives an allocation for all urSURF tokens in the contract. For example, if there are 100,000 rSURF tokens in circulation, then 900,000 urSURF tokens (90% of the total supply) will be in the wrapper contract. In this circumstance, a reflective redistribution to all token holders will allocate 90% of that redistribution to the rSURF bucket of the wrapper contract.
The wrapper contract does not own rSURF tokens reflectively allocated to it. Thus, a mechanism is need to redistribute the “excess” rSURF back into the ecosystem. This is what the Spin Wrapper function does. Whenever a user calls the Spin Wrapper function, the contract disperses all excess rSURF, with 50% going to all holders and 50% to liquidity. If the majority of 1,000,000 supply of rSURF tokens are urSURF tokens (i.e., not in circulation), the majority of the 50% to all holders will make its way back into the wrapper contract.
Every time a user calls the Spin Wrapper function, the wrapper contract will perform this redistribution until the sooner of two events: 1) the excess rSURF drops below 10, or 2) it goes through 3 cycles of redistributions.
The above diagram illustrates one spin wrapper cycle, where there is 100,000 rSURF in circulation, 900,000 urSURF in the wrapper contract, and 100 excess rSURF in the wrapper contract. When the spin wrapper function is called, 100 rSURF is dispersed from the wrapper contract, with 50 rSURF going to the liquidity bucket, and 50 rSURF redistributed to all token holders. Since the wrapper contract’s 900,000 urSURF account for 90% of the rSURF supply, it receives 45 of the 50 rSURF to all token holders. After one cycle, the wrapper contract would have 45 rSURF. Since this is above the 10 excess rSURF minimum, the smart contract would automatically repeat the cycle, redistributing 45 rSURF instead of 100.
When the wrapper contract accounts for a majority of the rSURF supply, the majority of reflective redistributions will eventually make their way to liquidity due to the wrapper contract continually redistributing excess rSURF through the Spin Wrapper function.
When wrapping SURF into rSURF, there is a 1% fee taken from the rSURF received by the user and distributed as follows:
1/4th of the wrapping fee is distributed to rSURF holders
3/4ths of the wrapping fee is used to seed rSURF liquidity on Honeyswap
To perform the Wrap SURF function, you will need to input a whole number of SURF to wrap. When this function is executed, that SURF will be locked into the wrapper contract in exchange for rSURF. However, the rSURF received will be adjusted by the 1% wrapping fee. Thus, 99% of the equivalent number of rSURF tokens will be sent to your wallet, .25% goes to all holders, and .75% goes to liquidity
Note: urSURF is not an actual token; it is used in this article to represent the portion of the 1,000,000 rSURF supply that is not wrapped and in circulation. This distinction is important for understanding certain dynamics of the token and the application of the Spin Wrapper function.
The above diagram illustrates what occurs when 100 SURF is wrapped into rSURF.
100 SURF gets locked in the wrapper contract.
100 rSURF is sent out of the wrapper contract. This rSURF gets allocated according the reflective redistribution properties of the wrap function (99% goes back to the user, .25% goes the all holders, and .75% goes to liquidity). Note: The bucket in the wrapper contract sending out the rSURF is labeled urSURF because it only become rSURF (i.e., wrapped) when this function is called by the user.
.233 of the .25 rSURF allocation to all holders is sent back the wrapper contract, but to the rSURF bucket instead. This is because the 932,107 unwrapped rSURF (urSURF) held by the wrapper contract, are taken into account for purposes of the .25% reflective redistribution to all holders. This .233 rSURF is will added to “Total Wrapper Excess”, and can be redistributed back into the ecosystem via the Spin Wrapper function. (see below for details on the Spin Wrapper function).
Upon exiting your rSURF position, you'll need to unwrap your rSURF tokens to receive the market value equivalent of SURF on xDAI tokens. There is a 1% fee taken from the rSURF balance being unwrapped, which is distributed as follows:
1/2 of the unwrapping fee is distributed to rSURF holders
1/2 of the unwrapping fee is used to seed rSURF liquidity on Honeyswap
To perform the Unwrap rSURF function, you will need to input a whole number of rSURF to unwrap. When this function is executed, that rSURF will be allocated back into the rSURF ecosystem based on the reflective properties of the 1% unwrapping fee. Thus, 99% will go back into the urSURF bucket of the wrapper contract, effectively becoming unwrapped, .5% goes to all holders, and .5% goes to liquidity. The user will receive SURF equal to the amount of rSURF deposited back into the urSURF bucket of the wrapper contract (i.e., 99%).
As an example, based on the above breakdown of tokens in the rSURF ecosystem, unwrapping 100 rSURF would look something like this.
The above diagram illustrates what occurs when 100 rSURF is unwrapped:
100 rSURF is sent from the user’s wallet and allocated to the rSURF protocol according the reflective redistribution properties of the unwrap function (99% goes back into the urSURF bucket of the wrapper contract, .5% goes the all holders, and .5% goes to liquidity). Note: The wrapper bucket receiving the rSURF is labeled urSURF because the rSURF sent to it becomes unwrapped, and therefore urSURF, when this function is called by the user.
99 SURF gets releases from the wrapper contract and is sent to the user’s wallet address.
.466 of the .5 rSURF allocation to all holders is sent to the rSURF bucket of the wrapper contract. This is because the 932,107 unwrapped rSURF (urSURF) held by the wrapper contract are taken into account for purposes of the .5% reflective redistribution to all holders. This .466 rSURF is added to “Total Wrapper Excess”, and can be redistributed back into the ecosystem via the Spin Wrapper function. (see next section for details on the Spin Wrapper function).
For any other transaction involving rSURF (buying, selling, sending to another address) there is a 1% transfer fee, distributed as follows:
4/5ths of the transfer fee is distributed to rSURF holders
1/5th of the unwrapping fee is used to seed rSURF liquidity on Honeyswap
For the incentives driving wrapping, transferring and unwrapping, please see the rSURF token page.
For a summary of the rSURF fees, please see the image below: