Add rswETH market to Moonwell on BASE

General

Token Asset Name

Restaked Swell ETH (rswETH)

A description of the project and the token*

Swell is a non-custodial staking protocol with a mission to deliver the world’s best liquid staking and restaking experience, simplify access to DeFi, while securing the future of Ethereum and restaking services.

With Swell, users are able to earn passive income by staking or restaking ETH to earn both blockchain rewards and restaked AVS rewards, and in return be provided with a yield-bearing liquid token (LST or LRT) to hold or participate in the wider DeFi ecosystem to earn additional yield.

Benefits to the Moonwell Community

rswETH enables users to earn native ETH staking rewards along with Actively Validated Service (AVS) rewards. This dual reward mechanism enhances the overall yield for rswETH holders. As a productive asset, rswETH provides opportunities for users to take on extra leverage. It is particularly valuable for protocols that execute yield strategies, making it a high-demand collateral and will drive utilization in Moonwell.

Resources (Website, Social Media Links and docs)

The proposal author their contact info

Kilian Boshoff

Telegram

LinkedIn
Twitter

The relationship between the author of the new market proposal and the token*

Kilian is a core contributor at Swell DAO.

Social channels Metrics (Size, activity and growth).

Twitter: 70 000 followers

Discord: 38 000

Market Risk Assessment

Market Cap of the token

rswETH market capitalization: $480M

Minimum and maximum market cap of the token within the last 6 months.

Minimum (At launch): $0

Maximum: $500M

The largest exchanges where the token is listed and its respective liquidity

The largest smart contracts balances of tokens and what those contracts do.

  1. Swell L2 Pre-Deposit 0x38D43a6Cb8DA0E855A42fB6b0733A0498531d774. Just holds the rswETH in an non-custodial staking contract
  2. rswETH-SY 0x7786729eEe8b9d30fE7d91fDFf23A0f1D0C615D9. Is the SY token of our rswETH on Pendle
  3. Karak K2 Bridge - Is the L2 from Karak. Once on the chain rswETH holder can then restake into Karak
  4. Karak rswETH - Just holds the rswETH but has a 14 day unstake period
  5. Zircuit rswETH 0xF047ab4c75cebf0eB9ed34Ae2c186f3611aEAfa6 - Just holds the rswETH in the Zircuit pre-deposit contract

Provide the volatility of the token. Rolling windows of 1,3,6 & 12 month periods would be ideal. For more info see Gauntlet’s volatility guide.

Please view rswETH volatility data here.

Total supply

https://etherscan.io/token/0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0#balances

Emission schedule.

Not applicable.

Note: Gauntlet will also pull live data to conduct their market risk assessment after the Checklist is submitted.

Decentralization

How is this asset distributed amongst token holders? List the top 10 holders, the percentage of each holder, and tag any of them if they are known.*

The distribution of rswETH can be viewed via Bubblemaps. The top 10 holders are:

  1. 0x22162DbBa43fE0477cdC5234E248264eC7C6EA7c (3.25%)
  2. 0x267ed5f71EE47D3E45Bb1569Aa37889a2d10f91e (2.33%)
  3. 0x634a3a9332D393E055EB42bE21518E431b4761fF (0.38%)
  4. 0x31F4eE28F2FB544E54a981eAA9a7A4eac7b9a07b (0.38%)
  5. 0xc6aDE8A68026d582AB37B879D188caF7e405dD09 (0.36%)
  6. 0x993a5db79a4597E71e37E3308f5F44393C0E5814 (0.15%)
  7. 0x4347Dd04A5a83228E65894C4f476612e66d90585 (0.14%)
  8. 0xF8dB00cDdEEDd6BEA28dfF88F6BFb1B531A6cBc9 (0.11%)
  9. 0x65208f4598EB44d8Ec993155c519645534E3bF5D (0.08%)
  10. 0x65208f4598EB44d8Ec993155c519645534E3bF5D (0.08%)

List all of the privileged roles in the token contract. This can include whitelisted EOAs, Multi-sigs or DAOs.

Core token methods (transfer, etc) do not have any privilege role interactions. Reprice required REPRICER role. Other configuration (associated with reprice) requires PLATFORM_ADMIN role.

REPRICER role is performed by platform BOT. This sets the rate of the deposit/withdrawal rate conversion. Limits are in place, configured and controlled by PLATFORM_ADMIN role.

PLATFORM_ADMIN is performed by 4/6 DAO multisig under a 7 day timelock.

Is it pausable?

The core token methods (transfer, etc) are not pausable. Auxiliary methods (deposit, repricing, etc) are pausable.

Does it have a blacklist or whitelist?

Depositing ETH for rswETH has whitelist functionality. This functionality is on the rswETH token. Standard ERC20 functionality does not rely on black or white lists.

Smart contract risks

Codebase & On-chain Activity:

Provide a Github repository for the underlying token contracts

Provide a test suite with code coverage.

Not public - see GitHub repository for audit results

Provide Basescan links with verified contracts

https://etherscan.io/token/0xFAe103DC9cf190eD75350761e95403b7b8aFa6c0#code

Give the age of the token in days

127 Days

Given the number of transactions in the contract to date

90k

Security Posture:

What audits, if any, were performed? Provide links to the reports if they exist.*

Does the project have an active bug bounty program?

Yes, $250 000.

Provide emergency contacts with their responsiveness levels and response availabilities

Aaron Alderman: @aarontanks

Daniel Dizon: @daniel_swell

Abishek Kanna: @abishek_swell

List additional security and formal verification tools used in development

List all monitoring services used by the token, if any.

There is no monitoring of the core token functionality. Monitoring is performed on the whole system (slashing protection, etc).

Multi-Chain Strategy

Will the token include implementations on other networks?

Swell plans to expand rswETH to other Layer 2s in the near future.

If so, will the tokens be natively minted on the other networks or bridged across?

The tokens will be natively minted via a partnership with Layer Zero.

Are there any mitigations in the contracts in case a bridge becomes inoperable or compromised?

rswETH is not multi-chain for the time being.

Token contract Behavior:

Does the token have more than one address1?*

No.

Does the token use a compiler version greater than 0.8.0 or the SafeMath? If not, explain how the protocol deals with possible overflows and underflows*

Compiler version used is 0.8.16

During the execution of the token’s functions, does the token execute external code chosen by the caller or receiver?2 If so, please explain the reasoning behind this decision

No.

How does the token contract deviate from a standard implementation of ERC20?

Burn cannot happen with zero value. Other functionality exists on the token which allows token to be minted (ETH deposits)

Any additional features that the Moonwell DAO should know about?*

Future functionality will allow users to deposit LST which will also mint rswETH

Is it burneable?*

Yes

Does the token contract have a fallback function? If so, when does it revert?3

Fallback always reverts

Does it have a fixed supply? If no, who can mint?*

It does not have a fixed supply, anyone can mint rswETH with ETH.

Is it a rebasing token?*

rswETH is a repricing token.

Does the token charge fees on transfers?*

No. Fees are taken during reprice by minting additional rswETH (fees are on a performance basis)

Does it implements any transfer hooks? Or hooks on any method?*

No.

Is the contract performing arbitrary delegatecalls? If the answer is yes, indicate who can make these calls and to what contracts.*

Contract is proxy upgradable, but not otherwise arbitrary.

Is it flash mintable? If yes, please provide more information on this feature*

No.

Is it flash loanable? If yes, please indicate who offers the service.

No.

What are the typical gas costs for calling each of the standard ERC20 functions?

Standard.

Price Feed Behavior

Is the price feed supported by ChainLink?

If not, what entity is responsible for posting price updates? List names and addresses which may update the price feed

How often will price updates be posted?

Internal rswETH to ETH conversion based on primary asset basis (not secondary market DEX trading) is changed on an approx daily basis.

At what price difference threshold will price updates be posted?

Approx 0.01%

Can the AggregatorV3Interface functions for this price feed ever revert when called?

Not applicable.

Does the bytecode of the custom price feed match an audited version?

Not applicable.

Upgradability:

Is it upgradeable? If so:*

Who is authorized to make an upgrade?

Upgradable via transparent proxy pattern. Contract upgrade goes through 7 day timelock and 4/6 multisig (same as PLATFORM_ADMIN above).

Can an upgrade happen instantaneously or is there a time-lock delay?

7 day timelock.

Which components are upgradable?

All core protocol features, including access controls, rswETH token.

How does the upgradeability design work? Who manages it and are how upgrades performed?

Core protocol upgrades are managed by DAO with strict controls in place. All changes are audited and go through timelock, multisig. Deployment is compared against audited code, all code is verified on etherscan.

Does it emit an event when the implementation is updated?

Standard OZ upgrade event emitted

3 Likes

Hi Swell team, thank you for submitting this proposal. You seem to be missing the price feed information in this document - would you mind providing it? Thanks.