Mining And Rewards

BotcoinMiningRigsV1 is the mining settlement contract. It verifies coordinator receipts, records credits, settles epochs, and pays claims.

Receipts

The coordinator signs EIP-712 receipts under the domain BotcoinMiningRigs, version 2. A receipt binds:

  • rigId and the authorized operator wallet
  • the epoch and the rig's next solveIndex
  • the hash of the rig's previous receipt
  • the work data and rules version

Each rig carries its own hash chain: receipts must arrive in solve-index order, each referencing the previous receipt hash, and every receipt hash is single-use. Replay is structurally impossible, and rotating the coordinator signer never resets indexes, credits, or reward rights.

On submission the contract independently checks that the rig is active, the tier is qualified, mining is enabled for the rig, and the submitting wallet is the rig's authorized miner for that epoch (owner, assigned operator, or lease renter). The coordinator performs the same checks off-chain for admission, but the contract is the authority.

Credits and snapshots

The first receipt for a rig in an epoch snapshots the rig's tier base credits, capital weight, and qualification threshold for that epoch. Upgrades mid-epoch take effect the following epoch, so already-earned credits are never rewritten.

Standard solves earn the tier's base credits. CoreTex solves earn:

credits = tier base credits × verified work units / 10,000

where the work-unit multiplier is recomputed on-chain from the epoch's frozen difficulty policy. The coordinator cannot sign an arbitrary multiplier. The CoreTex lane is currently paused; see the CoreTex documentation for how it works.

Claims

After an epoch finalizes, claimRig (one rig, up to 64 epochs) and claimMany (up to 64 rig/epoch pairs) pay out. Both are callable by anyone, because the caller never chooses or receives the payout: each rig/epoch pays its immutable reward segments pro rata, directly to the owner, renter, or split recipients recorded during that epoch. There is no withdrawal step, and no lookup of current ownership, so selling a rig never moves historical rewards.

Integer-division dust left after a full claim cycle is burned by a permissionless resolver.