|
| 1 | +--- |
| 2 | +id: staking-with-helium-vote |
| 3 | +title: Staking on Helium Vote |
| 4 | +pagination_label: Helium Vote |
| 5 | +sidebar_label: Staking on Helium Vote |
| 6 | +description: Helium on Helium Vote Documentation |
| 7 | +image: https://docs.helium.com/img/link-image.png |
| 8 | +slug: /governance/staking-with-helium-vote |
| 9 | +--- |
| 10 | + |
| 11 | +import useBaseUrl from '@docusaurus/useBaseUrl' |
| 12 | + |
| 13 | +Helium utilizes [Modular Governance](https://github.com/helium/modular-governance) which is an open |
| 14 | +application built by the Helium Foundation to organize and manage vote escrow tokens, delegation, |
| 15 | +and more. Modular Governance is deployed as [Helium Vote](https://heliumvote.com). Positions can be |
| 16 | +created and later managed within Helium Vote at any time at [heliumvote.com](https://heliumvote.com) |
| 17 | +or within the Helium Wallet App. |
| 18 | + |
| 19 | +## Creating a Position |
| 20 | + |
| 21 | +Anyone with HNT, MOBILE, or IOT tokens in their Helium Wallet App or Solana-compatible browser |
| 22 | +wallet (such as Phantom or Backpack) can create a position. These positions can be used for voting |
| 23 | +in Helium Network or subnetwork governance. |
| 24 | + |
| 25 | +In the case of positions created from HNT, the position can be [delegated](#delegating-stakes) to a |
| 26 | +subnetwork in order to reinforce that network's protocol score and earn a portion of its token |
| 27 | +emissions. While IOT or MOBILE positions can be created through their respective subnetworks, those |
| 28 | +positions are only eligible for voting power and cannot currently be delegated for the purposes of |
| 29 | +earning rewards. |
| 30 | + |
| 31 | +This guide outlines using Helium Vote with the [Helium Wallet App](/wallets/helium-wallet-app). To |
| 32 | +use Helium Vote on a desktop browser, a Solana-compatible browser wallet can be used (such as |
| 33 | +Phantom or Backpack) by navigating to [heliumvote.com](https://heliumvote.com). |
| 34 | + |
| 35 | +### Staking in the Helium Wallet App |
| 36 | + |
| 37 | +Staking in the Helium Wallet App can be done by navigating to the "Governance" tab within the Helium |
| 38 | +Wallet. Ensure you select the token you want to lock up (HNT, MOBILE or IOT) at the top. |
| 39 | + |
| 40 | +<figure className="screensnippet-wrapper"> |
| 41 | + <img |
| 42 | + src={useBaseUrl('/img/modular-governance/Governance-tab-on-HW.jpg')} |
| 43 | + style={{ maxHeight: 325 }} |
| 44 | + className="add-border-radius add-shadow add-shadow-margin" |
| 45 | + /> |
| 46 | + <figcaption> |
| 47 | + The Governance tab is the fourth tab from the left. The HNT button at the top is the default |
| 48 | + selection. |
| 49 | + </figcaption> |
| 50 | +</figure> |
| 51 | +<br /> |
| 52 | + |
| 53 | +Once in the "Governance" tab, you will see "Your Voting Power". Click "Your Voting Power" to see |
| 54 | +your total voting power, and for the ability to lock HNT/MOBILE/IOT. |
| 55 | + |
| 56 | +<figure className="screensnippet-wrapper"> |
| 57 | + <img |
| 58 | + src={useBaseUrl('/img/modular-governance/Your-voting-power.jpg')} |
| 59 | + style={{ maxHeight: 400 }} |
| 60 | + className="add-border-radius add-shadow add-shadow-margin" |
| 61 | + /> |
| 62 | + <figcaption> |
| 63 | + Positions can be made and viewed in the "Your Voting Power" section of Helium Vote |
| 64 | + </figcaption> |
| 65 | +</figure> |
| 66 | +<br /> |
| 67 | + |
| 68 | +As long as HNT, MOBILE or IOT is available in your linked account, new positions can be created by |
| 69 | +tapping on the "Lock Tokens" button within the governance view. |
| 70 | + |
| 71 | +### Lockup Period {#lockup-period} |
| 72 | + |
| 73 | +To build a secure voting system, Helium gives priority to votes from token holders willing to align |
| 74 | +themselves with the long-term health of the Helium Network. This is done by allowing holders to lock |
| 75 | +up their tokens to receive a vote-escrow position in proportion to the amount of tokens and time |
| 76 | +allocated to the position. The longer tokens are locked up, the greater the vote power of the |
| 77 | +position. |
| 78 | + |
| 79 | +Two lockup period types are available. |
| 80 | + |
| 81 | +<figure className="screensnippet-wrapper"> |
| 82 | + <img |
| 83 | + src={useBaseUrl('/img/modular-governance/lockup-type.jpeg')} |
| 84 | + style={{ maxHeight: 275 }} |
| 85 | + className="add-border-radius add-shadow add-shadow-margin" |
| 86 | + /> |
| 87 | + <figcaption>Selecting your lockup type, Decaying or Constant.</figcaption> |
| 88 | +</figure> |
| 89 | +<br /> |
| 90 | + |
| 91 | +#### Decaying |
| 92 | + |
| 93 | +Tokens are locked for a fixed duration and are released in full at the end of the defined lockup |
| 94 | +period. Vote power declines linearly until release. This effectively starts the cooldown at the |
| 95 | +moment of lockup. |
| 96 | + |
| 97 | +You will be required to close the position to return the locked HNT to your wallet after the |
| 98 | +cooldown period has ended. |
| 99 | + |
| 100 | +<figure className="screensnippet-wrapper"> |
| 101 | + <img |
| 102 | + src={useBaseUrl('img/modular-governance/decaying.jpg')} |
| 103 | + style={{ maxHeight: 'initial', padding: '0 0 8px 0' }} |
| 104 | + /> |
| 105 | + <figcaption> |
| 106 | + You lock 10.000 tokens with a lockup duration of one year. They are then unavailable for the |
| 107 | + next one year. After this time, you can withdraw them again. |
| 108 | + </figcaption> |
| 109 | +</figure> |
| 110 | + |
| 111 | +#### Constant |
| 112 | + |
| 113 | +Tokens are locked indefinitely. At any time you can start the unlock process, which lasts for the |
| 114 | +initially chosen lockup duration. Vote power stays constant until you start the unlock process, then |
| 115 | +it declines linearly over the lockup period until release. |
| 116 | + |
| 117 | +<figure className="screensnippet-wrapper"> |
| 118 | + <img |
| 119 | + src={useBaseUrl('img/modular-governance/constant-lockup.jpg')} |
| 120 | + style={{ maxHeight: 'initial', padding: '0 0 8px 0' }} |
| 121 | + /> |
| 122 | + <figcaption> |
| 123 | + You lock 10.000 tokens with a lockup duration of one year. After three years you decide to start |
| 124 | + the unlocking process. Another year after that, you can withdraw the tokens. |
| 125 | + </figcaption> |
| 126 | +</figure> |
| 127 | + |
| 128 | +### Duration |
| 129 | + |
| 130 | +The duration of your cooldown is set in units of days. The longer your tokens are locked up, the |
| 131 | +more veHNT/veMOBILE/veIOT will be issued. If you chose the 'Constant' lockup period, this duration |
| 132 | +takes effect after the 'Unlock' action is executed. |
| 133 | + |
| 134 | +While it is possible to set a higher duration than 4 years, no additional vote power multiplier will |
| 135 | +be added. |
| 136 | + |
| 137 | +### Vote Power Multiplier |
| 138 | + |
| 139 | +veHNT/veMOBILE/veIOT positions can be strengthened by increasing the duration that they are locked |
| 140 | +for. The resulting multiplier designates the amount of vote and delegation power (delegate power |
| 141 | +only applicable to veHNT) of the position. It is not indicative of an investment return. |
| 142 | + |
| 143 | +In other words, if you locked up 10 HNT for 6 months, you'd get the same 10 HNT back 6 months later. |
| 144 | +During this time you would be able to [delegate](#delegating-stakes) your position to a network to |
| 145 | +get a return in that network's tokens. |
| 146 | + |
| 147 | +Positions created during the [landrush](#landrush) period received an additional 3x multiplier on |
| 148 | +the overall lockup multiplier. |
| 149 | + |
| 150 | +<figure className="screensnippet-wrapper"> |
| 151 | + <img |
| 152 | + src={useBaseUrl('img/modular-governance/duration.jpeg')} |
| 153 | + style={{ maxHeight: 250 }} |
| 154 | + className="add-border-radius add-shadow add-shadow-margin" |
| 155 | + /> |
| 156 | + <figcaption> |
| 157 | + The multiplier affects a position's voting and delegation power but does not mean more HNT is |
| 158 | + returned. |
| 159 | + </figcaption> |
| 160 | +</figure> |
| 161 | + |
| 162 | +### Delegating to a Subnetwork (veHNT Only) {#delegating-stakes} |
| 163 | + |
| 164 | +A position will not earn any token return until it is delegated to a subnetwork. A position without |
| 165 | +delegation earns voting rights, but no token return. |
| 166 | + |
| 167 | +Once you select how much HNT you want to lock up, an interface will appear to allow you to delegate |
| 168 | +your veHNT to a subnetwork for rewards. |
| 169 | + |
| 170 | +<figure className="screensnippet-wrapper"> |
| 171 | + <img |
| 172 | + src={useBaseUrl('/img/modular-governance/delegate-to-subdao.jpeg')} |
| 173 | + style={{ maxHeight: 350 }} |
| 174 | + className="add-border-radius add-shadow add-shadow-margin" |
| 175 | + /> |
| 176 | + <figcaption> |
| 177 | + You may choose to delegate your HNT position to either the MOBILE or IOT subnetwork. |
| 178 | + </figcaption> |
| 179 | +</figure> |
| 180 | + |
| 181 | +### Confirming your Position |
| 182 | + |
| 183 | +Once parameters are settled in the Helium Vote UI, you are now ready to create your |
| 184 | +veHNT/veMOBILE/veIOT position. |
| 185 | + |
| 186 | +The Helium Wallet App will ask for confirmation before issuing the Solana transaction that creates |
| 187 | +the veHNT/veMOBILE/veIOT position. |
| 188 | + |
| 189 | +<figure className="screensnippet-wrapper"> |
| 190 | + <img |
| 191 | + src={useBaseUrl('/img/modular-governance/estimated-changes.jpeg')} |
| 192 | + style={{ maxHeight: 375 }} |
| 193 | + className="add-border-radius add-shadow add-shadow-margin" |
| 194 | + /> |
| 195 | + <figcaption> |
| 196 | + After pressing "Lock Tokens", a Solana transaction is issued to create the position. |
| 197 | + </figcaption> |
| 198 | +</figure> |
| 199 | + |
| 200 | +## Managing Positions |
| 201 | + |
| 202 | +### Undelegating veHNT |
| 203 | + |
| 204 | +Once a position has been delegated, it can be undelegated in the same interface. Delegations can be |
| 205 | +changed at any time, however, it will take one epoch for the position to be available for |
| 206 | +redelegation. The position must be delegated for the entire epoch to receive rewards for that epoch. |
| 207 | +Received rewards need to be claimed manually. Only then will they be sent to the wallet the veHNT |
| 208 | +position is in. A delegated position can only be undelegated after all accrued rewards have been |
| 209 | +claimed. |
| 210 | + |
| 211 | +<figure className="screensnippet-wrapper"> |
| 212 | + <img |
| 213 | + src={useBaseUrl('/img/modular-governance/undelegate.jpeg')} |
| 214 | + style={{ maxHeight: 375 }} |
| 215 | + className="add-border-radius add-shadow add-shadow-margin" |
| 216 | + /> |
| 217 | + <figcaption> |
| 218 | + You will be required to approve a transaction in your wallet when you undelegate your veHNT. |
| 219 | + </figcaption> |
| 220 | +</figure> |
| 221 | + |
| 222 | +### Splitting a Position |
| 223 | + |
| 224 | +A position can be divided among multiple positions. This can be helpful if you wish to delegate your |
| 225 | +veHNT position to multiple networks (IOT or MOBILE) or set different lockup times to different |
| 226 | +positions. |
| 227 | + |
| 228 | +Be warned, splitting a [landrush](#landrush) position after the initial 10 day period will result in |
| 229 | +losing the multiplier for the position being split or transferred off the position. |
| 230 | + |
| 231 | +You must undelegate before splitting a position (veHNT only). You can redelegate after the split is |
| 232 | +complete. |
| 233 | + |
| 234 | +Positions that are in any active votes cannot be split. To change a position during a vote it must |
| 235 | +be relinquished from the active vote. |
| 236 | + |
| 237 | +### Transfer a Position |
| 238 | + |
| 239 | +Positions cannot be transferred from one account to another. Positions can only be transferred from |
| 240 | +one position to another within the same account. Positions can only transfer to positions of greater |
| 241 | +or equal duration. This functionality is useful for consolidating positions. Landrush positions |
| 242 | +cannot have more locked tokens transferred into them after the landrush period. Any veHNT |
| 243 | +transferred out of a landrush position will lose the 3x multiplier bonus. |
| 244 | + |
| 245 | +If a veHNT position, you must undelegate both positions before transferring. Once you've undelegated |
| 246 | +your position, you can click on your locked position to delegate your position to a new subnetwork. |
| 247 | + |
| 248 | +<figure className="screensnippet-wrapper"> |
| 249 | + <img |
| 250 | + src={useBaseUrl('/img/modular-governance/Split-Menu.jpg')} |
| 251 | + style={{ maxHeight: 300 }} |
| 252 | + className="add-border-radius add-shadow add-shadow-margin" |
| 253 | + /> |
| 254 | + <figcaption>Once your position is undelegated, click on the position to transfer it.</figcaption> |
| 255 | +</figure> |
| 256 | + |
| 257 | +### Extending a Position |
| 258 | + |
| 259 | +Extending a position will lengthen the time it will take to cooldown. Position holders may extend a |
| 260 | +position to gain a larger multiplier for voting power or delegation purposes. |
| 261 | + |
| 262 | +### Unlocking a Position (Cooldown) |
| 263 | + |
| 264 | +Before a position can become unlocked, you must first undelegate any delegations you have to |
| 265 | +existing subnetworks. If a position was created with a 'constant' [lockup period](#lockup-period), |
| 266 | +the ability to 'Unlock' the position will be visible in the position as long as the unlock has not |
| 267 | +yet been initiated. A constant lockup position will first need to be unlocked before the cooldown |
| 268 | +period begins. |
| 269 | + |
| 270 | +Unlocking the position will begin the cooldown decay process. The time this takes is the lockup |
| 271 | +duration set during the creation of the position. Vote power value will decay to 0 during this |
| 272 | +cooldown period. |
| 273 | + |
| 274 | +You will be required to close the position to return the locked up HNT/MOBILE/IOT to your wallet |
| 275 | +after the cooldown period has ended. You must claim all tokens from the position and undelegate the |
| 276 | +position before the Close Position button is available as an option. |
| 277 | + |
| 278 | +<figure className="screensnippet-wrapper"> |
| 279 | + <img |
| 280 | + src={useBaseUrl('img/modular-governance/two-years.jpg')} |
| 281 | + style={{ maxHeight: 250 }} |
| 282 | + className="add-border-radius add-shadow add-shadow-margin" |
| 283 | + /> |
| 284 | + <figcaption> |
| 285 | + This position will unlock over the period of 2 years once the unlock has been initiated. |
| 286 | + </figcaption> |
| 287 | +</figure> |
| 288 | + |
| 289 | +## Landrush {#landrush} |
| 290 | + |
| 291 | +For the first 10 days following the Solana migration, HNT holders were eligible to lock up their HNT |
| 292 | +for a 'landrush' bonus multiplier of 3x on the amount of |
| 293 | +veHNT.<sup>(</sup>[^1]<sup>,</sup>[^2]<sup>)</sup> |
| 294 | + |
| 295 | +If a landrush position is split after the first 10 days have lapsed, or if HNT is transferred from a |
| 296 | +landrush position into another position, the landrush bonus is forfeited on the HNT leaving the |
| 297 | +landrush position. |
| 298 | + |
| 299 | +No HNT can be added to a landrush position. |
| 300 | + |
| 301 | +[^1]: |
| 302 | + [HIP 76: Simplify Lockup and veTokens](https://github.com/helium/HIP/blob/main/0076-linear-lockup-curve.md#landrush-3x-multiplier) |
| 303 | + |
| 304 | +[^2]: |
| 305 | + [HIP 77: Launch Parameters for Solana Migration](https://github.com/helium/HIP/blob/main/0077-solana-parameters.md) |
| 306 | + |
| 307 | +## Automatically Created Validator Positions |
| 308 | + |
| 309 | +For token holders operating validators through the Solana migration, a veHNT position was |
| 310 | +automatically created based on the existing staked position previously tied to validators. The |
| 311 | +[Validator migration guide](/solana/migration/validator-operator) is a valuable reference in |
| 312 | +understanding specific details for former Validator operators. |
| 313 | + |
| 314 | +These positions are not automatically delegated to a subnetwork and are set with a constant |
| 315 | +[lockup period](#lockup-period) by default. |
| 316 | + |
| 317 | +As a note, these Validator positions will appear as one large position. |
| 318 | + |
| 319 | +## Possible Errors |
| 320 | + |
| 321 | +### Insufficient SOL Balance |
| 322 | + |
| 323 | +Creating new veHNT/veMOBILE/veIOT positions requires more SOL than standard token claims or |
| 324 | +account-to-account transfers. To lock up your HNT you will need approximately 0.006 SOL in your |
| 325 | +account to create the position. If you do not have enough SOL and proceed with the transaction, a |
| 326 | +notification will appear and allow you to swap a portion of your existing HNT/MOBILE/IOT to SOL to |
| 327 | +proceed with the transaction. |
| 328 | + |
| 329 | +<figure className="screensnippet-wrapper"> |
| 330 | + <img |
| 331 | + src={useBaseUrl('/img/modular-governance/no-sol-error.jpg')} |
| 332 | + style={{ maxHeight: 500 }} |
| 333 | + className="add-border-radius add-shadow add-shadow-margin" |
| 334 | + /> |
| 335 | + <figcaption> |
| 336 | + Transaction warning noting the user does not have enough $SOL in order to continue. |
| 337 | + </figcaption> |
| 338 | +</figure> |
| 339 | +<br /> |
0 commit comments