Skip to main content

Ethereum Staking Tutorial For Institutions Using Multi-Sig Wallet

Prerequisite

  1. Download the safe-script repository from GitHub.
git clone https://github.com/dxpool/safe-script.git && cd safe-script
  1. Create and activate a virtual environment, then install all packages from pyproject.toml.
python3 -m venv venv && source venv/bin/activate && pip install .
  1. Copy config_example.json and rename it to config.json.
cp config_example.json config.json
  1. Fill in the details in config.json.
  2. Run the script.
python3 main.py
  1. Script runs successfully (you should see output like below):

Script Success


I. Run the script

  1. When this menu appears, enter 1 to start staking, enter 2 to exit, or enter q to quit. This tutorial proceeds with 1 to start staking.

    Menu Selection

  2. Enter the staking amount (between 32 and 2048):

Amount Input

  1. Enter chain (for now only Hoodi Testnet and Mainnet are supported):

Chain Selection

  1. Enter withdrawal address (this can be your safe wallet address or any other wallet address that you own or control):

Withdrawal Address

  1. Safe transaction submitted — it still requires the remaining owner signatures to meet the threshold (the number of owner signatures needed to execute) before it can be executed.

Transaction Submitted


II. Sign the transaction

  1. Before proceeding, verify all the transaction details. When ready, click Confirm to approve the transaction.

Review Transaction

  1. Review all transaction details and select Continue.

Review Details

  1. Select Sign to proceed.

Sign Transaction

  1. Signed successfully.

Signed Successfully


III. Execute the transaction

  1. Click Execute to begin the transaction execution process.

Execute Transaction

  1. Confirm the execution by clicking Continue when prompted.

Continue Execution

  1. Finalize the execution by clicking Execute one more time to complete the transaction.

Final Execute

  1. The transaction is being processed.

Processing

  1. Wait for a few seconds and you should see the following:

Final Success