The lamp
| State | nil |
|---|---|
| Bounty fund (0.25% of every swap) | nil |
| Canary contract | nil |
| The key it watches | 0x2fA7...aF09 |
| Fired in block | nil |
| Prover paid | nil |
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.