Skip to content
buybitcoinsmart

Bitcoin glossary

Developer reference

This is the reference layer: the P2P message types, script opcodes, RPC field names and protocol structures you meet reading bitcoin code or decoding a raw transaction, rather than while buying anything.

It exists because the Bitcoin Core developer glossary, which is where most of these terms are still looked up, has barely changed since 2021, and several of its entries no longer describe the software. The BIP70 payment protocol it documents was deleted from Bitcoin Core in version 0.20.0. Its bloom filter entries describe a mechanism Core stopped serving by default in 0.19.0. Every one of those is rebuilt here against what the code does now, with the correction stated rather than quietly applied.

The terms fall into groups. Message types like inv, getdata and MSG_FILTERED_WITNESS_BLOCK belong to the peer to peer protocol. Opcodes like OP_RETURN and OP_CHECKSIG belong to Script. Signature hash flags, sequence numbers and locktime govern what a signature actually commits to. The X509 and payment request entries are historical, and they say so.

Most readers will never need this section, and that is fine. It is here so a search for an exact field name lands on a page that explains it accurately instead of on a one line stub.

47 terms. Last reviewed 2026-09-24.

Terms in Developer reference

The other 13 sections

Frequently asked questions

Who is this section for?

Anyone reading bitcoin's source, decoding a raw transaction, or working against the P2P protocol and the RPC interface. It is the reference layer rather than the buying layer, and none of it is needed to own or spend bitcoin.

What is Bitcoin Script?

The small stack-based language that decides whether a coin may be spent. It has no loops, on purpose, which makes the cost of every script predictable before it runs. Most transactions use one of a handful of standard patterns.

Why do byte orders keep changing?

Because bitcoin displays hashes in the opposite order to the one it stores them in. Internal byte order is what the protocol uses, while RPC output and block explorers reverse it. Mixing the two is the classic first bug.

Where does the authoritative documentation live?

In the source and in the BIPs rather than on any one site. Entries here cite the specification where one exists, and correct the older developer documentation where it has fallen out of date rather than repeating it.

Leer esta página en español