Skip to content

Q-day and the canary

QuantArk reads a public on-chain canary: a flag that flips when someone demonstrates they can break Ed25519. On devnet it is the canary bounty run by Qanary, an independent project. Its tripped flag is one byte at offset 8 of a known account.

freeze_on_canary is permissionless. Once the canary reads tripped, anyone can call it, and QuantArk sets a latch in its config that can never be cleared. Even before anyone latches it, every guarded instruction checks the live canary byte itself.

Press the button to see what the guard does when the canary byte flips.

canary byte 8: 00config.tripped: false
InstructionAuthorised byState
mint_q2Ed25519 userWorksFrozen
redeem_q2Ed25519 userWorksFrozen
register_lifeboatEd25519 holderWorksFrozen
post_snapshotEd25519 adminWorksFrozen
set_pause / set_canaryEd25519 adminWorksFrozen
pq_withdrawLM-OTS signatureWorksFrozen
init_pq_vaultanyoneWorksFrozen
A demo of the rule, not a live read. On-chain, anyone can latch the freeze once the real canary trips, and it never clears.

The rule is simple. Anything an Ed25519 signature authorises could be forged after the break, so it stops. Treasury withdrawals are authorised by LM-OTS, so they continue.

The admin can pause minting, redeeming and boarding with set_pause. Pause is reversible. The Q-day latch is not, and pause cannot override it.

Trading happens in Meteora’s DBC and DAMM v2 programs. QuantArk cannot freeze them. After Q-day, coins may keep trading on those pools even though QuantArk’s own actions are frozen. See Security model.

The app shows the canary status in a strip at the top of every page.