As an additional security feature, validators who want to enable their delegators to migrate their wallet from 750 coin-type to 118 coin-type using LSM, are required to “validator-bond” a certain amount of XPRT.
The validator “validator-bond” means that validators need to have “skin in the game” in order to be entrusted with delegations.
This disincentivizes malicious behavior and empowers the validator to get more delegations.
The initial validator bond factor would be set at 250 and can be configurable by governance.
With a validator-bond factor of 250, for every one XPRT delegated as validator-bond, that validator is eligible to receive up to two-hundred-and-fifty liquid stake delegated XPRT tokens from a liquid staking provider.
total_liquid_stake_on_validator.amount / Sum(every_delegation_where[bond=True].amount) < VALIDATOR_BOND_FACTOR
Step 1: Create a new Persistence wallet named as
'valBondAccount'. We recommend you should not use an existing wallet (see FAQ below for details).
Step 3: Send the number of XPRT you would like to validator-bond to
Step 4: From
valBondAccount, delegate these XPRT to your validator.
Step 5: From
valBondAccount, Validator-Bond the delegation you made to your validator (see detailed instructions below).
The Validator-Bond transaction will mark your existing delegation as a validator bond and users will now be able to migrate their wallet addresses using your validator.
A delegator (or validator operator) can convert a delegation into Validator Bond by signing a ValidatorBond message. The ValidatorBond message is exposed by the staking module and can be executed as follows:
persistenceCore tx staking validator-bond ValidatorAddress --from mykey
Here’s an example of a successful validator bond transaction on core-1 chain:
- First, delegate to a validator from a new account:
- Then, validator bond from that account:
Here’s the transaction that was submitted on the command line:
persistenceCore tx staking validator-bond ValidatorAddress
You can confirm your conversion to a validator bond succeeded by querying the delegation:
persistenceCore q staking delegations DelegatorAddress
validator_bond: true <---- You should see this field = true :)
For every 1 XPRT you validator-bond, you will be eligible to receive up to 250 XPRT tokenized shares from delegators.
For example, if you validator bond 1,000 XPRT, you will be eligible for 250,000 XPRT tokensized shares.
We built a tool that recommends how much you should validator bond.
We recommend validator bonding immediately as users (Delgators on your validator) will attempt to migrate their wallet address coin-type from 750 to 118.
At that time, if a validator does not have sufficient validator bond, delegators will not be able to migrate. In this condition delegators can also redelegate the tokens first to a validator which has validator-bond in order to continue the migration process.
This acts as an advance for validators to attract more delegation from users in the long run.
We recommend validators create a new wallet to validator bond. This can be a new seed phrase, or a wallet derived using an existing seed phrase and a new account index. New wallets are preferred for separation of delegations marked validator bond and regular delegations. There are no partial Validator Bonds: when a delegator or validator converts delegation to a particular validator into Validator Bond, their entire delegation to that validator is converted to Validator Bond.
By creating a new wallet to validator bond, an existing delegator can mark part of their delegation as validator bond (by transferring those funds to the new address and marking it as validator bond from that address), while leaving their existing delegation unchanged.
To convert the validator bond back into standard delegation, simply unbond or redelegate the shares. Unbonding or redelegating a validator bond reduces the amount of validator bond associated with a validator.
The following question outlines a case when delegating your validator bond. If unstaking or delegation marked as validator-bond would cause the number of tokens delegated to that validator to exceed 250 times the validator’s resulting validator bond, then the unbonding or redelegation will fail.
In this case, the delegator will not be able to unbond until the amount of delegated XPRT shares to the validator decreases, or the amount of validator bond to the validator increases.
Hopefully not! Validators with less voting power require lower amounts of validator bond.
The validator bond factor multiplier of 250 also means that the absolute size of the validator bond required isn’t too large, especially relative to the revenue validators can earn from additional delegations they receive from liquid staking providers.
No, they are different.
Self-delegated tokens are delegations made by a validator operator to their own validator node. Validator bonded tokens are delegations made from any delegator to a validator node, that have been marked as Validator Bond with the validator-bond message.
Validator bond delegations have additional unbonding restrictions (see above: “Can I undelegate my validator bond?”) relative to the validator bond.