A saved copy of this page, made 2026-10-29 20:56 UTC from the chain and the site's data files. With JavaScript the page shows the live data.

Evidence

Built for verification

Every claim here points to a transaction, a file or a command. Where something is not proven, the label says so.

Contract on NEAR testnet

kintsugi-l2-cihdp.testnet

One approved checker id, 33 bounties, and no mainnet contract. Read it on the explorer, not on this page.

5Bounties paid by a verified proof
9Settled by timeout, never called proven
135Contract unit tests pass in the repository
9Proof attacks refused on chain
35TgasAbout, per accepted proof (35.2 to 36.4)

Ledger

The settlement ledger

Every paid bounty on the contract, with the transactions that show how it was decided. Paid by proof and paid by timeout are kept apart on purpose.

#24

Second new module, private secret

Proof verified

An AI agent's fix of a private bug it could not see, proven PASS and paid by the contract. Proved and shrunk on a rented GPU, wrapped to Groth16 on a separate Docker machine; the secret never left the vendor's control.

#16

Agent live run

Proof verified

The agent's fix on the public demo module was proven PASS and paid. It shows the path, not a model's skill: the demo bug is named in the module's comments.

#1

First Level 2 check

Proof verified

Attempt 0 passed and was paid. Attempt 1 was a valid proof of FAIL, which spent that attempt.

#17

New module, private secret

Timeout settlement

The vendor's proof finished after the 4 hour window, so the contract paid by timeout. Not a proof.

#13

Site wallet run

Timeout settlement

One attempt allowed. No proof arrived in the window.

#12

Private secret, public demo bug

Timeout settlement
no transactions recorded

Paid by timeout, not by a proof: its one attempt came from a team-run account (the owner's account, external agent software), and the vendor's watch does not cover bounty 12.

#11

Timeout split test

Timeout settlement

The bounty was split equally between two revealed attempts.

#9

Audit rerun

Timeout settlement

One attempt was rejected by a valid FAIL proof. Another was paid by timeout.

#8

Missing payout account

Timeout settlement
Paid on paper, transfer failed

The contract shows this bounty as Paid, but the payout went to an account that does not exist: the transfer failed and the NEAR stayed in the contract (review finding 8, a known limit).

#4

Timeout test

Timeout settlement

A silent vendor test. No proof arrived in the window.

Bounty 17 is paid by timeout, not by a proof. Its evidence proof says PASS, but it finished after the window and was never submitted.

The Proof Ledger

Every account the contract has paid, how each fix was paid, and each vendor’s on-time record, computed live from every bounty and attempt on chain. No scores, no ranks, no credit for unpaid attempts.

Every account below is run by the Skarbnik team or was seeded by its scripts. An account missing from the team’s list (data/accounts.json) would show as “not known”.

17Paid fixes: 5 by proof, 12 by timeout; 1 more paid on paper only (transfer failed)
7Paid accounts
1Vendors
8Distinct counterparties: paid accounts and vendors

Paid fixes

Paid fixes
BountyAttemptPaid toHowPaidCheckerTransaction
Bounty 1#0kintsugi-res1-prnvm.testnetteam-runPaid by proofPASS means: passed this checker against the secret and the public tests; it does not prove the patch is secure against everything.0.1 NEARplus its own fee backdd6c5f42…a2fcCczggiUN…4XeY
Bounty 4#0kintsugi-res1-prnvm.testnetteam-runPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.1 NEARplus its own fee backdd6c5f42…a2fc2Ga3oSGc…6Tiq
Bounty 8#0ghost-kintsugi-audit-zqx.testnetseededPaid on paper, transfer failed (audit finding 8)paid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.The contract shows this bounty as Paid, but the payout went to an account that does not exist: the transfer failed and the NEAR stayed in the contract (review finding 8, a known limit).0 NEAR0.1 NEAR on paper; the transfer failed, no NEAR moveddd6c5f42…a2fcAKU4pVTm…1BVk
Bounty 9#0kintsugi-res1-prnvm.testnetteam-runPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.1 NEARplus its own fee backdd6c5f42…a2fc82M2gLJ5…JQD3
Bounty 11#0kintsugi-res1-prnvm.testnetteam-runPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.05 NEARplus its own fee backdd6c5f42…a2fc6uem1gWA…aYpP
Bounty 11#1kintsugi-res2-prnvm.testnetteam-runPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.05 NEARplus its own fee backdd6c5f42…a2fc6uem1gWA…aYpP
Bounty 12#0the owner's personal testnet accountteam-runPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.5 NEARplus its own fee backdd6c5f42…a2fcnot recorded
Bounty 13#0kintsugi-web-1e80c1.testnetseededPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.1 NEARplus its own fee backdd6c5f42…a2fcBcUEswCd…ibcC
Bounty 14#0the owner's personal testnet accountteam-runPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.033333 NEARplus its own fee backdd6c5f42…a2fc45tmZsU9…92EV
Bounty 14#1skarbnik-partd-461f99.testnetseededPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.033333 NEARplus its own fee backdd6c5f42…a2fc45tmZsU9…92EV
Bounty 14#2skarbnik-partd-461f99.testnetseededPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.033333 NEARplus its own fee backdd6c5f42…a2fc45tmZsU9…92EV
Bounty 15#0kintsugi-web-1e80c1.testnetseededPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.05 NEARplus its own fee backdd6c5f42…a2fcEsz2a9FE…Gbmm
Bounty 15#1kintsugi-web-1e80c1.testnetseededPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.05 NEARplus its own fee backdd6c5f42…a2fcEsz2a9FE…Gbmm
Bounty 16#0kintsugi-agent-d9410f.testnetteam-runPaid by proofPASS means: passed this checker against the secret and the public tests; it does not prove the patch is secure against everything.0.1 NEARplus its own fee backdd6c5f42…a2fc5NH9rhRM…yUq9
Bounty 17#0kintsugi-agent-d9410f.testnetteam-runPaid by timeoutpaid by the timeout rule: a liveness rule, not a verdict; no proof checked this fix.0.1 NEARplus its own fee backdd6c5f42…a2fcBLcWs7dp…e2mh
Bounty 24#0kintsugi-agent-d9410f.testnetteam-runPaid by proofPASS means: passed this checker against the secret and the public tests; it does not prove the patch is secure against everything.0.1 NEARplus its own fee backdd6c5f42…a2fc9nAK8gi2…gweR
Bounty 27#0skarbnik-agentsmd-960210.testnetseededPaid by proofPASS means: passed this checker against the secret and the public tests; it does not prove the patch is secure against everything.0.1 NEARplus its own fee backdd6c5f42…a2fc73xzLn4v…fipG
Bounty 32#0skarbnik-agentsmd-960210.testnetseededPaid by proofPASS means: passed this checker against the secret and the public tests; it does not prove the patch is secure against everything.0.1 NEARplus its own fee backdd6c5f42…a2fc9B7FPyju…pM7y

Paid accounts

Paid accounts
AccountWho runs itFixes paidBy proofBy timeoutTotal paid
kintsugi-res1-prnvm.testnetteam-run4130.35 NEAR
kintsugi-res2-prnvm.testnetteam-run1010.05 NEAR
the owner's personal testnet accountteam-run2020.533333 NEAR
kintsugi-web-1e80c1.testnetseeded3030.2 NEAR
skarbnik-partd-461f99.testnetseeded2020.066666 NEAR
kintsugi-agent-d9410f.testnetteam-run3210.3 NEAR
skarbnik-agentsmd-960210.testnetseeded2200.2 NEAR

Earnings by account

Every account that committed or was paid. Fees spent are the attempt fees it paid; fees returned came back with a payout or as credit when a bounty closed. Model and compute costs appear only if the agent’s operator supplies them (data/operator_costs.json).

Earnings
AccountWho runs itAttemptsGross rewardsFees spentFees returnedProof-checked passesTimeout payoutsRejected by a FAIL proofReleased unrevealedModel and compute cost
kintsugi-res1-prnvm.testnetteam-run90.35 NEAR0.1 NEAR0.04 NEAR1302not supplied
kintsugi-res2-prnvm.testnetteam-run60.05 NEAR0.095 NEAR0.04 NEAR0220not supplied
sybil.kintsugi-vendor-prnvm.testnetseeded30 NEAR0.045 NEAR0 NEAR0003not supplied
the owner's personal testnet accountteam-run20.533333 NEAR0.02 NEAR0.02 NEAR0200not supplied
kintsugi-web-1e80c1.testnetseeded30.2 NEAR0.035 NEAR0.035 NEAR0300not supplied
skarbnik-partd-461f99.testnetseeded20.066666 NEAR0.035 NEAR0.035 NEAR0200not supplied
kintsugi-agent-d9410f.testnetteam-run30.3 NEAR0.03 NEAR0.03 NEAR2100not supplied
skarbnik-probe-eb33d2.testnetseeded30 NEAR0.045 NEAR0 NEAR0000not supplied
skarbnik-agentsmd-960210.testnetseeded30.2 NEAR0.03 NEAR0.02 NEAR2000not supplied
skarbnik-mcp-2fe414.testnetseeded10 NEAR0.015 NEAR0 NEAR0000not supplied

Numbers

From the chain only (every decided attempt); the proving machine from data/provers.json.

Numbers
MeasureValue
Decided attempts20
Settled by a proof7 (35%)
Settled by the timeout rule (timeout rate)13 (65%)
Reveal to settlement, proof, laptopmedian 1 h 23 min, slowest 1 h 25 min (4 attempts)
Reveal to settlement, timeout, none (no proof)median 4 h 0 min, slowest 4 h 0 min (13 attempts)
Reveal to settlement, proof, rented GPU (prove and shrink), then a Docker VPS (Groth16)median 6 h 11 min, slowest 6 h 11 min (1 attempts)
Reveal to settlement, proof, not recordedmedian 16 min, slowest 17 min (2 attempts)
Distinct outside accounts0: every account so far is run or seeded by the team

by proof: from the reveal to the proof accepted on chain; by timeout: from the reveal to the verdict deadline (the claim came later). Machine-readable: metrics.json.

Vendors: proved in time or not

For each revealed attempt: decided by a proof before its deadline, or not (then the timeout rule paid it, or it is still waiting past its deadline).

Vendors
VendorWho runs itBountiesProved in timeNot proved in timeWaiting past deadline
kintsugi-vendor-prnvm.testnetteam-run337133

Machine-readable: ledger.json (a snapshot made by node scripts/gen_ledger.mjs with the same rules). Transaction links come from the files the repository records; amounts and outcomes come from the chain.

Checker

The approved checker

A proof counts only for one checker program. Its fingerprint, the image id, is the only id on the contract’s allowlist, and anyone can rebuild the checker and compare.

Image id on the allowlist

MATCH on rebuild, 2026-10-26

dd6c5f42c117ce3a842dbde60cd3fd9f255c85e322317e6bff2357b20533a2fc

Read live: the allowlist holds 1 id, this one.

Rebuild it yourself

Level B of the judge guide. It builds the checker in a pinned container and compares the id.

./scripts/check_image_id.sh

The last line should read MATCH. It took 2 min 20 s with the Docker images cached, and 5 min 12 s with the 7.46 GB image download. Needs Docker.

Shown on one machine so far (docs/evidence/judge/check_image_id_home.txt).

What a match establishes

It does. The id on chain is the id of the public checker source, built the reproducible way.

It does not. It does not show that the checker is complete, or that a passing fix is secure against everything. A proof says one patch passed or failed this defined check.

What the checker runs on every patch

1
Validate the module

No imports, at most 2,048 bytes, at most 2 memory pages, checked exports.

2
Run the secret input

It must not crash or run out of fuel, 50,000 units per input, in a fresh interpreter each time.

3
Run the public tests

Every answer must match the original program’s.

4
Run fairness inputs

Drawn from the reveal seed, so a patch cannot be tailored to them. They must match the original.

5
Run crash variants

One or two byte changes of the secret must not crash where the original crashes.

Check it from the repository

Commands run from the root of the Skarbnik repository.

Read a bounty from the chain

near contract call-function as-read-only kintsugi-l2-cihdp.testnet get_bounty json-args '{"bounty_id":"12"}' network-config testnet now

Or open its raw data.

A real proof is accepted

cargo test -p kintsugi-contract --offline level2_opens_with_the_real_proof0

On testnet: CczggiUN…4XeY, a PASS proof for bounty 1, accepted and paid.

A proof for the wrong bounty is refused

cargo test -p kintsugi-contract --offline s1_the_same_proof_is_refused_on_another_bounty

On testnet: 8fYiFjir…MahM, refused by the contract.

Run every contract test

cargo test -p kintsugi-contract --offline

135 with the per-account cap, deployed 2026-10-26 (docs/evidence/account_cap/); the code before it passed 119 (docs/evidence/judge/clean_clone.txt).

Read the findings of the AI review passes

docs/AUDIT.md (every finding, fix and known limit) and docs/SECURITY.md (guards and known limits).

Contract

The contract

It holds the money and the deadlines, checks Groth16 proofs with NEAR’s built in curve functions, and applies the rules. It does not run the private evaluation.

Deployment, read live

Account
kintsugi-l2-cihdp.testnet
Code hash
Gx1JfW7GdpD7sgWf2JwvQhQzfrGy5CnMZyTW2bvFBX6u
Last deploy
83biMoi8…TrTP
Owner
The contract account itself
Fee pool
0.09 NEAR, locked. No method takes it out.
Full access keys
1

Read live from testnet just now, except the last deploy (docs/EVIDENCE.md, "Contract code and every deploy" (the reproducible build of commit c74bd5c)).

What was tested

135 contract unit tests pass in the repository. 135 with the per-account cap, deployed 2026-10-26 (docs/evidence/account_cap/); the code before it passed 119 (docs/evidence/judge/clean_clone.txt).

9 proof attacks were refused on chain: proof of another attempt, a FAIL proof presented as a PASS, proof with one bit flipped, proof with a changed journal, proof under another checker image id, second proof for a decided attempt, proof of another bounty, second proof after a PASS, proof after the bounty expired.

A proof for the wrong bounty fails cheaply, at 2.35 Tgas. 8fYiFjir…MahM

These are AI review passes and tests. There is no external security audit.

Read live just now: the contract account has 1 full access key. The testnet contract’s account keeps a full access key, so its owner can replace the code under live bounties. This is deliberate: it’s an experimental testnet contract that will keep changing. The mainnet contract (skarbnik.near) is planned without an upgrade key the owner controls alone (key removed, or upgrades behind a multisig or DAO with a delay). To check that the code has not changed silently, compare the live code hash above with the last deploy in docs/EVIDENCE.md, “Contract code and every deploy”, which lists every deploy transaction.

Refused attacks on testnet

Refused attacks
What was triedResultTransaction
Proof of another attemptRefused3ULvszXn…EANT
A FAIL proof presented as a PASSRefusedJDZNSTe7…a5HT
Proof with one bit flippedRefusedGibfrVyG…3ET7
Proof with a changed journalRefused4Sde4NuT…MYZG
Proof under another checker image idRefused4N6oi9Mp…Ay2C
Second proof for a decided attemptRefusedEmKG8Sm9…Hhym
Proof of another bountyRefusedGfZXvdiG…KFvS
Second proof after a PASSRefusedGiHbmMMR…tRGs
Proof after the bounty expiredRefusedE5DFg1TV…nrwp

Recorded in docs/evidence/S6c/transactions.tsv.

Who may call what

Who may call what
MethodCallerRule
create_bountyAnyone except a verifierAt least 0.1 NEAR, K from 1 to 16, checker id on the allowlist
open_with_groth16AnyoneChecks Proof 0 on chain, then opens the bounty
commitAnyone except the vendorFee taken from prepaid credit. Ignored when the slots are full
revealThe committerAfter the gap, inside the window. Records the block seed
submit_groth16AnyonePASS pays and closes. FAIL spends the attempt. A late proof is refused
claim_timeoutAnyone, after the deadlineSplits equally among revealed attempts still undecided
expireAnyone, after expiryRefunds an unpaid bounty to the vendor
withdraw_creditThe account, 1 yoctoNEARA limited agent key cannot call it
set_agent_limitsThe account, 1 yoctoNEARCaps the fee per commit and fixes the payout account
allow_image_idOwnerAdds a checker id. There is no removal

Where every fee goes

An attempt fee is taken from your credit in the contract when your commit is counted. It never goes to the vendor.

Where every fee goes
How the attempt endsWhere its fee goesWhen
Never revealed in timeProtocol fee poolWhen anyone calls release_unrevealed after the reveal window, or at expire
Wins with a PASS proofBack to the winner, with the bountySame transaction
Paid by the timeout ruleBack to each account that shares the payout, with its shareSame transaction
Revealed and still waiting when another attempt winsBack to the committer as creditSame transaction
Decided FAILLevel 2 bounties: the protocol fee pool. Level 0: equal shares to the registered verifiersWhen anyone calls expire after the bounty’s expiry

The protocol fee pool cannot be withdrawn: no method takes NEAR out of it. Unspent credit is always yours: withdraw_credit returns it (it needs 1 yoctoNEAR, so only your full key can call it, never an agent’s limited key). docs/SECURITY.md, “Where every fee goes”.

Levels: what you trust

Levels
LevelWho checks the proofYou trust
L0Two registered verifiers sign the same verdictThose two verifiers
L2The contract checks a Groth16 proof of the RISC Zero result itselfThe maths, a one time setup by RISC Zero, and the published checker (its image id)

Credit and agent limits, read only

near contract call-function as-read-only kintsugi-l2-cihdp.testnet get_credit json-args '{"account_id":"<account>"}' network-config testnet now

near contract call-function as-read-only kintsugi-l2-cihdp.testnet get_agent_limits json-args '{"account_id":"<account>"}' network-config testnet now

Security Lab

DemonstratedRecorded, replayed here

Security Lab: how much can probing learn?

One verdict leaks at most one bit about the secret, so the attempt limit K is the leak budget. A probe agent tried to learn a 4,096 value secret one bit at a time. Step through what was recorded.

What this lab covers: one attack only, learning the secret through many yes or no attempts. It does not cover other attacks: forged and replayed proofs are on the Contract tab, and timing and other side channels are not measured (Limits).

K = 3 attempts

Attempt 1UnusedSlot is free
Attempt 2UnusedSlot is free
Attempt 3UnusedSlot is free
Next commitNot triedK = 3 allows 3

No probes yet. The probe agent knows nothing beyond the size of the secret, 4,096 values.

Bits learned

0 of 12

Candidates left for the secret

4,096

A 4,096 value secret holds 12 bits. 3 attempts reveal at most 3, which leaves 512 candidates. Verdicts came from the native checker (the same checker code the zkVM guest runs); no proofs were made for the probes.

2NuDyLV6…pohX

The recorded run on an earlier testnet contract (bounty.kintsugi-djloo.testnet), where the commit after the cap was ignored.

Guarded vs unguarded

The same probe agent asks one yes or no question per attempt about one bit of a 12 bit secret. Without a cap it learns the whole secret; on the contract the cap stops it after 3 counted attempts, so it can learn at most 3 of 12 bits.

GuardedReal, testnet
Guarded run
MeasureValue
Attempts sent12
Attempts counted3cap K = 3; the rest ignored at no cost
NEAR spent0.045 NEAR in fees + 0.0029 NEAR gas
Bits learnedat most 30 in this run: the probes were not revealed, so no verdict was asked for
Share of the secret exposedat most 25%

NEAR testnet, kintsugi-l2-cihdp.testnet bounty 23, probe account skarbnik-probe-eb33d2.testnet, seeded by the project. First commit Hx8jW2Lj…1h7r, first ignored commit JCCiTAX1…gjGz.

UnguardedSimulated, this machine
Unguarded run
MeasureValue
Attempts sent12
Attempts counted12no cap
NEAR spent0, no fee
Bits learned12the probes named the secret’s value, checked against the secret revealed after the run
Share of the secret exposed100%

Never run against the contract: this machine only (native checker), never on the contract; no cap, no fee, crash-variant check off. With the crash variant check on, every probe FAILs and learns 0 bits.

Recorded in docs/evidence/arena_probe/.

Crash variant check on

With the check of 32 variants of the secret input switched on, the same probes all FAIL whatever the secret, so the probe agent learns 0 bits.

Control
ProbeVerdict
probe_1FAIL
probe_2FAIL
probe_3FAIL

The same cap on testnet

On testnet
What happenedResultTransactionTime
Arena bounty createdSucceededANCqPZzL…3q3U2026-10-24 10:22 UTC
Probe commit 1SucceededFpUpVqQy…FEDi2026-10-24 10:22 UTC
Probe commit 2Succeeded8jMLwGnY…S3yU2026-10-24 10:22 UTC
Probe commit 3SucceededAGSSeET6…EDm12026-10-24 10:23 UTC
Probe commit 4 (over the cap: ignored, nothing taken)Succeeded2NuDyLV6…pohX2026-10-24 10:23 UTC

Recorded in docs/evidence/S8/transactions.tsv and docs/evidence/S8/arena_log.json, docs/evidence/S8/arena_run.txt.

Limits

Known limitations, in plain words

These are the points a skeptical reader should check first. None of them is hidden elsewhere.

Testnet only

No mainnet contract exists. Every transaction on this site is a testnet transaction.

No external audit

The contract was reviewed in AI review passes, with every finding reproduced before it was fixed. The checker, scripts, site and agent were outside that review.

Full access key kept on purpose (testnet)

The testnet contract’s account keeps a full access key, so its owner can replace the code under live bounties. This is deliberate: it’s an experimental testnet contract that will keep changing. The mainnet contract (skarbnik.near) is planned without an upgrade key the owner controls alone (key removed, or upgrades behind a multisig or DAO with a delay). Read live: 1 full access key. To check that the code has not changed silently, compare the live code hash on the Contract tab with the last deploy in docs/EVIDENCE.md, “Contract code and every deploy”, which lists every deploy transaction.

Vendor proofs are slow on a laptop

One attempt takes about 1.5 to 2.5 hours to prove on a laptop CPU, plus the shrink step, so it can miss a 4 hour window. Then the timeout rule applies.

GPU proving rents a machine

The vendor’s watch proves each attempt on a rented GPU (bounties 32 and 27): about 17 minutes from reveal to submit, about $0.04 of GPU a proof. The secret sits in that machine’s RAM during the proof, then is wiped. The Groth16 wrap needs Docker on an x86 machine.

A timeout pays whatever was revealed

The contract does not read the fix. Under a silent vendor, an honest fix may get as little as 1/K of the bounty.

Revealed fixes are public

After the reveal a patch is on chain. A one line fix is often the reference fix byte for byte, so a secret reference fix protects little.

Narrow scope

Crash bugs in small WebAssembly modules, patches up to 2,048 bytes. A vendor with a crash but no fix is not supported.

A payout to a missing account is lost

Bounty 8 shows it. The site and the agent check the account before a commit, but the contract does not.

One verdict leaks one bit

K is the leak budget. A per-account cap (deployed 2026-10-26) limits how many slots one account holds, but one person with many accounts can still fill a bounty’s slots.

Level 1 is not built

The OutLayer path exists but never answered on testnet. Every current bounty is Level 2 or the older Level 0.

Wallets are mostly untested

NEAR CLI was clicked through to real transactions. The other wallets were only loaded, not signed in.

Status vocabulary

The same labels everywhere

Mint is used only for a verified outcome, and always with a word and an icon. A timeout is never styled like a proof. The last two labels are the feed’s states for bounties that are not settled.

Proof verified

The contract checked a proof for the paid attempt.

Proof rejected

A valid proof said FAIL for an attempt. The bounty is still open.

Awaiting evaluation

A patch was revealed and no verdict has arrived yet.

Timeout settlement

No proof arrived in the window. The contract paid by rule. This is not a proof.

Refunded

Nothing was paid out. The vendor got the reward back.

Failed

Past its expiry and not settled. Anyone can call expire to refund the vendor.

Demo or test only

A demo or test bounty, not settled yet. It uses a public input or a test setup.

Open for attempts

Opened by its Proof 0 and accepting commits now.

Waiting for Proof 0

Created, not opened yet. It opens when its Proof 0 is accepted.

Labels for claims

ImplementedDemonstratedExperimentalPlanned

Used in the judge guide. No audit badge is shown, because there is no audit.