<p>The terminology here is a bit confusing. A wallet is a software connecting to the Bitcoin network to track your transactions. It generates addresses, which commit to the definition of the spending conditions for your coins.</p>
<p>You can create a wallet which generates addresses such as received coins are not spendable until a specific date (or block height). This feature leverages the <a href="https://bitcoin.stackexchange.com/q/71916/101498"><code>CHECKLOCKTIMEVERIFY</code> opcode</a> in <a href="https://en.bitcoin.it/wiki/Script" rel="nofollow noreferrer">Bitcoin Script</a>.</p>
<p>This feature is available today on the <a href="https://bitcoincore.org/en/download/" rel="nofollow noreferrer">Bitcoin Core wallet</a>, although it requires to be comfortable with typing commands. It is made available in the wallet through the use of Miniscript Output Descriptor.</p>
<p>A related feature is to have a spending condition which is not available until a period of time has passed after receiving the coin (as opposed to a specific fixed date). This has the advantage of not putting an &quot;expiration date&quot; on your wallet. This feature is available in the <a href="https://github.com/wizardsardine/liana/" rel="nofollow noreferrer">Liana wallet</a> which is more approachable to a newcomer than setting up Miniscript descriptors directly on the Bitcoin Core wallet.</p>
<hr />
<p><em>Disclosure: i created and maintained Liana at Wizardsardine, a company of which i'm still a shareholder.</em></p>

CC BY-SA 4.0
2024-12-06T19:07:35.683Z
2024-12-09T17:50:39.870Z
2024-12-09T17:50:39.870Z
Antoine Poinsot
<p>I want to understand if it is possible to include an absolute locktime during the wallet generation process.</p>
<p>If I understand correctly, this would mean that the send function would be non-operational until the block height is reached, and any funds could not be transferred even if the private key was hacked.</p>
<p>I am not looking for a way to timelock individual transactions.</p>

<bitcoin-core><output-script-descriptors><checklocktimeverify>
Can the CLTV opcode be included in a Bitcoin wallet creation script?
SeedCard
# Can the CLTV opcode be included in a Bitcoin wallet creation script?

(Asked by: username_0 on 2024-12-06)

I want to understand if it is possible to include an absolute locktime during the wallet generation process.

If I understand correctly, this would mean that the send function would be non-operational until the block height is reached, and any funds could not be transferred even if the private key was hacked.

I am not looking for a way to timelock individual transactions.

**Tags:** bitcoin-core, output-script-descriptors, checklocktimeverify


---

## 1 answers

### Answer by username_1 on 2024-12-06. Score: 2

The terminology here is a bit confusing. A wallet is a software connecting to the Bitcoin network to track your transactions. It generates addresses, which commit to the definition of the spending conditions for your coins.

You can create a wallet which generates addresses such as received coins are not spendable until a specific date (or block height). This feature leverages the [`CHECKLOCKTIMEVERIFY` opcode](https://bitcoin.stackexchange.com/q/71916/101498) in [Bitcoin Script](https://en.bitcoin.it/wiki/Script).

This feature is available today on the [Bitcoin Core wallet](https://bitcoincore.org/en/download/), although it requires to be comfortable with typing commands. It is made available in the wallet through the use of Miniscript Output Descriptor.

A related feature is to have a spending condition which is not available until a period of time has passed after receiving the coin (as opposed to a specific fixed date). This has the advantage of not putting an "expiration date" on your wallet. This feature is available in the [Liana wallet](https://github.com/wizardsardine/liana/) which is more approachable to a newcomer than setting up Miniscript descriptors directly on the Bitcoin Core wallet.

---

*Disclosure: i created and maintained Liana at Wizardsardine, a company of which i'm still a shareholder.*


---

