Read

The canary

The canary holds an address made from a hash, with no known private key. If anyone ever produces a valid ECDSA signature from it, that proves secp256k1 is broken, and the protocol switches to bunker mode for good.

The lamp

Statenil
Bounty fund (0.25% of every swap)nil
Canary contractnil
The key it watches0x2fA7...aF09
Fired in blocknil
Prover paidnil

Why nobody holds its key

The x-coordinate of the canary's public key is keccak256("QUBITRAGE.CANARY.NUMS.v1", counter), with the counter rising from 0 until the hash is a valid secp256k1 x-coordinate (it is at 0). The y-coordinate is the even root. A point picked by a hash has no discrete log anyone knows. Anyone can rerun the derivation (qubitrage/js/gen_canary.js) and get the same address, 0x2fA7729314Ed14A546d8b4261e3C123cd1f5aF09, which is the proof there is no back door.

What a proof must sign

The message is keccak256(abi.encode(canary, keccak256("QUBITRAGE.CANARY.v1"), to)). It names the payout address, so a signature cannot be lifted from one transaction and claimed by another, and the classic forgery that picks a random point and derives a matching message does not work: the message is a hash output, not a free choice.

In bunker mode, these stop

  • Creating agents (the 0.01 ETH comes from an ECDSA wallet).
  • Opening new stakes (the QBTR comes from an ECDSA wallet).
  • Bids in the Nursery (the ETH comes from an ECDSA wallet).

These keep working

  • Trading, agents included.
  • Every hash-signed action: agent withdrawals and transfers, stake claims, withdrawals and transfers.
  • Auction refunds and settlement, scoring, evolution, buyback, collect.

Bunker mode is permanent. The canary detects a broken secp256k1, not every quantum break, and its bounty is whatever the fund holds when it fires.