Skip to Content
ProtocolAuxPoW

AuxPoW (Merged Mining)

Status: Built, not yet activated on mainnet. Active on testnet from block 1000.

AuxPoW allows Tidecoin blocks to be secured by proof-of-work submitted on a parent chain (Litecoin, scrypt). Chain ID is 8. Upon activation, Tidecoin transitions from standalone YespowerTIDE mining to accepting AuxPoW-bundled scrypt solutions, and the activation simultaneously enables multi-scheme signatures, witness v1, OP_SHA512, and strict PQ signature validation.

This page describes the protocol. Pool setup and operator workflows belong in Mining / AuxPoW Integration and Mining Pool Operator Guide.

Activation state

NetworkAuxPoW state
MainnetBuilt, not active. nAuxpowStartHeight is disabled.
TestnetActive from block 1000.
RegtestActive from genesis.

What AuxPoW proves

An AuxPoW block carries evidence that a parent-chain proof-of-work committed to the Tidecoin block hash. Tidecoin verifies:

  1. The Tidecoin block has the AuxPoW version flag when AuxPoW data is present.
  2. AuxPoW is not used before the activation height.
  3. The chain ID encoded in the block version matches Tidecoin chain ID 8.
  4. The parent coinbase commits to the Tidecoin block hash.
  5. The merkle branches link the commitment to the parent block.
  6. The parent block hash satisfies the Tidecoin target.

The parent chain does not need to validate or even know about Tidecoin.

Block-version rules

Tidecoin encodes AuxPoW metadata in block version bits:

FieldMeaning
AuxPoW flagMarks that AuxPoW data is serialized with the header/block.
Chain ID bitsEncode Tidecoin AuxPoW chain ID 8.
Strict chain IDEnforced on mainnet, testnet, and regtest.

Blocks with AuxPoW data but no AuxPoW flag, or an AuxPoW flag with missing data, are invalid. Blocks with chain ID bits set without AuxPoW are invalid under strict chain ID checks.

Commitment structure

Merged mining commits the Tidecoin block hash into the parent coinbase using the AuxPoW commitment marker 0xfabe6d6d. The AuxPoW data then provides:

ComponentPurpose
Parent coinbase transactionContains the AuxPoW commitment.
Coinbase merkle branchProves the coinbase transaction is in the parent block.
Chain merkle branchSupports multiple auxiliary chains in one parent coinbase.
Chain indexIdentifies Tidecoin’s position in the auxiliary chain merkle tree.
Parent block headerProvides the scrypt proof-of-work hash.

RPC surface

RPCScopePurpose
createauxblockNode RPCCreate an AuxPoW candidate for an explicit payout address.
submitauxblockNode RPCSubmit serialized AuxPoW for a candidate hash.
getauxblockWallet RPCWallet-assisted create/submit flow using wallet-derived payout scripts.

For exact arguments and result fields, see RPC Reference.

AuxPoW as the upgrade gate

AuxPoW activation is also the consensus gate for Tidecoin’s broader post-AuxPoW ruleset:

FeatureBefore AuxPoWAt and after AuxPoW
Proof-of-workYespowerTIDEScrypt via parent AuxPoW proof
Signature schemesFalcon-512 onlyFalcon-512, Falcon-1024, ML-DSA-44/65/87
Falcon verificationLegacy-compatible modeStrict mode
Witness/scriptExisting witness rulesWitness v1 / P2WSH-512 and OP_SHA512
Difficulty adjustmentPeriodic retargetPer-block averaging-window retarget

Rejection reasons

The validation path uses explicit reject reasons for common AuxPoW failures:

ReasonMeaning
auxpow-missingAuxPoW flag is set but AuxPoW data is absent.
auxpow-unexpectedAuxPoW data is present without the AuxPoW flag.
auxpow-pre-activationAuxPoW appeared before the activation height.
auxpow-chainidChain ID is missing, misplaced, or not Tidecoin’s chain ID.
auxpow-invalidThe AuxPoW merkle/commitment check failed.
auxpow-parent-powThe parent proof-of-work hash does not satisfy the target.

Source of truth

SourceWhat it defines
src/auxpow.h / src/auxpow.cppAuxPoW object, merkle checks, chain index checks.
src/primitives/pureheader.hAuxPoW version flag and chain ID bit layout.
src/validation.cppActivation-height checks and block/header rejection reasons.
src/rpc/auxpow_miner.cppCandidate creation and AuxPoW submission flow.

See also: Activation Status, Proof-of-Work, Mining / AuxPoW Integration, RPC Reference.

Last updated on