These docs are for v0.15.0. Click to read the latest docs for v19.0.0-redirect.

Serialized Blocks

Under current consensus rules, a block is not valid unless its serialized size is less than or equal to 2 MB. All fields described below are counted towards the serialized size.

BytesNameData TypeDescription
80block headerblock_headerThe block header in the format described in the block header section.
Variestxn_countcompactSize uintThe total number of transactions in this block, including the coinbase transaction.
Variestxnsraw transactionEvery transaction in this block, one after another, in raw transaction format. Transactions must appear in the data stream in the same order their TXIDs appeared in the first row of the merkle tree. See the merkle tree section for details.

Coinbase

The first transaction in a block must be a coinbase transaction which should collect and spend any transaction fee paid by transactions included in this block.

Block Subsidy

Until the coin limit (~18 million Dash) is hit, all blocks are entitled to receive a block subsidy of newly created Dash value. The newly created value should be spent in the coinbase transaction.

The block subsidy declines by ~7.1% per year until all Dash is mined. Subsidy calculations are performed by the Dash Core GetBlockSubsidy() function.

Block Reward

Together, the transaction fees and block subsidy are called the block reward. A coinbase transaction is invalid if it tries to spend more value than is available from the block reward.

The block reward is divided into three parts: miner, masternode, and superblock.

PayeeSubsidyDescription
Miner45%Payment for mining
Masternode45%Payment for masternode services (PrivateSend, InstantSend, Governance, etc.)
Superblock10%Payment for maintenance/expansion of the ecosystem (Core development, marketing, integration, etc.)

What’s Next