How to stake and delegate LPT in order to participate in the network

The easiest way to stake token is to visit explorer.livepeer.org/transcoders.

This will display a list of active and candidate transcoders on the network, along with the prices they are charging, and some useful stats.

You can stake to the network by clicking “BOND” next to your chosen node, and then follow the instructions.

It is your responsibility as a token holder to research transcoders based upon their past performance, statistics, rates they are charging, and any social campaigns that they’ve posted indicating why they believe they will do a good job for the network.

Click on any transcoder to view their on chain statistics. Visit this forum thread to view campaigns that certain transcoders may have posted.

When you have selected the transcoder you would like to delegate your stake towards, return to the explorer and click the “bond” button using your Ethereum enabled browser (Metamask, Parity, Mist, Toshi, Cipher, etc). It will ask you how many token you would like to bond, and have you confirm an Ethereum transaction.

Forum%20Gif

Remember that you can always change who you are bonded to or unbond if you don’t believe the transcoder is doing a good job, but when you bond, you have to wait for the multi-week unbonding period before you can withdraw your token.

Hi - Wondering how you can stake using a hardware wallet + mycrypto? Thx!

We’re working on direct hardware wallet support in the explorer right now: https://github.com/livepeer/livepeerjs/projects/1 (See “In Progress”).

In the meantime, do this via MyCrypto is possible, but requires a familiarity with the protocol that is really beyond the level of support that we can give and expect users to not run into issues. The short version is that you can issue an approve() txn on the Livepeer Token contract for the amount you want to bond, approving the address of the BondingManager Proxy contract. And then you would call bond() on the BondingManager Proxy contract. But you need to use the ABI of the BondingManager Target contract in order to expose this method through the MyCryto interface. Like I said…there’re some hoops to jump through so we don’t really support this method for those who aren’t brave :slight_smile:

Here’re the addresses of the contracts, and links to Etherscan where you can find the ABIs: https://github.com/livepeer/wiki/wiki/Deployed-Contract-Addresses

Would definitely recommend testing it first with a small amount of token.

Another method of course is just transferring some of the token to a web3 enabled wallet like Metamask or Toshi, and using that to bond. But, the direct Ledger support should be coming soon.

1 Like

This is super helpful, thank you! I realize this may be an annoying question…but very rough eta on “soon”? like weeks or months? Also where should we watch for the implementation? this thread?

Hey there,
thanks for all the details. I am a big fan of your didactic approach. A question on my side regarding the unbonding : how much time is the “multi-week unbonding period?”
Cheers, Ben

Hey Ben. Right now it’s 7 days. After you unbond and wait 7 days you can then withdraw your LPT back into your account.

I wanted to add a quick update to the original post, which is that there’s now 1 more step when you first stake: You will be prompted to enter an amount of Livepeer token that you approve the contract to stake on your behalf.


The most conservative thing to do is to enter the same # of LPT that you wish to stake. However if you come back to stake more later, you’ll need to go through this step again. If you enter a very large # like 1000000, then you can continue to stake and stake and stake in the future without having to approve more. (The contract will have permission to transfer 1000000 LPT on your behalf, but since it’s a smart contract and you can review the code, it shouldn’t actually take any LPT from you unexpectedly, unless there’s a bug - which is always a risk).

How do I get LPT now?

@muta6150 you can get LPT by participating in the Merklemine. Check out this post for more information - Introducing the MerkleMine

Hi! How long does it take for tokens to appear on your dashboard as bonded once the token staking flow is completed? When I go to the overview page, I see a notification that reads “bonded to a delegate”, but on my Delegate tab I’m still seeing Status = Unbonded. Thanks in advance for any help!

Do you still need help on this? The token should appear as bonded immediately, thought they won’t start earning inflation until the next round. It’s possible the explorer just needed a refresh. We’ve also heard reports of caching issues until browser restart, but haven’t been able to reproduce.

All set now. My hunch is it was a caching issue. Wasn’t able to see the bonding status update until I did a full computer / browser reboot. FYI - Using chrome on MacOS in case it’s helpful for future QA.

Thanks for following up!

What are the steps for bonding to a new transcoder? If you initiated the unbonding process, are you able to delegate those LPT to a new transcoder? Or, do you have to wait for the unbonding process to complete?

Thanks!

You do not need to unbond. You can bond all token to a different transcoder by hitting “Bond” button on new transcoder, and all token will immediately be transferred for next round.

Gah, ok. I tried that earlier and for some reason it didn’t seem to work. Said that I had an insufficient token balance.

If i’ve initiated the unbonding process do I need to wait for the 7-day period if I want to reallocate my LPT?

Thanks for the information.

Hi. Thanks for the guide. Could you please advise how one can check what’s the current UnbondingPeriod set to? Thanks

The unbonding period is 7 days.

1 Like

Hi, why do I need to allow LPT to withdraw my LPT and automate transactions for me? Can I edit the permission and set max spend limit by 1?