Transaction Data

Transaction Data

A bitcoin transaction is just a bunch of data that describes the movement of bitcoins.

It takes in inputs, and creates new outputs.



Transaction: c1b4e695098210a31fe02abffe9005cffc051bbe86ff33e173155bcbdc5821e3


Field Data Size Description
Version 01000000 4 bytes Which version of transaction data structure we're using.
Input Count 01 Variable Indicates the upcoming number of inputs.
Field Data Size Description
TXID 796...efc 32 bytes Refer to an existing transaction.
VOUT 01000000 4 bytes Select one of its outputs.
ScriptSig Size 6a Variable Indicates the upcoming size of the unlocking code.
ScriptSig 473...825 A script that unlocks the input.
Sequence ffffffff 4 bytes
Output Count 01 Variable Indicate the upcoming number of outputs.
Field Data Size Description
Value 4baf210000000000 8 bytes The value of the output in satoshis.
ScriptPubKey Size 19 Variable Indicates the upcoming size of the locking code.
ScriptPubKey 76a9...88ac A script that locks the output.
Locktime 00000000 4 bytes Set a minimum block height or Unix time that this transaction can be included in.


A transaction is basically a series of inputs and a series of outputs.

In further detail; the transaction data tells you how to unlock existing packages of bitcoins (from previous transactions), and how to lock them up again in to new packages.


A raw transaction is sometimes called a "serialized transaction", because it's just a bunch of individual pieces of data zipped up in to one string of data.

By Greg Walker,

Last Updated: Mar 11 2018
  • Mar 11 2018: added link to scriptPubKey
  • Nov 03 2017: /glossary - transaction-data and output edits - better navigation and consistency
  • Nov 03 2017: /glossary/output - updated, and also some small similar updates to other pages
  • Nov 03 2017: ...added natural 'Reverse Byte Order' tooltips to icons
  • Nov 03 2017: glossary/transaction-data - restructured: better splash images, put fields in to tables with icons, pre-highlighted transaction data, much better :)
  • Mar 02 2017: - added link to The Royal Fork
  • Mar 01 2017: - added tooltip to encourage hovering
  • Mar 01 2017: - Added to description of locktime.
  • Mar 01 2017: tidying - moved transaction css and js in to a common folder (because being used in both /browser/ and /glossary/ now)
  • Feb 26 2017: - edited
  • Feb 24 2017: - first commit
  • Feb 23 2017: glossary - added xlinks to and
  • Feb 13 2017: - first draft
  • Jan 16 2017: - first commit
  • Jan 13 2017: tidied up glossary pages - css, formatting, restructuring
  • Jan 03 2017: Fixed broken HTML when using pandoc.
  • Jan 01 2017: Moved /manual/guide/ and /manual/reference/ to /guide/ and /glossary/