# Smart contract withdrawal (non-custodial)

**URL:** <https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405>\
**Category:** Proposals\
**Created:** [March 8, 2021, 3:44pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405 "2021-03-08T15:44:35Z")\
**Posts on this page:** 17\
**Page:** 1

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [March 8, 2021, 3:44pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/1 "2021-03-08T15:44:35Z")

</div>

On Lido’s blog, it said

> “The preferred solution would require eth1 withdrawal addresses to be accepted by the Ethereum community. If/when this happens, the withdrawal credentials will instead be set to an upgradeable smart contract that will handle withdrawals when they are enabled – an entirely non-custodial liquid staking solution. This should happen in the near future and the feasibility to migrate to this kind of solution as soon as it’s practical will be evaluated from time to time”

ETH 2.0’s latest spec now allow this. Will Lido be migrating to smart contract based withdrawal soon? This would make the protocol fully non-custodial.

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [March 8, 2021, 5:25pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/2 "2021-03-08T17:25:15Z")

</div>

Yes, we will. We’re developing a [spec for withdrawals](https://research.lido.fi/t/lido-withdrawal-specs/341) now.

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [March 22, 2021, 4:32pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/3 "2021-03-22T16:32:31Z")

</div>

Not to rush you or anything but is there an approximate timeline by when this would happen? Rocketpool is set to launch soon with this capability and it would massively help us if stETH did not have this custodial disadvantage

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [March 27, 2021, 1:08pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/4 "2021-03-27T13:08:03Z")

</div>

We’re not in much of a hurry for it bc the switch to a smart contract won’t do anything to 190k of eth deposited on a threshold sig, so won’t improve situation immediately. It’s likely that only after withdrawals are enabled we can get rid of it completely.

So we take our time designing the best solution for it to the utmost quality and usability.

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [March 28, 2021, 7:08am UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/5 "2021-03-28T07:08:15Z")

</div>

Okay fair enough! And also, I recall there was supposed to be a check in March to see if anyone had lost their withdrawal key and if yes, there would be a resharding ceremony. Has this happened/will it happen and could the Discord be updated about this?

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [March 28, 2021, 3:07pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/6 "2021-03-28T15:07:45Z")

</div>

Scheduled for tomorrow actually! It’s most likely a simple check.

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [March 30, 2021, 3:39am UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/7 "2021-03-30T03:39:31Z")

</div>

Nice, hope it went well! If you could update the results either here or Discord or Twitter, that’d be great. Thank you!

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [March 31, 2021, 5:16pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/8 "2021-03-31T17:16:11Z")

</div>

Check passed - everyone replied that they do have their secrets safe.

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [April 2, 2021, 7:34am UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/9 "2021-04-02T07:34:28Z")

</div>

I’m sorry to be a dick about this but is there some way you could explicitly show this in a verifiable way? I’m not familiar enough with the secret scheme in question but perhaps people could sign a message jointly or something like that?

Again, not be anal about this but I think that kind of transparency is a lot better than the private communication to you that the secrets are safe. I hope you see where I’m coming from 🙂

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [April 2, 2021, 8:11am UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/10 "2021-04-02T08:11:06Z")

</div>

You’re approaching this in an absolutely rational way, and there’s nothing to be sorry about.

This round of checks is verbal confirmation only - the reason is some of these people store the secret in pretty hard to retrieve way and it’s a big undertaking to sign a message. We’re relying on their honesty anyway, so it’s an inferior way to confirm ownership, but not that inferior.

We want to make next round (in another ~3 months) to be a signing ceremony, one after that a verbal confirmation again, then another signing ceremony etc.

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [April 2, 2021, 5:38pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/11 "2021-04-02T17:38:51Z")

</div>

Brilliant - and that does make a lot of sense!

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [April 2, 2021, 6:29pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/12 "2021-04-02T18:29:34Z")

</div>

[Release Your keys, now in Portuguese! · ethereum/eth2.0-deposit-cli · GitHub](https://github.com/ethereum/eth2.0-deposit-cli/releases/tag/v1.2.0) ← eth1 withdrawal addresses mature enough to be included in the official tool.

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [August 30, 2021, 4:35am UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/13 "2021-08-30T04:35:27Z")

</div>

> [@vsh](#):
>
> We want to make next round (in another ~3 months) to be a signing ceremony,

Can I check if this has happened with all 11 holders proving that they still have access to their part of the key?

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [September 3, 2021, 5:27pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/14 "2021-09-03T17:27:33Z")

</div>

Sorry to press this but has this happened yet? It was mentioned here - [https://blog.lido.fi/withdrawal-credentials-in-lido/](https://blog.lido.fi/withdrawal-credentials-in-lido/) - that a full drill with all 11 holders would happen sometime in August. Thanks!

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [September 6, 2021, 7:09am UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/15 "2021-09-06T07:09:51Z")

</div>

I’m sorry to say that didn’t happen. The first run was cumbersome and we set to make the process a lot more smooth before the second one, and are late on that. We have a definite proof that at least six parties are able to sign a tx, and verbal confirmation from 5 more for now.

---

<div class="post-metadata">

**Author:** ![AstronautThis](https://avatars.discourse-cdn.com/v4/letter/a/5e9695/32.png) [@AstronautThis](https://research.lido.fi/u/AstronautThis)\
**Post date:** [September 6, 2021, 3:56pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/16 "2021-09-06T15:56:18Z")

</div>

Understood, and thank you for the frank explanation. Can I check if it is still scheduled and if so, approximately when it might happen?

---

<div class="post-metadata">

**Author:** ![vsh](https://avatars.discourse-cdn.com/v4/letter/v/b19c9b/32.png) [@vsh](https://research.lido.fi/u/vsh)\
**Post date:** [September 6, 2021, 3:59pm UTC](https://research.lido.fi/t/smart-contract-withdrawal-non-custodial/405/17 "2021-09-06T15:59:20Z")

</div>

No concrete date, but will happen within next three months.
