Quantum canary
If this key ever signs, Q-day is here.
Nobody ever had the key to the address below: it is recovered from a signature drawn out of a public label. The only way to sign with it, or to move what anyone sends it, is to compute the key from the public key, which is what a quantum computer running Shor's algorithm does. The day it moves or signs anything, this signal on Robinhood Chain flips for good.
Quiet.
It has never signed a transaction, its balance has never dropped, and no code sits at it. Read at block 93,014,563.
- bounty
- 0 ETH
- highest recorded
- 0 ETH
- transactions signed
- 0
- code at the address
- none
Nobody has this key. Not us either.
An address normally comes from a key. This one comes from a signature: h and s are SHA-256 of the label, r is SHA-256 of the label and a counter, taken at the first counter that lands on the curve, and the address is whoever would have made that signature. Its key is the discrete log of a point that came out of a hash. Nobody chose it, so nobody can know it.
- label
- hashborn.com quantum canary 1
- h
- 0x1a2dda6af855fceb333aebb47689804dfe0f038ff264639c537c293d37dc34df
- r (try 2)
- 0xd1aff6f2a4a7fc3176cf53beb4caa1c758348defc52de072b2ef09b0221bc61b
- s
- 0xce4fe6ea0ad9873de17e3a8b1d3a42361eae1255e0e396df2839fed3c231ea06
- recomputed in this browser
- checking
The contract recomputes the same values when it is deployed. To check from a terminal:
cast call 0xb3E3ACcF9B5984ca86Fd5DD8f1ddbDE93C3941D0 "canary()(address)" cast call 0xb3E3ACcF9B5984ca86Fd5DD8f1ddbDE93C3941D0 "label()(string)" cast nonce 0xCd979A3e7B7c194379749be77C0D9562acB68231
What trips it
- a signature
- Any signature made with the canary key over the keccak256 of a message: a transaction, an authorization or a signed text, from any chain.
- its balance falls
- ETH leaves the canary address on Robinhood Chain, below the highest balance recorded.
- code appears
- An EIP-7702 delegation at the address, which only its key can authorize.
Each needs the canary key, and that key was never made. A leaked key cannot set it off, because there is no key to leak. A signature over a bare 32-byte hash does not count: anyone can make one for a known public key without the private key, so the contract hashes the message itself.
Found a signature by the canary key?
When it trips
- every page
- Carries one line with the block it tripped at, linked here.
- vaults
- Keep paying out only against a hash-based signature, as they always have. A recovered wallet key moves nothing inside them. Check a wallet and move what it holds into one.
- agents and operators
- A wallet whose key a program holds, such as an agent's or a server's, can delegate to the Q-day guard (EIP-7702), turned on from the Hashborn agent and MCP packages coming soon. It keeps its address and spends as before; once the canary trips, anyone can sweep it into its own vaults, so a keeper gets there before whoever recovered its key. The guard sets no spending limit: the wallet's own key still signs as it always did. Guard contract 0x8109e06a8180F72Fb98E0312588e31593ffaf45C.
- alerts
- The ntfy topic above and the operators' topic, within a minute.