Canary
Read RungState

When a rung falls, markets settle and vaults lock

Sponsors fund discrete-log bounties on six curves, from just past the classical record up to secp256k1 and Ed25519. When a solver claims one, its Solana account reads Solved: hedgers’ markets on it settle and Q-Vaults keyed to it lock, with no oracle.

Today every rung reads Open

How a rung falls

  1. A solver proves k without revealing it

    The claim is a Schnorr proof over the rung, the recipient and a job nonce. A leader or searcher who copies the transaction can only pay that same recipient.

  2. begin_claim records the moment

    The rung’s event time is the time the claim began, so a fall that takes more than one transaction to verify still counts before an expiry it beat.

  3. Anyone cranks the verification

    step_claim walks the scalars’ bits through a Jacobian accumulator, 16 bits per transaction. For Q-160 that is 11 steps, 13 transactions with begin and finalize.

  4. finalize_claim sets RungState to Solved

    The bounty pays the recipient in the same instruction. A rung that is Solved stays Solved.

  5. Everything that reads Q-160 acts

    Markets on Q-160 resolve YES. Q-Vaults with Q-160 as their trigger reject the Ed25519 path. With C-160 still Open, the quantum-signal market resolves YES.

Sample proof, bound to rung Q-160 · recipient · job nonceR 037c1e4b092f6d88a351e0c2d906bb4f179a2ee5c4s 5d210b8fc6a73e94117df0c8a2b364e90d5f7b1a
RungState
Solved
event_ts
begin_claim time
step_claim
11 of 11
Market · Q-160 falls by 2027-12-31unresolvedresolves YES
Q-Vault · trigger Q-160Ed25519 and Falcon-512Ed25519 rejected
Quantum signal · C-160 Openunresolvedresolves YES

Every rung sits past the public classical record

Q-160, the lowest rung, takes about 211 times the work of Bitcoin puzzle #135, which is still open. Up the Q-rungs, classical cost grows by 216 a rung while the logical qubits a quantum attack needs grow by 288.

Public classical record, 265–268
Across: classical cost, Pollard-rho operationsUp: logical qubits (Roetteler et al. 2017)

C-160

classical control: same classical cost as Q-160, secp256k1-class qubit count

Curve
generic curve over secp256k1’s 256-bit field, ~160-bit subgroup
Classical cost
~279 ops
Logical qubits
~2,330
Scaled from Google 2026
≈ secp256k1-class qubit count
Verification
joins the ladder when its point count is certified
Bounty
—
RungState
—

Markets settle on RungState

A market on a rung is two SPL tokens. Lock one USDC and get one YES and one NO, then sell the side you don’t want on any SPL venue. At settlement the program reads the rung’s account: YES wins if the rung fell by the expiry, NO wins if it didn’t.

Settlement fee
1.0% of winning redemptions
Fees swept
70% CANARY buy and burn · 30% bounty vaults
Collateral
USDC
Q-160 open-interest cap
~$10M

YES price by expiry: the market-implied odds that Q-160 falls by then

Markets
None open on this rung yet. Expiries in v0: 2027-12-31, 2028-12-31, 2030-12-31.

Q-Vault closes the Ed25519 path when its rung falls

A Q-Vault answers to two keys: your wallet’s Ed25519 key for everyday SOL spends, and a Falcon-512 key you keep offline. Ed25519 spends inside an instant budget go through at once, and the budget refills only after a full delay with no instant spend; larger ones wait out the delay, which the Falcon key can cancel. The Falcon key moves any asset at any time. The vault also names a trigger rung. When that rung reads Solved, Ed25519 stops working for this vault, permanently.

Falcon-512 public key
897 bytes
Falcon-512 signature
666 bytes
Verification on Solana
365–390k CU
Trigger rungOpen
Ed25519 · wallet key
Falcon-512 · offline key
Q-Vault
Balance
100 SOL · 10,000 USDC
Instant budget
5 of 5 SOL left
Delay
48 h
Sample vault
  1. Act on the sample vault to see what it allows.

Sponsors fund a bounty on every rung

A deposit can’t be withdrawn before 2040-01-01. It pays the solver when its rung falls; after that date, each sponsor’s non-transferable Token-2022 receipt reclaims its share of what is left. 30% of protocol fees flow back into the bounty vaults, and the protocol takes no cut of sponsorship.

Total in bounty vaults
—
Sponsors
—
Receipts
—
Q-160 sponsors
—
Funded
—
From fees
—
Paid out
—

CANARY is bought with fees and burned

1,000,000,000 CANARY, all of it sold in one public launch with no presale, team, investor or reserved allocation. The protocol’s 70 % of every settlement fee buys CANARY on the market and burns it. CANARY is never collateral, never a resolution input and never a vote on rungs or vaults.

Fixed supply at launchBurned by settlement fees
Supply
1,000,000,000
Public launch
100 %
Settlement fees that buy and burn
70 %

RungState: one account per rung, and the same six states as JSON

Each rung is one account at the seeds ["rung", id], read directly by any Solana program. The status feed serves the same six states as JSON, with the slot they reflect.

  • canary_rungsimmutable after audit (authority revoked)
  • canary_markets3-of-5 multisig, 7-day timelock in v0; frozen in v1
  • canary_vault3-of-5 multisig, 7-day timelock in v0; later a Falcon-gated Squads multisig
Canary opens once its programs are on chainOpen the feed
  1. Canary opens once its programs are on chain

Read the six rungs’ state

The status feed is public and needs no key. Programs read the same six accounts on chain.

Rung status unavailable