Fellow stkATOM holders on Ethereum,
This is a discussion post to gather feedback for Migration of the current implementation of pSTAKE for liquid-staked ATOM on Ethereum (to be referred as stkATOM(ERC-20)) to the Persistence Core-1 chain (to be referred as stkATOM). Upon sufficient discussion with the community, a proposal incorporating all the feedback and suggestions will be created on the pSTAKE Snapshot space for the community to vote on.
pSTAKE was early to liquid staking, with stkATOM(ERC-20) being the first implementation of a liquid-staked representative of ATOM. Back in 2021, the pSTAKE team decided to issue these tokens on the Ethereum chain due to the following reasons:
- Absence of IBC in the Cosmos Ecosystem
- No DEXs to bootstrap liquidity for staked ATOM in Cosmos
- Lack of a DeFi ecosystem in Cosmos
Going ahead with the issuance on a Cosmos-based chain or the Cosmos Hub would not have achieved the true potential and promise of liquid staking.
Post the Mainnet launch of stkATOM(ERC-20); users were able to stake their ATOM to help secure the Cosmos Hub and receive liquidity on their stkATOM(ERC-20) via the stkATOM(ERC-20)/ETH pool on SushiSwap at the same time. But this breakthrough brought certain tradeoffs for our users:
- stkATOM(ERC-20) issuance and burning on Ethereum was expensive
- With the dual token model of stkATOM(ERC-20), manual claiming of staking rewards was expensive
- Ethereum transactions were slow, thus degrading the user experience
- Integrations with high-quality Ethereum-based protocols were a challenge, thus limiting further use-cases for stkATOM(ERC-20)
- The reluctance of ATOM holders to use their assets in the Ethereum ecosystem due to high fees
- The security risk of using the MPC pBridge (although well audited and secured by top PoS validators) to migrate between chains
These drawbacks were foreign to our users as they were accustomed to low fees, fast transactions, and a seamless user experience in the Cosmos Ecosystem. Despite this, stkATOM(ERC-20) managed to hit the following milestones at its peak:
- $39M+ in TVL
- 6,406 ATOM stakers on pSTAKE
- $33M pool liquidity in stkATOM(ERC-20)’s pool on SushiSwap
But since then, the developments in the Cosmos Ecosystem have been exponential with AMMs and DEXs like Osmosis, Crescent, SifDEX, JunoSwap, Borrow and Lending protocols like Umee, Mars, Hard, and DeFi Infrastructure and Smart Contract platforms like Secret, Juno, Kujira, Evmos and many more.
To tackle the above-mentioned issues and offer our users a better liquid staking experience, we proposes the following Migration.
The transfer of underlying staked ATOM from the Cosmos MPC bridge wallet address of the current implementation to the new staking wallet address within Cosmos.
In the absence of Migration, there will be two existing stkATOMs that won’t be fungible as the underlying implementations, validator delegations, custody mechanisms, etc., would be different. The Migration will overcome the before-mentioned drawbacks of stkATOM(ERC-20) and will empower our users with an IBC-native stkATOM that leverages the Cosmos tech stack and the vibrant ecosystem.
|Parameter||stkATOM(ERC-20)||Post Migration stkATOM|
|How it works||User deposits ATOM with pSTAKE to mint 1:1 pegged pATOM. User interacts with Ethereum Smart Contract to burn pATOM which issues 1:1 pegged stkATOM||User deposits ATOM with pSTAKE to mint stkATOM on the Persistence Core-1 chain|
|Token Model||Dual Token||Single token Exchange Rate (cToken)|
|Custody||Semi-custodial because of the MPC pBridge||Non-custodial solution powered by Inter-Blockchain Communication, Interchain Accounts, and Interchain Queries|
|Security Risks||Protocol-level and MPC pBridge||Protocol-level|
|DeFi Utility||Very limited||Persistence’s role as the liquid staking hub along with integrations with established protocols in Cosmos will drive high utility to stkATOM|
|Validators||6 MPC pBridge and PoS Validators||More decentralized—to be defined but will still be at least 3-4 times larger than the validator set of stkATOM(ERC-20)|
|Staking Rewards||13.5% APR||Will match rewards on-chain|
|Rewards’ Claim||Manual claim of staking rewards in the form of pATOM||No need to claim rewards as they will directly accrue to stkATOM and will be auto-compounded|
|Chain Fees||Very high||Very low|
|Security Measures||Audited by ConsenSys Diligence, Oak Security, and Trail of Bits||Audited by Halborn at launch with more audits in future, Bug-Bounty Programs and On-Chain tracking|
The Migration of stkATOM(ERC-20) to stkATOM will transfer merits such as enhanced UX, low-cost and fast transactions, higher security, IBC interoperability, and more excellent utility to our existing users.
We want the entire Migration process to be as frictionless and seamless as possible for our users. In line with that, we suggest the following three options to go ahead with the Migration. After sufficient discussion, the best possible way with all feedback points will be put as a pSTAKE governance proposal.
The first way is to build a Migration utility from scratch that goes live on the pSTAKE web app.
Finalize a Migration start date
Give our users a month or two to unbond all their assets before the Migration start date should they not wish to go through the Migration utility
Pause deposits on the pSTAKE interface and smart contracts such that no more stkATOM(ERC-20) is minted to ensure no more Migration liability is added to the protocol
Change the pATOM reward rate to 0% to not issue any more staking rewards to users, disincentivize users from holding stkATOM on Ethereum and ensure no pATOM is issued that is not backed by actual ATOM rewards (Please note users will not be losing out on any of their rewards - the complete mechanism is explained below)
Collect pATOM reward data: The data of all pATOMs that are not minted by users yet (unclaimed staking rewards) will be collected and stored in a database and mapped to users’ ERC20 addresses
Upgrade smart contracts to pause transfers of pATOMs to other addresses: All unclaimed pATOM rewards will still be mapped to users’ ERC20 address’, and the underlying ATOMs in the native chain deposit address will be allocated directly to the users. All claimed pATOMs would be required to be redeemed for ATOMs. Please note that the pATOM contracts would not be paused to allow users to withdraw their staking rewards
Unbond ATOMs to start the Migration unbonding period: After completing all the above steps, a transaction to unbond all ATOMs from the designated deposit wallet address (DDW address) will be created and signed by all the pBridge validators to ensure no further rewards get generated. Any transaction that deposits any new ATOM in DDW address would be reverted to the depositor’s address directly
Cover our protocol users’ staking rewards in the 21-day unbonding period: The pSTAKE treasury will use its ATOM holdings to cover the rewards that should have been generated had the above step 7 not taken place
At the exact time of the proposal voting period end (assuming the proposal passes), a snapshot of the Total Value of stkATOM(ERC-20) (referred to as stkATOM(ERC-20) TVL) and user balances will be recorded
The 21-day reward for the stkATOM(ERC-20) TVL at the last existing reward rate before changing it to 0 would be calculated
The staking rewards per user would be automatically added to their staked balance when the pSTAKE protocol stakes underlying ATOMs on Cosmos via the new designated deposit wallet address (NDDW address). The rewards would be added to our users’ balances in proportion to their stkATOM(ERC-20) holdings
For example, if the stkATOM(ERC-20) TVL is 500,000 ATOM, then the total rewards that pSTAKE will reimburse to our users will be → 500,000*13.5%*21/365 = ~3884 ATOM. This will be distributed to the users on a prorated basis.
Move unbonded ATOMs to the NDDW address: Upon successful undelegation of ATOMs, funds (stkATOM(ERC-20) TVL + 21-day staking rewards) will be moved to pSTAKE’s NDDW address. The pATOM rewards already claimed by our users can still be withdrawn to their native chain wallet. Thus, they will remain unstaked and on the bridge / DDW address. Users can claim them back into their Cosmos Hub wallet when doing the Migration
Stake all ATOMs with the new implementation (stkATOM) on Persistence post product launch: All the ATOMs transferred to the NDDW address will automatically get staked, and new stkATOMs would be minted and issued to a defined Persistence address. This address (Migration stkATOM holder address) will temporarily hold the newly minted stkATOMs on the Persistence chain for all the stkATOM(ERC-20) holders. Users would have to make a transaction on a Migration UI page on the pSTAKE app that burns stkATOM(ERC-20) and transfers stkATOM from the Migration stkATOM holder address to an address provided by them
- Users would have sufficient time before the Migration process starts, which gives them an option to unstake should they not wish to go ahead with the proposed migration flow
- Code for the Migration utility would be highly optimized to cost lesser gas fees versus performing the same actions individually
- Users would perform a single transaction to migrate their stkATOM(ERC-20) to stkATOM resulting in a frictionless user experience
- The pSTAKE protocol would retain its power users who believed in ATOM liquid staking and pSTAKE right from the start
- Users won’t miss out on staking rewards during their 21-day unbonding period
- Extra engineering efforts for the pSTAKE team (note that the development of this utility has already been started and will be audited in anticipation of this option being the most viable one)
The proposed Migration flow has two vital events that influence the timeline:
- A one or two-month period for users who do not wish to go with the Migration flow to unbond their assets
- 21-day Migration unbonding period
Migration at stkATOM launch
This means our users would be able to have their stkATOM(ERC-20) transferred to stkATOM on the new product launch day itself. It would require a buffer of ~50-80 days before the launch of stkATOM. This means fixing a launch date ~7-11 weeks prior. This might not be feasible and carries risk due to the following reasons:
- It is tough to predict, let alone fix a launch date that early
- In the event of a delay in launch due to any reason, the pSTAKE protocol would end up holding unstaked ATOM of users
- The current development of stkATOM is only a few weeks from launch (no confirmed launch date yet)
Migration post stkATOM launch
This means our users would be able to have their stkATOM(ERC-20) transferred to stkATOM a few weeks after the new product launch. We think that this option is more secure and feasible for the following reasons:
- No dependency or connection with the stkATOM launch
- Sufficient time to discuss the Migration and for the two above-mentioned vital events to take place
- No risk of custodying users’ ATOMs in any case
Keeping the security of our users’ assets in mind and giving them a choice to go ahead with the Migration or not, we propose that the Migration happen post stkATOM launch.
A proposal for the Migration will be posted after incorporating feedback from all stakeholders. If all stakeholders are well aligned, this can be done as early as two weeks from writing this post. If the proposal passes, it will give users a fixed amount of time (one or two months) before the Migration start date to unbond their assets if they do not wish to go ahead with the Migration. After which, steps 3-10, as mentioned above, would be followed. This would mean that our users receive their stkATOM 2-6 weeks post-launch, depending on the time for vital event 1 mentioned above.
There might be a possibility that a call from the Migration UI to a smart contract fails in one of the operations mentioned above in the Migration steps (possibly because of gas). If a call fails, all state changes are reverted to before the transaction, and the gas is burned. If this happens, you would have to redo the transaction
Migration stkATOM holder address
The Migration stkATOM holder address will temporarily hold the newly minted stkATOMs on the Persistence Core-1 chain for all the stkATOM(ERC-20) holders. This introduces a risk of custody. Hence, this address will be a multi-sig wallet to help mitigate centralization and custodial risk
- pSTAKE launches the new product (stkATOM)
- Users manually unbond and wait for the 21-day unbonding period
- Users transfer their underlying ATOM back to Cosmos to stake with pSTAKE to mint new stkATOM
- Users will have complete control over what they want to do
- Turndown of the old product will be delayed
- Users would miss out on staking rewards during the unbonding period
- A delayed turndown could introduce security risk that might not be mitigated due to a shift in priority to the new product (stkATOM)
- Unchained Security, a middle layer logic provider in the MPC pBridge, was acquired by Coinbase some time ago. They have given us an extension of 1 year on their service before they shut down all their existing operations. If all our users do not manually unbond their stkATOM(ERC-20) by then, the pSTAKE protocol will have to bear with the additional risk associated with the MPC pBridge
Liquidity Staking Module will allow converting staked ATOM into liquid staked shares without unbonding.
- pSTAKE launches the new product (stkATOM)
- Wait for the liquidity staking module by Iqlusion to go live
- Users convert their stkATOM(ERC-20) into liquid staked shares
- Users stake these shares to receive stkATOM
- More economical for the pSTAKE team
- Users won’t miss out on staking rewards during their 21-day unbonding period
- Major external dependency
- Unclear timeline as to when the liquidity staking module would go live
- Requires a chain upgrade
- LSM will not be a battle tested feature from the get-go
- Unchained Security, a middle layer logic provider in the MPC pBridge, was acquired by Coinbase some time ago. They have given us an extension of 1 year on their service before they shut down all their existing operations. If LSM does not go live by then, the protocol will have to bear the additional risk associated with the MPC pBridge
With this, we have highlighted what Migration is, why it is necessary, and possible options for how and when it would take place. We intend this post to be an open discussion with all stakeholders involved—our users, validators, and the Cosmos community members to provide their inputs to finalize a flow and timeline for the Migration of stkATOM(ERC-20) to stkATOM.
We would like to express that we are leaning towards the proposed Migration utility (Option 1) as it provides a one-click frictionless experience for our users and reimburses for missed staking rewards without compromising security. We believe these extra efforts from an engineering perspective will be a much smoother approach than the other two options and will be the most viable path for the Migration of stkATOM(ERC-20) to Persistence Core-1 chain implementation.
We hereby look forward to your feedback.