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.

Timeout settlementPrivate secretNew moduleLevel 2

Bounty 17: new module, private secret

A language model agent fixed a bug it could not see. The vendor's proof did not finish inside the 4 hour window, so the contract paid by timeout.

Reward

0.1 NEAR

Attempts

3 max

Window

4 h

Why this is not “Proof verified”

The contract never checked a proof for the paid attempt. It paid because the verdict window ended. We say so on every page that shows this bounty.

The fix matched

The agent's module equals the private reference fix byte for byte. That was checked natively and is recorded (docs/evidence/agent/native_check_bounty17_attempt0.txt).

The proof was late

The vendor's laptop proof finished after the window. The contract refuses a late proof.

The evidence proof was not submitted

A proof run later says PASS. It is evidence on file, not a settlement.

Overview

What happened

From a private bug to a timeout payment

  1. Bounty created and funded

    The vendor locked the reward. Every hash, the windows, K and the check size were fixed on chain. The bounty starts closed.

    create_bounty XTGrM4ir…yGNx2026-10-26 01:26 UTC
  2. Opened by Proof 0

    The vendor proved its own reference fix passes the full check. The contract verified that Groth16 proof itself, so the bounty could open.

  3. An attempt commits a fingerprint

    Attempt committed. Only a fingerprint of the patch goes on chain, with the attempt fee from credit.

  4. The attempt reveals its patch

    Attempt revealed. The patch became public on chain. The block seed chose the hidden fairness inputs, and the verdict window started.

  5. Anyone claimed the timeout

    Timeout claimed. The verdict window ended with no accepted proof. claim_timeout paid the revealed attempts still undecided. The contract did not look at the fix.

    claim_timeout BLcWs7dp…e2mh2026-10-26 06:06 UTC

Attempts on chain

#0Timeout settlement

1 of 3 attempts used.

Attempts
AttemptStateFeePayoutRevealedNext deadline
#0Timeout settlement0.01 NEARkintsugi-agent-d9410f.testnet2026-10-26 02:04 UTCnone

Transactions (5)

Transactions

5 recorded calls on the contract

Open any of them on the explorer. Refused calls stay in the list.

Recorded transactions
StepMethodWhat it didResultTransaction
1create_bountyBounty created2026-10-26 01:26 UTCSucceededXTGrM4ir…yGNx
2open_with_groth16Opened with its Proof 02026-10-26 01:26 UTCSucceeded57cTTbF7…DJM8
3claim_timeoutTimeout claimed2026-10-26 06:06 UTCSucceededBLcWs7dp…e2mh
4commitAttempt committedSucceededCYenharj…vCU6
5revealAttempt revealedSucceeded9hspSj3r…1hQb

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

Rules and timing

Rules and timing

Why a timeout paid

A 4 hours verdict window

It starts at the reveal. A proof for the attempt must reach the contract before it ends.

Late proofs are refused

After the window the contract answers “verdict window has closed”.

Anyone can claim

claim_timeout splits the bounty equally among revealed attempts still undecided.

The fix is never read

A timeout pays whatever was revealed, even junk. That is why it is never called proof.

Fees, windows and limits

Fee rule
0.01 NEAR + 0.005 NEARper earlier attempt
Attempts
1 of 3 used
Per-account cap
none on this bounty
Reveal
after 2 s, within 1 hour of the commit
Verdict window
4 hours from the reveal
Commits accepted until
2026-10-27 20:26 UTC
Expires
2026-10-28 01:26 UTC
Created
2026-10-26 01:26 UTC

Measured on the vendor's laptop

Measured times
StepTimeNote
Model answer924 sz-ai/glm-5.3-flash on NEAR AI Cloud
Proof 0, prove5,384.58 sThen succinct 1,496.74 s and Groth16 177.04 s
Attempt, prove6,530.99 s--po2 18, 102 segments, prover peak 2,406 MiB
Verdict window14,400 s4 hours from the reveal

Two earlier proof tries were stopped by the project's memory guard when other work used memory. The third finished after the window. Source: docs/numbers.md.

Privacy and evidence

Privacy and evidence

What is recorded, and what is not claimed

Sealed: only the commitment of the secret input is on chain. On private bounties, researchers and the public never see the secret input. Demo bounties use a public input so anyone can check them.

Claims
ClaimLabelWhere it is recorded
The agent's fix equals the private reference fixDemonstratedNative check of attempt 0: PASS
A full proof of the attempt says PASSDemonstratedEvidence proof, valid, never submitted
The model could not see the reference fixDemonstratedSearch of the repository history and the prompt contents
The contract verified a proof for this attemptNot claimedIt did not. Paid by timeout.
Checker image id
dd6c5f42…a2fc
The published checkerOn the allowlist
Check size
16 fresh inputs, 32 variants of the secret input
Exploit commitment
7bbb0621…a443
Proof 0 journal hash
cc7aeb44…faef
Proof 0 receipt hash
938722ec…72ce
Reference fix hash
da353656…8e81
Reference fix module
kept by the vendor, never on chain

A one line fix is often the reference fix byte for byte, so a secret reference fix protects little once someone solves it. The agent also ran on the same laptop as the vendor's files. Its code never read the private folder, but nothing technical stopped a process of that user from doing so.

Raw get_bounty data, read live