This guide explains Bitcoin Core createrawtransaction RPC in plain English. It shows what the command does, what its result means and what it cannot prove.
TL;DR
- What it is: Bitcoin Core 0.16.0 createrawtransaction built an unsigned raw transaction from explicitly selected outpoints and outputs. Outputs could pay addresses or carry hex data, while optional locktime and replaceable arguments influenced sequence and BIP 125 signalling.
- Why it matters: createrawtransaction is an unsigned serialisation tool, not a wallet or fee safety system. Secure use requires independently verified inputs, exact output arithmetic, explicit sequence policy and a separate signing and broadcast approval chain.
- Current position: Bitcoin Core 0.16.0 createrawtransaction built an unsigned raw transaction from explicitly selected outpoints and outputs.
Bitcoin Core createrawtransaction RPC in simple English
Bitcoin Core createrawtransaction RPC: The returned hex contains no signatures and is not automatically recorded or broadcast. Give it a unique request identifier, hash the unsigned fields and pass it through authenticated signing channels.
Simple example
A miner is checking Bitcoin Core createrawtransaction RPC. Validate network, decoded script and exact amount before construction. Verify that every outpoint exists on the intended network, is unspent under the required confirmation policy and belongs to the authorised funding source.
Key terms in plain English
- BIP:
- Bitcoin Improvement Proposal: a document describing a proposed rule, standard or process. Its status must be checked separately.
- Bitcoin Core:
- Widely used software that validates Bitcoin and can provide wallet, network and operator tools.
- RPC:
- A command that software sends to a node to request information or a local action.
- Node:
- A computer running Bitcoin software that checks data and communicates with other peers.
Input outpoints
Each input specifies a txid and output index, with an optional sequence. Verify that every outpoint exists on the intended network, is unspent under the required confirmation policy and belongs to the authorised funding source. Record value and script from an independently validating node because the raw constructor does not retrieve or confirm them for business approval.
Address and data outputs
The output object maps destination addresses to BTC amounts and may include a data key containing hex. Validate network, decoded script and exact amount before construction. Data outputs are provably unspendable and consume block space; enforce a narrow organisational policy and reject arbitrary customer-supplied payloads, secrets or personal information.
Amount and fee arithmetic
Historical help labels payment amounts in BTC and accepts numeric or string values. Convert authorised integer satoshis with fixed decimal arithmetic and never depend on binary floating-point. Sum known input values minus output values to derive the fee, then divide by final virtual size. A raw transaction can encode an accidental excessive fee without warning.
Locktime and sequence
A non-zero locktime also activates locktime behaviour on inputs, while explicit sequence values can alter relative lock semantics and replaceability. Model block-height versus timestamp locktime and validate every sequence. Incompatible explicit sequences cause an error when replaceable is requested; implicit defaults should still be decoded and reviewed.
BIP 125 signalling
replaceable defaulted to false in the historical interface and could mark the transaction for opt-in replacement. Signalling does not guarantee replacement acceptance, while unconfirmed replaceable ancestors can affect practical replacement. Decide policy before signing, not after broadcast, and show it in the approval summary.
Unsigned lifecycle
The returned hex contains no signatures and is not automatically recorded or broadcast. Give it a unique request identifier, hash the unsigned fields and pass it through authenticated signing channels. Keep construction, signing and broadcast credentials separate so compromise of a stateless builder cannot spend funds.
How specialists test it
Operators test the command on a non-production node first. They check a normal reply, an invalid request, a timeout and a restart. This shows what the response means and prevents one local result from being mistaken for a network-wide outcome.
Frequently asked questions
What is the main point of Bitcoin Core createrawtransaction RPC?
Bitcoin Core createrawtransaction RPC: The returned hex contains no signatures and is not automatically recorded or broadcast.
For Bitcoin Core createrawtransaction RPC, what should a beginner know about input outpoints?
Each input specifies a txid and output index, with an optional sequence.
For Bitcoin Core createrawtransaction RPC, what should a beginner know about address and data outputs?
The output object maps destination addresses to BTC amounts and may include a data key containing hex.
For Bitcoin Core createrawtransaction RPC, what should a beginner know about amount and fee arithmetic?
Historical help labels payment amounts in BTC and accepts numeric or string values.
Conclusion
createrawtransaction is an unsigned serialisation tool, not a wallet or fee safety system. Secure use requires independently verified inputs, exact output arithmetic, explicit sequence policy and a separate signing and broadcast approval chain.
Primary sources
Check the current specification status and the documentation for the exact implementation you operate before moving production funds or changing a mining node.
Join the ASIC Mining Discussion
Members can read and join the discussion
Log in to read comments from other miners. Create a free account if you would like to ask a question or share your experience.
Membership helps us protect the discussion from spam and keep answers useful.