Learn how to find a fitting staking solution for your ETH right in your mobile wallet
In the post below, we show you how to stake ETH on Eth2, right in your imToken wallet already today. We also talk about benefits and downsides of different providers and approaches.
Different ways to stake your ETH
The ways you can stake your ETH with differences in security and complexity. Let’s see how to evaluate security.
To stake ETH, you send ETH to a smart contract and receive something like a voucher for 32 ETH on the beacon chain (i.e. the current Eth2 chain).
At the same time, you create a wallet on the beacon chain. Similar to Eth1 wallets, you only *truly* own the ETH tokens if you created the beacon chain wallet yourself.
Creating the beacon chain wallet gives you 2 sets of keys: Validator keys and withdrawal keys.
- Validator keys are used to validate blocks. Worst case, if someone steals your validator keys, they can run a duplicate node of yours to make you lose ETH.
- Withdrawal keys allow you to withdraw ETH, once that’s enabled. Similar to Eth1 private keys, withdrawal keys give you ownership over the ETH (including gains or losses).
Therefore ownership (and therefore security) depends on who is holding those keys and in what way.
*Decentralized pools aren’t available yet as smart contracts can’t act as receiver of the staking reward yet. RocketPool plans to go online once that is fixed in 2021.
How to stake ETH in imToken
We try to integrate all Eth2 staking services that are available on mobile. So far you can choose between full custodial services, Node-as-a-Service custodians and staking pools.
To access the staking features, (download imToken at token.im,) open your imToken app. Once in imToken, enter one of your ETH accounts.
Your wallet will show ‘Eth2 Staking’ right below your wallet balance, which will bring you to an overview of Eth2 staking DApps.
You will find: Ankr, Lido, HashQuark, stake.fish, StakedUs, Rocketpool. Let’s see what the differences are and how to use them.
Staking pools - The convenient way: Lido, Ankr Staker
To stake with Lido, click the ‘Lido’ icon, enter an ETH amount and ‘Submit’. That’s it. Simple.
To stake with Ankr (Stkr), click the Ankr DApp icon, then click ‘Launch App’ and ‘Start staking’.
Enter the numbers of ETH to stake (min. 0.5 ETH) and confirm the transaction. You need to agree that your ETH will be locked until Eth2 goes live, which might still take years.
That’s it. Simple.
Note: Ankr also provides staking for more professionals. We don’t cover this here, but you can read Ankr’s blog here.
So what’s the difference between Ankr and Lido?
Ankr users pay 15%, Lido users pay 10% of staking rewards. Be aware that those might change though.
For the safety of withdrawal keys, Ankr currently saves withdrawal keys partially offline. More info here. This makes Ankr arguably more custodial than Lido.
Ankr’s validator keys are stored on Stkr’s Threshold servers that are owned by Ankr and other companies. In this way, single validators can’t maliciously disrupt a pool's validation process.
Ankr’s system has multiple validation participants running one validator (unlike Lido), which creates a question of whether each validation participant actually needs to know the validation private keys. They solve it by using a threshold signature system, which lets the validators do their Eth2 beacon chain validation without a single validator actually knowing the whole key. Lido doesn’t have this question in the first place; more about that below.
Let’s take a look at Lido.
In Lido, the safety of withdrawal keys is guaranteed via an arguably more advanced and safer setup thanks to distributed custody of the withdrawal key. The withdrawal key was split into 11 different parts (via threshold signature ceremony), held by public figures of the industry.
Instead of one party now having access to these withdrawal keys, it would instead require collusion of many parties.
In Lido, validator keys seem to be ‘hot’ as the validation is run by a single operator, Lido. You have to trust Lido to do a good job for you to not get slashed as you do with all other categories of staking service providers, including Ankr.
More details here.
Lido promises, just like Rocketpool, to switch to a fully self-custodial setup once Eth1 addresses can work as withdrawal addresses, which is currently still in the works.
Staking-as-a-service: stake.fish, StakedUs
Sometimes also called ‘validator-as-a-service’ or ‘node-as-a-service’ is similar to having a web server run on a hosting service such as AWS instead of your own server at home.
The service runs the whole validation process for you, and therefore controls validation keys like custodial solutions. But, staking-as-as-service holds one benefit over custodial solutions: You keep full self-control of your withdrawal key.
However, that means, both StakedUs and stake.fish ask you to generate and then upload withdrawal credentials, which works better on desktop (for now; we are working on a solution).
If you want to test either one, click the ‘StakedUs’ or ‘stake.fish’ icon on imToken’s browser and walk through the setup until they ask for the withdrawal public key.
Honorable mention: Ankr Market seems to offer staking-as-a-service as well now, although their focus is on the pool model. Ankr’s approach is similar to the other 2 above and costs around $13.5 per month or $0.5 per day. Besides, we should also mention: Bison Trails (focuses on institutional), Blockdaemon (has shared, dedicated nodes), Allnodes (from $5), Midl.dev (from $45).
HashQuark, InfStones and Cream are listed in imToken and provide custodial services. You can contact them under the ‘Eth2 Staking’ section in your Ethereum wallet in imToken. There are really many more custodial services.
But, again, custodial services don’t give you any control. They are similar to centralized exchanges. So, try not to use it if you like to take some ownership of your funds.
We hope this tutorial will help you with all things Eth2 staking. If you have any questions, ask us on social media!