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
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
- Pancake Swap → PancakeSwap = 1500 ETH Sell Side
- Maverick> 241 weETH
- Balancer
The largest smart contracts balances of tokens and what those contracts do.
- Swell L2 Pre-Deposit 0x38D43a6Cb8DA0E855A42fB6b0733A0498531d774. Just holds the rswETH in an non-custodial staking contract
- rswETH-SY 0x7786729eEe8b9d30fE7d91fDFf23A0f1D0C615D9. Is the SY token of our rswETH on Pendle
- Karak K2 Bridge - Is the L2 from Karak. Once on the chain rswETH holder can then restake into Karak
- Karak rswETH - Just holds the rswETH but has a 14 day unstake period
- 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:
- 0x22162DbBa43fE0477cdC5234E248264eC7C6EA7c (3.25%)
- 0x267ed5f71EE47D3E45Bb1569Aa37889a2d10f91e (2.33%)
- 0x634a3a9332D393E055EB42bE21518E431b4761fF (0.38%)
- 0x31F4eE28F2FB544E54a981eAA9a7A4eac7b9a07b (0.38%)
- 0xc6aDE8A68026d582AB37B879D188caF7e405dD09 (0.36%)
- 0x993a5db79a4597E71e37E3308f5F44393C0E5814 (0.15%)
- 0x4347Dd04A5a83228E65894C4f476612e66d90585 (0.14%)
- 0xF8dB00cDdEEDd6BEA28dfF88F6BFb1B531A6cBc9 (0.11%)
- 0x65208f4598EB44d8Ec993155c519645534E3bF5D (0.08%)
- 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