Vbytes
The virtual byte: a quarter of a transaction's weight, the unit fee rates are quoted in, and why it differs from a transaction's raw size.
A transaction has a size in bytes and a size in vbytes (vB, virtual bytes). The second is the one fees are priced in. This page is the primer; the exact formulas are on weight units and vbytes.
The definition #
block.space's data-types reference gives it:
vsize = ceil(weight / 4)
So a vbyte is a quarter of the weight, rounded up for the transaction as a whole. Since a base byte weighs 4 WU and a witness byte weighs 1 WU:
- a base byte counts as 1 vB;
- a witness byte counts as a quarter of a vB.
A transaction with no witness has the same size in bytes and in vbytes. A transaction that is mostly witness has about four times as many bytes as vbytes.
Two real transactions #
From the BTI case studies (2026-08-10):
| transaction | bytes | vbytes |
|---|---|---|
| the first BRC-20 mint, block 779,833 | 338 | 155 |
| a 3.9 MB jpeg inscription, block 960,962 | 3,911,459 | 977,936 |
The jpeg is almost all witness; the case study puts its ratio of bytes to vbytes, commit included, at about 4.00.
Why the difference matters #
Fee markets charge per vbyte (see fees and the mempool). The raw bytes are, in the reference's words, "real bytes on disk and on the wire". BTI's design takes a side on which one measures blockspace: "raw bytes are the measure; vbytes are an observable." It keeps both on every row anyway, because the ratio between them shows how much of the witness discount a protocol takes.
The chain in both units #
The census, as of block 972,302, 2026-10-20 10:16:21 UTC:
- raw bytes: 777.04 GB
- vbytes: 567.70 GB
block.space's boards offer a bytes and a vbytes toggle for the same reason.
Related #
Sources #
Live figures: census as of block 972,302, 2026-10-20 10:16:21 UTC. Refreshed hourly.
Updated 2026-10-20 · This page as Markdown