<p>This is technically possible but the user friendly tools are a work in progress depending on what you want to use. You've added the label &quot;Ledger Hardware Wallet&quot; to your question (since removed) so you may be interested in the latest state of <a href="https://blog.ledger.com/miniscript-is-coming/" rel="nofollow noreferrer">Miniscript support in Ledger devices</a>.</p>
<p>How I would do this currently (there may be better ways today or in future) is to use one of these sites (<a href="https://bitcoin.sipa.be/miniscript/" rel="nofollow noreferrer">sipa's Miniscript</a>, <a href="https://bitcoindevkit.org/bdk-cli/playground/" rel="nofollow noreferrer">Bitcoin Dev Kit playground</a>, shesek's <a href="https://min.sc/" rel="nofollow noreferrer">min.sc</a>) to generate your Miniscript from a Policy. sipa's site has an example Policy of &quot;A 3-of-3 that turns into a 2-of-3 after 90 days&quot;:</p>
<pre><code>thresh(3,pk(key_1),pk(key_2),pk(key_3),older(12960))
</code></pre>
<p>that compiles down to Miniscript of:</p>
<pre><code>thresh(3,pk(key_1),s:pk(key_2),s:pk(key_3),sln:older(12960))
</code></pre>
<p>To change the Policy into what you want you could do (12960 x 4 = 51840):</p>
<pre><code>thresh(2,pk(key_1),pk(key_2),pk(key_3),older(51840))
</code></pre>
<p>and run that through the compiler to get the Miniscript. Once you have the Miniscript you can import it into a Miniscript supporting wallet like Bitcoin Core, <a href="https://docs.specter.solutions/diy/descriptors/" rel="nofollow noreferrer">Specter</a> or possibly in future Ledger.</p>
<p>I'd advise you practice with signet or testnet coins a few times first as the spending from this Miniscript will require <a href="https://github.com/bitcoin/bitcoin/blob/master/doc/psbt.md" rel="nofollow noreferrer">PSBT</a> and <a href="https://github.com/bitcoin-core/HWI" rel="nofollow noreferrer">HWI</a> if you are using hardware signers.</p>
<p>TL;DR technically possible but requires a lot more work to make it user friendly. It isn't using Taproot either so it would be a SegWit v0 address.</p>

CC BY-SA 4.0
2022-11-22T17:49:59.677Z
2022-11-22T17:56:02.530Z
2022-11-22T17:56:02.530Z
Michael Folkson
<p>I want to set up a multisig that requires fewer signatures as time goes by.</p>
<p>Let T be some time in the future (e.g. a year from now).</p>
<p>Before T, 2/3 signatures are required to unlock the UTXO (send coins).
After T, 1/3 signatures is required to unlock the UTXO.</p>
<p>The idea is to provide a recovery mechanism in case I lose 2 out of 3 keys. If I do not lose 2 keys, then my multisig would be just as secure as a regular 2/3 as long as I move the coins before T. If I lose 2 keys, then I have a recovery mechanism as long as I still have 1 key and none of the 3 keys were leaked.</p>
<p>Is this possible in Bitcoin, and if so, how? Is there a user-friendly tool that lets us do this? Thanks in advance!</p>

<script><multi-signature><taproot><miniscript><tools>
How do I set up a time-decay multisig?
Yoda
# How do I set up a time-decay multisig?

(Asked by: username_0 on 2022-11-19)

I want to set up a multisig that requires fewer signatures as time goes by.

Let T be some time in the future (e.g. a year from now).

Before T, 2/3 signatures are required to unlock the UTXO (send coins).
After T, 1/3 signatures is required to unlock the UTXO.

The idea is to provide a recovery mechanism in case I lose 2 out of 3 keys. If I do not lose 2 keys, then my multisig would be just as secure as a regular 2/3 as long as I move the coins before T. If I lose 2 keys, then I have a recovery mechanism as long as I still have 1 key and none of the 3 keys were leaked.

Is this possible in Bitcoin, and if so, how? Is there a user-friendly tool that lets us do this? Thanks in advance!

**Tags:** script, multi-signature, taproot, miniscript, tools


---

## 1 answers

### Answer by username_1 on 2022-11-22. Score: 2

This is technically possible but the user friendly tools are a work in progress depending on what you want to use. You've added the label "Ledger Hardware Wallet" to your question (since removed) so you may be interested in the latest state of [Miniscript support in Ledger devices](https://blog.ledger.com/miniscript-is-coming/).

How I would do this currently (there may be better ways today or in future) is to use one of these sites ([sipa's Miniscript](https://bitcoin.sipa.be/miniscript/), [Bitcoin Dev Kit playground](https://bitcoindevkit.org/bdk-cli/playground/), shesek's [min.sc](https://min.sc/)) to generate your Miniscript from a Policy. sipa's site has an example Policy of "A 3-of-3 that turns into a 2-of-3 after 90 days":

```
thresh(3,pk(key_1),pk(key_2),pk(key_3),older(12960))

```

that compiles down to Miniscript of:

```
thresh(3,pk(key_1),s:pk(key_2),s:pk(key_3),sln:older(12960))

```

To change the Policy into what you want you could do (12960 x 4 = 51840):

```
thresh(2,pk(key_1),pk(key_2),pk(key_3),older(51840))

```

and run that through the compiler to get the Miniscript. Once you have the Miniscript you can import it into a Miniscript supporting wallet like Bitcoin Core, [Specter](https://docs.specter.solutions/diy/descriptors/) or possibly in future Ledger.

I'd advise you practice with signet or testnet coins a few times first as the spending from this Miniscript will require [PSBT](https://github.com/bitcoin/bitcoin/blob/master/doc/psbt.md) and [HWI](https://github.com/bitcoin-core/HWI) if you are using hardware signers.

TL;DR technically possible but requires a lot more work to make it user friendly. It isn't using Taproot either so it would be a SegWit v0 address.


---

