<p>Firstly, the version number is actually 4 bytes. It is a 32 bit little endian integer.</p>

<p>The version number is used to signal specific support for some technologies. Specifically, a transaction must be version 2 in order to use <code>OP_CHECKSEQUENCEVERIFY</code>. Otherwise the transaction is exactly the same as a version 1 transaction. Only transaction versions 1 and 2 are considered standard.</p>

CC BY-SA 3.0
2018-03-21T17:27:00.673Z
So what is the difference between a version1 and 2 transaction?
John
CC BY-SA 3.0
2018-03-21T17:34:43.893Z
None, unless your script uses `OP_CHECKSEQUENCEVERIFY`. If you try using that particular opcode in a v1 tx, it will not be accepted. Anything after 2 is reserved for future use
Raghav Sood
CC BY-SA 3.0
2018-03-21T18:05:28.377Z
In the wiki it says OP_CHECKSEQUENCEVERIFY is 0xb2 but i don't see it in this transaction. Transaction:0200000001e45241797d5251bd0ed4bc085465998bd22df57d96fd4d72e0bfa509d2e6b55001000000754c5ac1a0faa5878bb47f881fb5449a7ad8d8b0b983e1ed85c0b86ba7c294fed0ba8db60453bb741096df85cca17746dfbfda46916be1fd2ad6c2c2d6dec6c6c624b7b7b7b78c4715bc6802aa22a801555400001800015628a00fffd918a914a13173eaf749408ea09f91cbc2f3ddf9433d118a8851ffffffff0122020000000000001976a914a9e39afc50fb08221811eb1351d060aed6f7224f88ac00000000
John
CC BY-SA 3.0
2018-03-21T18:14:03.373Z
@John Yes, it is not in the transaction. A transaction does not need to have OP_CHECKSEQUENCEVERIFY in order to be version 2. If it does have OP_CHECKSEQUENCEVERIFY, it must be version 2.
Ava Chow
CC BY-SA 3.0
2018-03-21T17:05:17.847Z
2018-03-21T17:05:17.847Z
Ava Chow
<p>What does the transaction version byte mean and what would happen if it was 02 instead of 01?</p>

<p>Example:</p>

<pre><code>0200000001e45241797d5251bd0ed4bc085465998bd22df57d96fd4d72e0bfa509d2e6b55001000000754c5ac1a0faa5878bb47f881fb5449a7ad8d8b0b983e1ed85c0b86ba7c294fed0ba8db60453bb741096df85cca17746dfbfda46916be1fd2ad6c2c2d6dec6c6c624b7b7b7b78c4715bc6802aa22a801555400001800015628a00fffd918a914a13173eaf749408ea09f91cbc2f3ddf9433d118a8851ffffffff0122020000000000001976a914a9e39afc50fb08221811eb1351d060aed6f7224f88ac00000000
</code></pre>

<transactions><raw-transaction><transaction-version>
What does the transaction version byte mean?
John
# What does the transaction version byte mean?

(Asked by: username_0 on 2018-03-21)

What does the transaction version byte mean and what would happen if it was 02 instead of 01?
Example:
0200000001e45241797d5251bd0ed4bc085465998bd22df57d96fd4d72e0bfa509d2e6b55001000000754c5ac1a0faa5878bb47f881fb5449a7ad8d8b0b983e1ed85c0b86ba7c294fed0ba8db60453bb741096df85cca17746dfbfda46916be1fd2ad6c2c2d6dec6c6c624b7b7b7b78c4715bc6802aa22a801555400001800015628a00fffd918a914a13173eaf749408ea09f91cbc2f3ddf9433d118a8851ffffffff0122020000000000001976a914a9e39afc50fb08221811eb1351d060aed6f7224f88ac00000000

**Tags:** transactions, raw-transaction, transaction-version


---

## 1 answers

### Answer by username_1 on 2018-03-21. Score: 3

Firstly, the version number is actually 4 bytes. It is a 32 bit little endian integer.

The version number is used to signal specific support for some technologies. Specifically, a transaction must be version 2 in order to use `OP_CHECKSEQUENCEVERIFY`. Otherwise the transaction is exactly the same as a version 1 transaction. Only transaction versions 1 and 2 are considered standard.

> **Comments:**
> **username_0**: So what is the difference between a version1 and 2 transaction?  
> **username_2**: None, unless your script uses `OP_CHECKSEQUENCEVERIFY`. If you try using that particular opcode in a v1 tx, it will not be accepted. Anything after 2 is reserved for future use  
> **username_0**: In the wiki it says OP_CHECKSEQUENCEVERIFY is 0xb2 but i don't see it in this transaction. Transaction:0200000001e45241797d5251bd0ed4bc085465998bd22df57d96fd4d72e0bfa509d2e6b55001000000754c5ac1a0faa5878bb47f881fb5449a7ad8d8b0b983e1ed85c0b86ba7c294fed0ba8db60453bb741096df85cca17746dfbfda46916be1fd2ad6c2c2d6dec6c6c624b7b7b7b78c4715bc6802aa22a801555400001800015628a00fffd918a914a13173eaf749408ea09f91cbc2f3ddf9433d118a8851ffffffff0122020000000000001976a914a9e39afc50fb08221811eb1351d060aed6f7224f88ac00000000  
> **username_1**: @username_0 Yes, it is not in the transaction. A transaction does not need to have OP_CHECKSEQUENCEVERIFY in order to be version 2. If it does have OP_CHECKSEQUENCEVERIFY, it must be version 2.  

---

