Dash Core

Dash Core Developer Documentation

Welcome to the Dash Core developer documentation. You'll find guides and documentation to help you start working with Dash Core as quickly as possible, as well as support if you get stuck. Let's jump right in!

Get Started    Guides

Serialized Blocks

Under current consensus rulesconsensus rules - The block validation rules that full nodes follow to stay in consensus with other nodes., a blockblock - One or more transactions prefaced by a block header and protected by proof of work. Blocks are the data stored on the block chain. 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 headerblock header - An 80-byte header belonging to a single block which is hashed repeatedly to create proof of work. in the format described in the block header section.
Variestxn_countcompactSize uintcompactSize uint - A type of variable-length integer commonly used in the Dash P2P protocol and Dash serialized data structures.The total number of transactions in this block, including the coinbase transaction.
Variestxnsraw transactionraw transaction - Complete transactions in their binary format; often represented using hexadecimal. Sometimes called raw format because of the various Dash Core commands with "raw" in their names.Every 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.


The first transaction in a block must be a coinbase transactioncoinbase transaction - The first transaction in a block. Always created by a miner, it includes a single coinbase. which should collect and spend any transaction feetransaction fee - The amount remaining when the value of all outputs in a transaction are subtracted from all inputs in a transaction; the fee is paid to the miner who includes that transaction in a block. 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 rewardblock reward - The amount that miners may claim as a reward for creating a block. Equal to the sum of the block subsidy (newly available duffs) plus the transactions fees paid by transactions included in the block.. 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: minerminer - Mining is the act of creating valid Dash blocks, which requires demonstrating proof of work, and miners are devices that mine or people who own those devices., masternodemasternode - A computer that provides second-tier Dash functionality (InstantSend, PrivateSend, decentralized governance). Masternodes are incentivized by receiving part of the block reward, but must hold 1000 Dash as collateral to prevent sybil attacks., and superblocksuperblock - Special blocks that pay out funded budget proposals approved by masternode votes via the decentralized governance system. Superblocks are issued monthly and have a coinbase that can be much larger than normal. The superblock value is provided by the 10% of block rewards set aside for superblock payouts..

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.)

Block Reward Reallocation

Dash Core v0.16 included logic to gradually adjust the block reward allocation once the BIP-9 activation threshold was met. The reward reallocation was signaled via BIP-9 bit 5 and was activated at block 1374912 upon signalling by a sufficient number of blocks.

This reallocation will eventually result in miners receiving 40% of the non-governance block subsidy and masternodes receiving 60% of it rather than the 50/50 split that was used for several years.

Reward reallocation changes

Reward reallocation changes began at the first superblock following activation (block 1379128) and then occur every three superblock cycles (approximately once per quarter) until the reallocation is complete.

QuarterBlockMiner %Masternode %Change (%)
Q4 20201,379,12848.751.31.30%
Q1 20211,428,97647.452.61.30%
Q2 20211,478,82446.753.30.70%
Q3 20211,528,67246.054.00.70%
Q4 20211,578,52045.454.60.60%
Q1 20221,628,36844.855.20.60%
Q2 20221,678,21644.355.70.50%
Q3 20221,728,06443.856.20.50%
Q4 20221,777,91243.356.70.50%
Q1 20231,827,76042.857.20.50%
Q2 20231,877,60842.357.70.50%
Q3 20231,927,45641.858.20.50%
Q4 20231,977,30441.558.50.30%
Q1 20242,027,15241.258.80.30%
Q2 20242,077,00040.959.10.30%
Q3 20242,126,84840.659.40.30%
Q4 20242,176,69640.359.70.30%
Q1 20252,226,54440.159.90.20%
Q2 20252,276,39240600.10%

Updated about a month ago

What's Next


Serialized Blocks

Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.