<p><code>nLocktime</code> has always been standard and is used to prevent <a href="https://github.com/bitcoin/bitcoin/pull/2340" rel="nofollow">fee sniping</a>. </p>

<p><code>OP_CHECKLOCKTIMEVERIFY</code> is currently not implemented and is not enforced. </p>

<p>A non-standard transaction can be mined by a miner, but will not relay around the normal peer to peer network. A transaction who has a <code>nLockTime</code> which has not been passed is <em>invalid</em>, and won't be relayed or included in a block until this time has passed. </p>

CC BY-SA 3.0
2015-10-20T02:59:12.453Z
[Also related to fee sniping.](https://github.com/bitcoin/bitcoin/pull/6216)
morsecoder
CC BY-SA 3.0
2015-10-20T09:27:09.463Z
So if my understanding is correct nLickTime is another parameter which defines when the current transaction will enter the blockchain.
On the other hand, OP_CHECKLOCKTIMEVERIFY is a script which gives us the ability to enter the transaction in the blockchain but to block the funds until a certain timestamp or block height.
angel limneos
CC BY-SA 3.0
2015-10-20T09:28:58.603Z
A minimum time or block height before which a transaction is invalid, yes.
Claris
CC BY-SA 3.0
2015-10-20T02:10:10.530Z
2015-10-20T02:10:10.530Z
Claris
<p>I would like to know if timelock transactions are considered standard with the current bitcoin client. If the answer is no, this means that you should use a different client or is it up to user choice?
Furthermore, if someone wants to construct such a transaction which is the structure it should have?</p>

CC BY-SA 3.0
2015-10-19T11:39:34.707Z
do you mean the locktime field in the transaction or OP_CHECKLOCKTIMEVERIFY?
mulllhausen
CC BY-SA 3.0
2015-10-19T12:16:33.047Z
Both I would say. nlocktime field is used to lock the transaction in the future and then how it will be verified?
angel limneos
CC BY-SA 3.0
2015-10-19T13:03:06.767Z
i wrote [this](http://bitcoin.stackexchange.com/a/40784/2116) to explain how locktime and OP_CHECKLOCKTIMEVERIFY work
mulllhausen
<locktime>
Timelock Transactions
angel limneos
# Timelock Transactions

(Asked by: username_0 on 2015-10-19)

I would like to know if timelock transactions are considered standard with the current bitcoin client. If the answer is no, this means that you should use a different client or is it up to user choice?
Furthermore, if someone wants to construct such a transaction which is the structure it should have?

**Tags:** locktime

> **Comments:**
> **username_1**: do you mean the locktime field in the transaction or OP_CHECKLOCKTIMEVERIFY?  
> **username_0**: Both I would say. nlocktime field is used to lock the transaction in the future and then how it will be verified?  
> **username_1**: i wrote [this](http://bitcoin.stackexchange.com/a/40784/2116) to explain how locktime and OP_CHECKLOCKTIMEVERIFY work  

---

## 1 answers

### Answer by username_2 on 2015-10-20. Score: 3 | Accepted answer

`nLocktime` has always been standard and is used to prevent [fee sniping](https://github.com/bitcoin/bitcoin/pull/2340).

`OP_CHECKLOCKTIMEVERIFY` is currently not implemented and is not enforced.

A non-standard transaction can be mined by a miner, but will not relay around the normal peer to peer network. A transaction who has a `nLockTime` which has not been passed is *invalid*, and won't be relayed or included in a block until this time has passed.

> **Comments:**
> **username_3**: [Also related to fee sniping.](https://github.com/bitcoin/bitcoin/pull/6216)  
> **username_0**: So if my understanding is correct nLickTime is another parameter which defines when the current transaction will enter the blockchain. On the other hand, OP_CHECKLOCKTIMEVERIFY is a script which gives us the ability to enter the transaction in the blockchain but to block the funds until a certain timestamp or block height.  
> **username_2**: A minimum time or block height before which a transaction is invalid, yes.  

---

