---
# System prepended metadata

title: Staking using Wagyu Keygen

---

# Staking using Wagyu Keygen
> This guide shows staking on Goerli. Feel free to change the network as required.

This tutorial shows how to stake a validator with Stakehouse using the `Wagyu Keygen` tool.
To install the tool head over to [Wagyu's website](https://wagyu.gg/) and download the tool depending on the operating system.

1) Once the tool is downloaded, this is how the homepage looks like
![](https://i.imgur.com/v0N7BHc.png)

2) On the top-right corner, select the network for which the keys should be generated. This tutorial shows the staking on `Goerli` network.
![](https://i.imgur.com/cbWzNXZ.png)

3) After confirming the network, click on the "Create new recovery phrase" button. Once the below screen appears, click on "Create" button to start the process.
![](https://i.imgur.com/q8Zn9mR.png)

4) After few seconds, the tool will generate mnemonic phrase which should be saved somewhere safe.
![](https://i.imgur.com/UXC356z.png)

5) In the next screen, enter the recovery phrase. Click on the "Check" button to continue.
![](https://i.imgur.com/xl0rwTx.png)

6) The tool then asks to create a password that would protect the keystore password. It is crucial to keep the password safe. 
After entering the password, click on the "Use Advanced Inputs" button and the tool would prompt to enter Ethereum Withdrawal Address. Since, the staking process happens with the Stakehouse Protocol, head over to [Stakehouse Deployment Contract Address](https://github.com/stakehouse-dev/contract-deployments) and copy the "Account Manager" address (Make sure to choose the address for the correct network). The account manager address will be the Ethereum Withdrawal Address for this key.
![](https://i.imgur.com/alkjQ1Y.png)

7) The tool again asks for the keystore password for the confirmation. After entering the password click on "Next" to move to the next screen.
![](https://i.imgur.com/D4dmrP6.png)

8) Click on "Browse" button to choose the location for the files. The generated `keystore` and `deposit_data` file will be saved in the chosen location. After selecting the location, click on "Create" to start generating the keys.
![](https://i.imgur.com/MLJaKj9.png)

    ![](https://i.imgur.com/ee7lqHQ.png)

9) Now that the `keystore` file and `deposit_data` file is generated, head on to Stakehouse Protocol dapp. Start the process of creating a validator by clicking on either "Stake" or "Create a Validator" button.
![](https://i.imgur.com/RPOXl6M.png)

10) Click on the 3 dots (...) on top right and enable the "Expert Mode".
![](https://i.imgur.com/6FOp91E.png)

11) Click on "Turn On Expert Mode" button to confirm.
![](https://i.imgur.com/7HwLekY.png)

12) Since, the files are already generated using the `Wagyu Keygen` tool, click on "Continue" button to move on to the next screen
![](https://i.imgur.com/h56W7tw.png)

13) On the "Validator Registraion" screen, click on "Choose file" button to upload the `deposit_data` file generated using the `Wagyu Keygen` tool.
![](https://i.imgur.com/XUNttZj.png)

14) When the `deposit_data` file is uploaded, a confirmation pop-up appears. Click on "Approve Transaction" button.
![](https://i.imgur.com/k67RtH5.png)

15) The dapp then asks to sign the message. This registers the validator's initials in the Stakehouse Protocol
![](https://i.imgur.com/GHLWFki.png)

16) Next, upload the `keystore` file generated by the `Wagyu Keygen`. 
Please note that the keystore file is not being stored anywhere. This process is used to authenticate the BLS keystore, meaning that the Stakehouse protocol checks if the user correctly owns the validator credentials.
![](https://i.imgur.com/XmFY7xt.png)

17) Enter the password that was previously entered to protect the `keystore` file.
![](https://i.imgur.com/lpOKRRd.png)

18) Now click on "Deposit" button to send 32 ETH to Ethereum deposit contract and stake a validator
![](https://i.imgur.com/ee8IqxB.png)

19) Verify that the BLS Public Key shown in the pop-up matches the BLS Public Key in the `keystore` file. Then click on "Confirm" button to proceed.
![](https://i.imgur.com/sO6tlU6.png)

20) Next, confirm the transaction to finally send away 32 ETH. 
Make sure that all the addresses are correct. The contract address shown under the "Contract Interaction" should be that of "Transaction Router" smart contract of Stakehouse Protocol. 
The transaction router will route your ETH to the Ethereum deposit contract for the specified network.
![](https://i.imgur.com/QPvZQuE.png)

21) Now that the transaction is successful, next step is to set up a node for the validator.
![](https://i.imgur.com/7LzUrkB.png)
