Delegating to Superstaker

Offline staking: How to delegate with the Superstaker wallet

On Block 477300 — mined on Thursday at 12:02:40 PM (UTC), on 27th of Octobe, 2022 — HYDRA successfully activated offline staking on its mainnet. Offline staking allows holders to delegate their non-staking wallet address to a Superstaker without giving up control over their coins. In addition this enables users who may not have the time or resources to be an online staker to still participate in network consensus.

On Block 1,160,400 — mined on Friday at 09:59:08 AM (UTC), on the 7th of July, 2023 — LYDRA was born. Lydra is the derivative asset for Liquid Staking Hydra. Every holder of Hydra is now able to mint/burn Lydra and respectively lock/unlock Hydra for the Lydra amounts mint/burnt. Delegators have also the option to mint/burn Lydra while they delegate/remove delegations.

For complete details how to mint/burn Lydra, please refer to this Guide > Lydra Basics

Please note: All delegators will need to redelegate after the fork! Old delegations (old smart contract) will be invalid.

I. Delegating with GUI

1. Run the staking wallet (Github release v-20.18)

For mainnet start the wallet with

./hydra-qt

For testnet the wallet is launched as

./hydra-qt -testnet

Windows users launch the wallet as usual, just by clicking the icon on the desktop. The following steps are the same for Windows, Linux and MAC.

2. Delegate an address to a Superstaker

On the “Stake”>”Delegations” window click on the “+” button on the right side to add a new Delegation. Enter the Superstaker name (for local reference only), Superstaker address, fee you agree to pay, and your address to be delegated. Leave the default Gas settings alone unless you understand how to set these. By default (at current Hydra USD value) the delegation transaction will require ~ 1.8 HYDRA in fees and any excess will be refunded (the net fee paid is < 1 Hydra).

After the delegation transaction is confirmed on the blockchain your delegation is complete. Minting Lydra happens in a separate transaction (in case any "lock amount" has been selected).

There is no need to enable staking in the wallet via the "Stake" > "Staking" window and the sliding button on the right side.

There is no need to enable Superstaking and Logevents in the “Settings” > “Options” > ”Main” window.

Coin control still could be usefull and enabled in the “Settings” > “Options” > ”Wallet” window.

3. View delegations

Mouse over the "lightning" icon on the left side of the "Delegator" window. A popup window will show the weight of the delegations at the moment. This is the total weight of all UTXOs from delegated addresses, which meet two conditions: 1. These are mature delegated UTXOs and 2. These UTXOs have not staked and won a block in the recent 2000 blocks. UTXOs that are mature but have been staked by the Superstaker will be treated by the Supertaker as immature for the next 2000 blocks.

4. Split Delegator UTXOs

On the “Stake”>”Delegations” window click on the “Split” button to split in one transaction the local UTXOs of the Delegator address according to a set of rules adjusted in the “Split coins for Delegator” window.

5. Restore delegations

Delegator configurations are stored in the wallet.dat file. If there are problems with the wallet.dat file the Delegation information may be recovered using the Restore button on the Delegation page from a backup wallet.dat file. In this case, the Delegator wallet will rescan the "state" contract memory for offline staking transactions for the appropriate addresses.

6. Remove delegations

On the “Stake”>”Delegator” window click on the “Remove” button to withdraw the delegation. Leave the default Gas settings alone unless you understand how to set these. The remove delegation transaction will require ~ 1.8 HYDRA in fees and any excess will be refunded.

II. Delegating with Cli

After installing hydrad and hydra-cli , launch with the following parameters:

./hydrad

For testnet just add the -testnet option when launching

./hydrad -testnet

On the image below you can see the wallet starting:

If you need you can stop the wallet with

./hydra-cli stop
or
./hydra-cli -testnet stop

In case you would not want to output the wallet log on the terminal use the -daemon option

./hydrad -daemon
or
./hydrad -daemon -testnet

Use the splitutxosforaddress command with the default 100 minimum size and 200 maximum size (with -testnet option for testnet)

./hydra-cli splitutxosforaddress "address" minValue maxValue maxOutputs
./hydra-cli setdelegateforaddress "staker-address" fee "address" (gasLimit lockAmount)
./hydra-cli getdelegationinfoforaddress "address"
./hydra-cli getlydrainfo "address"
./hydra-cli removedelegationforaddress "address" (gasLimit unlockAmount)

III. Understanding delegations on Hydra

Offline Staking allows the address for a non-staking wallet (capable of making the delegation assignment transaction) to be delegated to a Superstaker. Offline Staking is non-custodial: the delegation user keeps full control of their coins and private keys. The address delegation is made via a smart contract transaction from the delegation user's wallet which identifies the delegator's address, the Superstaker address, and the fee the delegator agrees to pay. If the Superstaker accepts this fee, it will begin staking the delegated address UTXOs.

The normal rules for staking UTXOs apply to delegated UTXOs:

  • UTXOs may only be used for staking after they mature (2000 block confirmations)

  • UTXOs that have won a reward will not be staked by any Superstaker during the following 2000 blocks after they have won.

  • The Super Staker will set a minimum size of UTXOs to stake, defaulting to 100 HYDRA. Delegated UTXOs below this amount will be ignored.

  • It is best practice (for optimum returns) to break UTXOs up into sizes of 100 to 200 HYDRA each. For users of the Hydra staking wallet, this can be easily accomplished with the command line version of splitutxosforaddress, or on the “Stake”>”Delegator” window by clicking on the “Split” button.

IV. Delegator operations

The Delegate Address transaction is sent to a smart contract which keeps the delegation assignments and will be picked up by the Superstaker there. You can see Delegated Address block reward transactions in the wallet and also with the explorer.hydrachain.com.

If the wallet is holding HYDRA on multiple addresses, the delegation must be made separately for each address (and the transaction fee paid for each address) so it may make sense to consolidate the UTXOs to a single address before splitting UTXOs and delegating. In this case, use coin selection to select and consolidate the addresses. Alternatively, the sendmanywithdupes command could be used to send the entire wallet balance to a new address with appropriately-sized UTXOs.

If the Superstaker accepts a delegation for a particular fee, and then the Superstaker reduces that fee (accepts assignments for a lower fee), to take advantage of that lower fee the user must delegate their address again with the lower fee set.

Delegations from a wallet may be checked on the "Stake" > "Delegations" window or with the getdelegationinfoforaddress command.

Block rewards sent to the Delegator by the Superstaker, when a Delegator UTXO wins, will not automerge into bigger UTXOs, thus the Delegator may combine them into one bigger than 100 HYDRA UTXO, so they are staked by the Superstaker. The new bigger UTXO formed from the combining of the rewards will be automatically staked by the Superstaker. The Superstaker will pick for staking from the Delegator address any UTXO above the min value accepted by the Superstaker.

Last updated