RequantTESTNET
Requant documentation

Chain rules

The consensus rules of the Requant test network, summarised from CHAIN.md. They are a draft for the test network: values may change before a main network, and every change updates the rules, the consensus code and its tests together. The work function, TNet v1, is frozen.

Parameters

ParameterTest networkMain network (planned)
Unit1 RQT = 10^8 atomssame
Work functionTNet v1: n = 8192, B = 65,536, L = 8, w = 256, M = 2505same
Target block interval60 s60 s
Difficulty adjustmentASERT (aserti3-2d, anchored at genesis), half-life 2 hsame
Epoch length / seed look-back1440 blocks / 60 blockssame
Largest target (pow limit)2^248 − 12^240 − 1
Genesis target2^229 − 1, about 2^27 tickets per blockset at launch from the test network's hashrate
Genesis time9 October 2026, 17:34 UTCset at launch
Coinbase maturity100 blocks100 blocks
Spending conditions active fromheight 1400genesis
Revocable outputs, revocable HTLCs, anyone-can-pay fromheight 4700genesis
Address prefixtrq1rq1
Maximum block size1 MiBsame
Maximum inputs or outputs per transaction10,000same
Maximum coinbase extra64 bytessame

A regtest network (prefix rqrt1, a tiny work function, maturity 2) exists for local development.

Blocks

  • A block is a 116-byte header, the 272-byte work claim and the transactions; see transactions and addresses for the encodings.
  • A block is valid when it extends its parent by one height, its time is later than the median of the last 11 blocks, its target is the one the difficulty rule gives, its work claim is valid for its header and epoch, its transaction root matches, it is at most 1 MiB, its first and only coinbase pays no more than reward plus fees (and the fund share, below), and every transfer is valid.
  • Nodes also hold back blocks timed more than 2 hours in the future until that time (policy, not consensus).

Fork choice

The valid chain with the most cumulative work wins, where a block's work is floor(2^256 / (target + 1)). On a tie the node keeps its current chain. Nodes refuse reorganisations deeper than --max-reorg (1440 blocks by default).

Difficulty

ASERT, the absolutely scheduled exponential rule of Bitcoin Cash (aserti3-2d), anchored at genesis: the target doubles for every 2 hours the chain falls behind its schedule of one block per minute and halves for every 2 hours it runs ahead. Each block's target depends only on its parent's height and time, so there are no retarget windows to game.

Epochs and weights

  • epoch(h) = floor(h / 1440).
  • seed_0 = H("requant/epoch0", chain_id); seed_e = H("requant/epoch", LE64(e) || block_id(e·1440 − 60)).
  • Nodes derive the next epoch's 512 MiB of weights after block e·1440 − 60, about 7 s on one core, so they are ready before the epoch starts.

Emission and the development fund

reward(generated) = max(TAIL, (S − generated) >> 22)        S = 2^24 RQT,  TAIL = 0.25 RQT
  • The first block reward is 4 RQT; it decays smoothly by a factor of 1 − 2^−22 per block. There is no halving cliff.
  • generated is the scheduled total of earlier rewards, so a reward a miner leaves unclaimed is never issued later.
  • For heights 1 to 2,097,152 (about four years) the coinbase must pay at least floor(reward × 6 / 100) to the network's development-fund key hash. Fees are never shared. After that height the rule ends by itself.
  • Genesis issues nothing; there is no premine.

Numbers and their meaning: economics.

Signatures and hashes

  • ed25519 with strict verification; each input signs H("requant/sighash", chain_id || txid || LE32 index).
  • Every hash is SHA256(tag || data) with a requant/ tag.
  • Spending conditions (2-of-2, HTLC, time locks) are fixed templates: spending conditions.

Node policy (not consensus)

  • Minimum relay fee rate 1 atom per byte, transactions up to 100,000 bytes, a 32 MiB mempool with 72-hour expiry and at most 25 unconfirmed ancestors, block templates of up to 900,000 bytes of transactions.
  • Child pays for parent: blocks take transactions by the rate of the package they complete with their unconfirmed ancestors.
  • Eviction judges a transaction by the better of its own rate and its rate with its descendants.
  • Replace by fee: a conflicting transaction replaces a pooled one and its descendants (at most 100) when it pays more than all of them plus its own size at the minimum rate, at a higher rate than each one it conflicts with.