Testnet: tokens have no value, and the vulnerable contracts are our own test fixtures. Limits

For judges

Check every claim yourself

Five minutes: watch the one moment, try the loop with no account, then run each claim's check from your browser. The claims come from the recorded testnet run of 2026-11-04 15:04 UTC; JUDGES.md is generated from the same results file.

recorded run · all checks passedNEAR testnet

The five-minute path

Four steps; each one stands on its own.
  1. Watch the one moment

    Our fixture agent A's Critical, from its commit block: verified at 18.5 s, attested on NEAR at 29.1 s, paid at 71.0 s, both chains paused by 90.6 s. Recorded, every step a transaction.

    Watch the one moment
  2. Try it with no account

    The practice program runs the whole loop on testnet: a practice account is vended, the tutorial proof is sealed, committed and run in the enclave, and the contract pays it. Your try is live.

    Try it, no account
  3. Check every claim

    22 claims from the run, every one with its check. Run them all with one button, or one at a time: each shows its raw answer, the transactions behind the claim and the CLI command.

    Go to the claims
  4. See what is not shown

    What this run does not show, the limits that hold for every program, and our own health, live.

    What is not shown

The recorded run

Everything below comes from one results file. The run is recorded; the checks read testnet now.

These are the results of a run on NEAR testnet (antibody-services live) on the locked deployment, with Acme Lend on Sepolia (11155111: it verifies and pauses) and Base Sepolia (84532: it pauses): real OutLayer TEE workers, their TDX quotes verified on NEAR (T1), the MPC network's signatures and the Ethereum light client. Acme Lend and the practice program are our own fixtures. The commands below read testnet; most are view calls and need no account.

Generated by scripts/docs/judges.py from docs/results/testnet-2026-11-04.json (network: testnet, run of 2026-11-04 15:04 UTC, all checks passed). Do not edit by hand: rerun the script on a new results file.

Network
NEAR testnet; Acme Lend on Sepolia (it verifies and pauses) and Base Sepolia (it pauses)
Run started
Result
all checks passed
Results file
docs/results/testnet-2026-11-04.json
Generated from it
JUDGES.md and this page's claims, by scripts/docs/judges.py
Anchor
Sepolia block 12,063,269, confirmed by client-eth2.sepolia.testnet (check it)

Values that only the run recorded (timings, refusals, counts) are printed from its results file:

python3 scripts/docs/recorded.py <path> --file docs/results/testnet-2026-11-04.json

--file names this run's results file; without it, recorded.py reads the sandbox run's.

Claims

Every claim below names a command that checks it. Unless marked, commands are view calls and need no account and no key. Each card states the claim as JUDGES.md's table does, from the same results file, with the transactions behind it and a check your browser runs, showing the raw answer.
22 claims: 21 your browser checks right here, 1 with a terminal command.

One after another, your browser reads each claim's check now: the API record, a NEAR view call or an EVM read. A read that fails is tried again after a pause.

  1. 1
    not run
  2. 2
    not run
  3. 3
    not run
  4. 4
    not run
  5. 5
    not run
  6. 6
    A distinct planted bug is paidAttested on NEARPaid
    not run
  7. 7
    not run
  8. 8
    not run
  9. 9
    not run
  10. 10
    not run
  11. 11
    not run
  12. 12
    not run
  13. 13
    not run
  14. 14
    not run
  15. 15
    not run
  16. 16
    not run
  17. 17
    not run
  18. 18
    not run
  19. 19
    not run
  20. 20
    not run
  21. 21
    not run
  22. 22
    in a terminal
  1. 1

    An agent's sealed proof (our scripted fixture agent A), submitted over MCP, is run in the enclave, attested on NEAR and paid in seconds under the cap

    Expected
    Violation, tier T1, Done:Paid, paid 0.1 wNEAR
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/13

    Holds if: row.state is Done:Paid

    antibody status --commit 13
    2 more checks, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":13})

    Holds if: its state on NEAR is Paid

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":13}'
    view bounty.antibody.testnet.get_run({"run_id":33})

    Holds if: run 33's tier on NEAR is T1

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":33}'
  2. 2

    A second planted bug (the unguarded fee sweep) is verified and paid after its window

    Expected
    Violation, tier T1, Done:Paid, paid 0.03 wNEAR
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/14

    Holds if: row.state is Done:Paid

    antibody status --commit 14
    2 more checks, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":14})

    Holds if: its state on NEAR is Paid

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":14}'
    view bounty.antibody.testnet.get_run({"run_id":34})

    Holds if: run 34's tier on NEAR is T1

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":34}'
  3. 3

    A prompt injection in the report earns nothing: the verifier never reads reports; NoViolation, and the bond goes to the escrow

    Expected
    NoViolation, tier T1, Done:Forfeited
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/15

    Holds if: row.state is Done:Forfeited

    antibody status --commit 15
    2 more checks, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":15})

    Holds if: its state on NEAR is Forfeited

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":15}'
    view bounty.antibody.testnet.get_run({"run_id":35})

    Holds if: run 35's tier on NEAR is T1

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":35}'
  4. 4

    A duplicate of A is recorded with its own proof, then confirmed a duplicate at the fix

    Expected
    Violation, tier T1, Done:DuplicateConfirmed
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/16

    Holds if: row.state is Done:DuplicateConfirmed

    antibody status --commit 16
    2 more checks, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":16})

    Holds if: its state on NEAR is DuplicateConfirmed

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":16}'
    view bounty.antibody.testnet.get_run({"run_id":36})

    Holds if: run 36's tier on NEAR is T1

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":36}'
  5. 5

    A known issue the project declared (sealed) before opening is not paid again

    Expected
    Violation, tier T1, Done:Known
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/17

    Holds if: row.state is Done:Known

    antibody status --commit 17
    2 more checks, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":17})

    Holds if: its state on NEAR is Known

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":17}'
    view bounty.antibody.testnet.get_run({"run_id":37})

    Holds if: run 37's tier on NEAR is T1

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":37}'
  6. 6

    A distinct planted bug is paid

    Expected
    Violation, tier T1, Done:Paid, paid 0.1 wNEAR
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/18

    Holds if: row.state is Done:Paid

    antibody status --commit 18
    2 more checks, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":18})

    Holds if: its state on NEAR is Paid

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":18}'
    view bounty.antibody.testnet.get_run({"run_id":38})

    Holds if: run 38's tier on NEAR is T1

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":38}'
  7. 7

    The gap lane: harm to a protected user that no invariant catches is refunded and recorded; round 1 adds the invariant, and the claim is promoted and paid

    Expected
    NoViolation, tier T1, Done:Paid, paid 0.01 wNEAR
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/19

    Holds if: row.state is Done:Paid

    antibody status --commit 19
    2 more checks, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":19})

    Holds if: its state on NEAR is Paid

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":19}'
    view bounty.antibody.testnet.get_run({"run_id":39})

    Holds if: run 39's tier on NEAR is T1

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":39}'
  8. 8

    The one moment: A's verdict pays A and pauses the fixture on both chains

    Expected
    2 pause permits; from A's commit block: verdict 18.5 s, T1 29.1 s, paid 71.0 s (its block), pause permits signed at 62.7 s and 62.7 s, paused on 11155111 at 90.6 s and on 84532 at 87.2 s (NEAR steps at their blocks, each pause when the relayer got its receipt; the MPC network signed the permits)
    Check, as JUDGES.md names it
    antibody judge --program 5 (the permits); the times: python3 scripts/docs/recorded.py one_moment.seconds_from_commit --file docs/results/testnet-2026-11-04.json
    GET https://api.antibody.144-91-104-54.sslip.io/v1/programs/5/reflex

    Holds if: a pause permit for ticket 13 (A's commit) is listed

    antibody judge --program 5
    2 more checks, read straight from the chain
    eth_call on chain 11155111

    Holds if: true: the adapter on Sepolia carried out the pause permit (round 0, ticket 13)

    curl -s https://ethereum-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xad6bc84c8c5a9fb5aca79b13bb867b6e7930d49b","data":"0xb07c411ff9b7a2e8bb96c811ba78c685c105ad68d50eb7da11dd04cde2d00f66d6ee8755"},"latest"]}'
    eth_call on chain 84532

    Holds if: true: the adapter on Base Sepolia carried out the pause permit (round 0, ticket 13)

    curl -s https://base-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xad6bc84c8c5a9fb5aca79b13bb867b6e7930d49b","data":"0xb07c411ff9b7a2e8bb96c811ba78c685c105ad68d50eb7da11dd04cde2d00f66d6ee8755"},"latest"]}'
    python3 scripts/docs/recorded.py one_moment.seconds_from_commit --file docs/results/testnet-2026-11-04.json
  9. 9

    Round 1: the TEE checks the fix, the keeper re-runs every paid proof at it, the code is released only if the gate holds

    Expected
    5 re-runs (2 fixed); release gate false (no release permit); 1 key released, 2 carried
    Check, as JUDGES.md names it
    antibody status --program 5 (each round's gate and keys); the re-run counts: python3 scripts/docs/recorded.py 'rounds.*.summary' --file docs/results/testnet-2026-11-04.json
    On this site
    view bounty.antibody.testnet.get_program({"program_id":5})

    Holds if: round 1's release gate is false

    antibody view --contract bounty.antibody.testnet --method get_program --args '{"program_id":5}'
    antibody status --program 5
    python3 scripts/docs/recorded.py 'rounds.*.summary' --file docs/results/testnet-2026-11-04.json
  10. 10

    Round 2: the TEE checks the fix, the keeper re-runs every paid proof at it, the code is released only if the gate holds

    Expected
    4 re-runs (4 fixed); release gate true (release permits signed); 2 keys released, 0 carried
    Check, as JUDGES.md names it
    antibody status --program 5 (each round's gate and keys); the re-run counts: python3 scripts/docs/recorded.py 'rounds.*.summary' --file docs/results/testnet-2026-11-04.json
    On this site
    view bounty.antibody.testnet.get_program({"program_id":5})

    Holds if: round 2's release gate is true

    antibody view --contract bounty.antibody.testnet --method get_program --args '{"program_id":5}'
    antibody status --program 5
    python3 scripts/docs/recorded.py 'rounds.*.summary' --file docs/results/testnet-2026-11-04.json
  11. 11

    The released code is the final fix on every chain, and B's exploit now reverts

    Expected
    each proxy's implementation is its final fix on chains 84532, 11155111: true; B's exploit reverts on each: python3 scripts/docs/recorded.py 'release.checks.*.b_exploit_reverts' --file docs/results/testnet-2026-11-04.json
    Check, as JUDGES.md names it
    each proxy's EIP-1967 slot with curl (commands below the table)
    On this site

    Sepolia · AcmeLend

    eth_getStorageAt on chain 11155111

    Holds if: the implementation slot ends in 74e75477af2d649ffe8037a37014dd8c7bd217a9: AcmeLend's final fix

    curl -s https://ethereum-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_getStorageAt","params":["0xCa1FAFbCFC14d665d76045A018B215987f39f8A7","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","latest"]}'
    3 more checks, read straight from the chain

    Sepolia · AcmeVault

    eth_getStorageAt on chain 11155111

    Holds if: the implementation slot ends in 32e8cd1d58736310340d5103ded748e3d8f434d0: AcmeVault's final fix

    curl -s https://ethereum-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_getStorageAt","params":["0x0433CEB84dB807402DE6642929EbF1450381CC46","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","latest"]}'

    Base Sepolia · AcmeLend

    eth_getStorageAt on chain 84532

    Holds if: the implementation slot ends in 74e75477af2d649ffe8037a37014dd8c7bd217a9: AcmeLend's final fix

    curl -s https://base-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_getStorageAt","params":["0xCa1FAFbCFC14d665d76045A018B215987f39f8A7","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","latest"]}'

    Base Sepolia · AcmeVault

    eth_getStorageAt on chain 84532

    Holds if: the implementation slot ends in 32e8cd1d58736310340d5103ded748e3d8f434d0: AcmeVault's final fix

    curl -s https://base-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_getStorageAt","params":["0x0433CEB84dB807402DE6642929EbF1450381CC46","0x360894a13ba1a3210667c828492db98dca3e2076cc3735a920a3ca505d382bbc","latest"]}'
    python3 scripts/docs/recorded.py 'release.checks.*.b_exploit_reverts' --file docs/results/testnet-2026-11-04.json
    antibody judge --program 5
  12. 12

    Anyone can run the loop with no account: the practice program (a tutorial)

    Expected
    Done:Paid, 0.001 wNEAR to the vending contract, about 44 s when the run is T1 (it paid the bond and the run), a vault of its own (each try gets the next free one); <you> is a new lowercase name (judge-1-p6, judge-2-p6 are taken); while new worker images wait their delay the run stays T0 and the payout waits the program's challenge window: 91 to 95 s on that path (docs/results/byo-2026-11-07.json). The output's payout_path says which
    Evidence
    Check, as JUDGES.md names it
    antibody try --name <you> (sends testnet transactions; vending practice.antibody.testnet, program 14; the recorded try was on program 6)
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/20

    Holds if: the recorded try (commit 20): row.state is Done:Paid

    antibody status --commit 20
    antibody try --name <you>
  13. 13

    The program's rules catch deliberately broken versions of its final fix (rule strength: it measures the rules, not the code's security)

    Expected
    caught 8 of 28 mutants (report sha256 e26bf38a106f…)
    Evidence
    docs/rule-strength.md, the report in docs/results/
    Check, as JUDGES.md names it
    antibody judge --program 5 (rule_strength)
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/judge

    Holds if: programs.5.rule_strength.statement is "caught 8 of 28 mutants"

    antibody judge --program 5
  14. 14

    A program needs no staging deployment: the practice program in fork mode exists only inside the verifier

    Expected
    Done:Paid, 0.001 wNEAR; 25 targets; the vault's code on chain 11155111: 0x
    Check, as JUDGES.md names it
    antibody status --commit 22; antibody status --program 7 (its targets); the vault's code with curl (below the table)
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/commits/22

    Holds if: row.state is Done:Paid

    antibody status --commit 22
    One more check, read straight from the chain

    Sepolia · practice vault

    eth_getCode on chain 11155111

    Holds if: "0x": no code at the practice vault's address

    curl -s https://ethereum-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_getCode","params":["0xfa35e1e99bd69719f57045409e19555f0147cf44","latest"]}'
    antibody status --program 7
  15. 15

    A NEAR app acts on a verdict: a DAO treasury freezes on the program's verified Critical, and a duplicate does not freeze it (guard.antibody.testnet: the Acme project owns it, its account is locked)

    Expected
    frozen: commit 13, slot 0; the run's next transfer was refused: true (python3 scripts/docs/recorded.py verdict_consumer.transfer_after_refused --file docs/results/testnet-2026-11-04.json); D's duplicate (commit 16) was reported first and returned false; locked: true, code 7Wotb7nn…
    On this site
    view guard.antibody.testnet.get_state({})

    Holds if: frozen.commit_id is 13 (slot 0)

    antibody view --contract guard.antibody.testnet --method get_state
    python3 scripts/docs/recorded.py verdict_consumer.transfer_after_refused --file docs/results/testnet-2026-11-04.json
  16. 16

    T2: the verdict of each run whose content key is published (fixtures/zk; sealed on chain), re-run in SP1 on the TEE's exact input, is a Groth16 proof that near-t2 checks on NEAR against near-antibody's records (zk.antibody.testnet, locked; a validity proof of a disclosed verdict: no privacy claimed, no payout depends on it)

    Expected
    run 33 confirmed, run 36 confirmed, run 35 confirmed, run 53 confirmed; a tampered proof refused: true; SP1 6.10.0's key built in: true, program vkey 0x00e87aaa…
    Check, as JUDGES.md names it
    antibody zk status --run 33 --contract zk.antibody.testnet (and runs 33, 36, 35, 53)
    view zk.antibody.testnet.get_record({"run_id":"33"})

    Holds if: run 33's record is confirmed

    antibody view --contract zk.antibody.testnet --method get_record --args '{"run_id":"33"}'
    3 more checks, read straight from the chain
    view zk.antibody.testnet.get_record({"run_id":"36"})

    Holds if: run 36's record is confirmed

    antibody view --contract zk.antibody.testnet --method get_record --args '{"run_id":"36"}'
    view zk.antibody.testnet.get_record({"run_id":"35"})

    Holds if: run 35's record is confirmed

    antibody view --contract zk.antibody.testnet --method get_record --args '{"run_id":"35"}'
    view zk.antibody.testnet.get_record({"run_id":"53"})

    Holds if: run 53's record is confirmed

    antibody view --contract zk.antibody.testnet --method get_record --args '{"run_id":"53"}'
    antibody zk status --run 33 --contract zk.antibody.testnet
  17. 17

    Immune memory on pull requests, in the enclave: every paid proof of program 12 re-runs inside the enclave against a pull request's code, through near-antibody's rounds; a pull request that brings back a paid defect is red, a harmless one green (antibody-immune-demo)

    Expected
    run 169 (round 11, commit 56): Violation, slot 1 (fees_to_treasury), tier T1: PR #2 red; runs 163–166 (round 10): NoViolation, T1: PR #1 green; both round checks ok at T1; PR #2's manifest, built for round 10, renumbered to 11
    Check, as JUDGES.md names it
    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":169}' (and runs 167, 162, 163–166)
    On this site
    view bounty.antibody.testnet.get_run({"run_id":169})

    Holds if: run 169 breaks slot 1 again: its facts are a Violation

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":169}'
    One more check, read straight from the chain
    view bounty.antibody.testnet.get_run({"run_id":163})

    Holds if: run 163, at PR #1's round, breaks nothing

    antibody view --contract bounty.antibody.testnet --method get_run --args '{"run_id":163}'
  18. 18

    An agent's limits hold on chain: capdemo.antibody.testnet, registered by its owner with a bond budget and a per-commit cap, commits within its cap (commit 71); its owner lowers the cap below the program's bond, and its next commit is refused and recorded as a containment event. Its key cannot withdraw, transfer or deposit

    Expected
    registered: true, commits: 1, containment_events: 1, per_commit_cap 0.00005 wNEAR (program 13's bond: 0.0001 wNEAR); key: commit, reveal, upload and the permissionless keeper methods; no withdrawal, transfer or deposit
    On this site
    view bounty.antibody.testnet.agent_statement({"agent":"capdemo.antibody.testnet"})

    Holds if: capdemo.antibody.testnet counts 1 containment event

    antibody view --contract bounty.antibody.testnet --method agent_statement --args '{"agent":"capdemo.antibody.testnet"}'
  19. 19

    The MPC network signs the pauses, checked without trusting us: the MPC network's key for near-guardian's path hashes to 0xd10a6d3cdb6363b4200aa976f67296fba844aa94; Ethereum's own ecrecover of near-guardian's permit 6 (the recorded moment's Sepolia pause) returns it; and the Sepolia adapter accepts it as its guardian

    Expected
    the MPC key secp256k1:5dF4ANtojF5J… hashes to 0xd10a6d3cdb6363b4200aa976f67296fba844aa94; ecrecover and guardian() both return 0xd10a6d3cdb6363b4200aa976f67296fba844aa94
    Check, as JUDGES.md names it
    antibody view --contract v1.signer-prod.testnet --method derived_public_key --args '{"path":"antibody/acme.antibody.testnet/bounty.antibody.testnet/5","predecessor":"guardian.antibody.testnet","domain_id":0}', its last 20 bytes of cast keccak 0x<x‖y>; antibody view --contract guardian.antibody.testnet --method get_permit --args '{"id":6}', then ecrecover(digest, v, r, s) and the adapter's guardian() with eth_call (commands below the table)
    view v1.signer-prod.testnet.derived_public_key({"path":"antibody/acme.antibody.testnet/bounty.antibody.testnet/5","predecessor":"guardian.antibody.testnet","domain_id":0})

    Holds if: the MPC network's key for near-guardian's path (its keccak-256 is the address)

    antibody view --contract v1.signer-prod.testnet --method derived_public_key --args '{"path":"antibody/acme.antibody.testnet/bounty.antibody.testnet/5","predecessor":"guardian.antibody.testnet","domain_id":0}'
    2 more checks, read straight from the chain
    eth_call on chain 11155111

    Holds if: ecrecover returns 0xd10a6d3cdb6363b4200aa976f67296fba844aa94

    curl -s https://ethereum-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0x0000000000000000000000000000000000000001","data":"0x5e745195d8d3541c29e7d5fa8fe74df6e8da1764dc44e3dffe7975e67107f088000000000000000000000000000000000000000000000000000000000000001b86ace246a13f71bd3653e359872e41836c600b177f124a56046129788b01ad561dfe5140eb8ff24e9193e5b095728c7a8e9e6f906616839560822561c4eaaad9"},"latest"]}'
    eth_call on chain 11155111

    Holds if: the adapter's guardian() is 0xd10a6d3cdb6363b4200aa976f67296fba844aa94

    curl -s https://ethereum-sepolia-rpc.publicnode.com -H 'content-type: application/json' -d '{"jsonrpc":"2.0","id":1,"method":"eth_call","params":[{"to":"0xad6bc84c8c5a9fb5aca79b13bb867b6e7930d49b","data":"0x452a9320"},"latest"]}'
    cast keccak 0xe7526e30a5e150619b099027c3a0dfc7146cf61f34edeee8b4d475922d96dc159af4204b733d89925332383c778cdf5171a9dfe2c264959079776d45c67bddbb
    antibody view --contract guardian.antibody.testnet --method get_permit --args '{"id":6}'
  20. 20

    The project reads only what it paid for: A's proof opens with its NEP-413-derived key; a duplicate is never wrapped

    Expected
    local verdict Violation, its receipt equals the TEE's: true; the run's request to wrap commit 16 was refused: true (python3 scripts/docs/recorded.py project_read.duplicate_refused --file docs/results/testnet-2026-11-04.json)
    Check, as JUDGES.md names it
    antibody --account <project> program read --commit 13 --project-key <key file> --out <dir> --reveal-tx 8yEJyYXgz34BJWCTPLVnvq13PLW15oBx8uzkMkopc4DY (the wrap exists: no transaction)
    On this site
    view bounty.antibody.testnet.get_commit({"commit_id":13})

    Holds if: commit 13 (A's) was wrapped to the project by run 40

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":13}'
    One more check, read straight from the chain
    view bounty.antibody.testnet.get_commit({"commit_id":16})

    Holds if: commit 16 (D's duplicate) was never wrapped: wrapped is null

    antibody view --contract bounty.antibody.testnet --method get_commit --args '{"commit_id":16}'
    antibody --account <project> program read --commit 13 --project-key <key file> --out <dir> --reveal-tx 8yEJyYXgz34BJWCTPLVnvq13PLW15oBx8uzkMkopc4DY
    python3 scripts/docs/recorded.py project_read.duplicate_refused --file docs/results/testnet-2026-11-04.json
  21. 21

    Every conservation equation balances (the ledger's both sides)

    Expected
    contract: true, fork_mode: true, practice: true, program: true
    Evidence
    view calls
    Check, as JUDGES.md names it
    antibody judge (each program's audit ok, and the contract's)
    On this site
    GET https://api.antibody.144-91-104-54.sslip.io/v1/programs/5

    Holds if: program 5's audit balances: audit.ok is true

    antibody judge
    One more check
    GET https://antibody-near.vercel.app/v1/judge

    Holds if: the contract's own audit balances: audit_contract.ok is true

    antibody judge
  22. 22

    An off-the-shelf agent (Claude Code, the v0.5.0 release binary) completes the loop over MCP: measured runs, not bug finding

    Expected
    task a, the tutorial proof through practice_try, no built-in tools: 10 of 10 commits ended Done:Paid (7 within the agent's own call); median 98 s when paid within the call; task a2, the agent writes the proof itself with hunt_start, check_poc and hunt_submit, and file tools in its workspace: 6 of 6 commits ended Done:Paid (3 within the agent's own call); median 91 s when paid within the call
    Evidence
    task a, task a2
    Check, as JUDGES.md names it
    each run's commit with antibody status --commit <id> (the ids are in each report)

    This check runs in a terminal: its command is below.

    antibody status --commit 38
    antibody status --commit 48

One look

The deployment on one screen: each contract and whether it is locked, the contract's audit, and every program, as the run read them.

Commands are written antibody …: with the binary from the README's "Try it", run ./antibody … (.\antibody.exe … on Windows). Values only the run records (timings, refusals, counts) print with python3 scripts/docs/recorded.py <path> --file docs/results/testnet-2026-11-04.json, which needs Python 3 (standard library only) and a clone of this repository; without them, read the same path in that file. Tiers are the verification levels the CLI prints: T0, the enclave verdict (OutLayer's operator delivered the enclave's output; nothing on NEAR checks it yet); T1, attested on NEAR (the run's TDX quote verified on NEAR); T2, a zero-knowledge proof of a disclosed verdict, verified on NEAR.

antibody judge
What it prints, as JUDGES.md states it

Expected (a one-screen summary; --json for the full record): near-antibody bounty.antibody.testnet locked: true, payout token wrap.testnet locked: false, near-guardian guardian.antibody.testnet locked: true, practice vending practice.antibody.testnet locked: true, verdict guard guard.antibody.testnet locked: true, T2 (near-t2) zk.antibody.testnet locked: true; contract audit ok: true; 8 programs at the run; programs created since follow them: a daily drill's (Acme Lend drill <date>), fresh practice programs, and the program kept for pull-request checks.

The contracts

The deployment's contracts and whether each account is locked
RoleAccountLocked
near-antibody
bounty.antibody.testnet
locked
payout token
wrap.testnet
not ours; not locked
near-guardian
guardian.antibody.testnet
locked
practice vending
practice.antibody.testnet
locked
verdict guard
guard.antibody.testnet
locked
T2 (near-t2)
zk.antibody.testnet
locked

Contract audit: balances

Check it from your browser

GET https://antibody-near.vercel.app/v1/judge

Holds if: the contract's own audit balances: audit_contract.ok is true

This run's programs are 5 (Acme Lend), 6 (practice) and 7 (fork mode); the others listed are earlier runs' on the same deployment. Since the run: program 4's 2 pause permits, relayed on 2026-11-07 (docs/results/relay-2026-11-07.json).

This run's programs

This run's programs, as the run's judge view read them
ProgramPhaseAnchorAttested on NEARPayoutsPause / release permitsAudit
Program 5this run: Acme Lend
Acme Lend v1 — pre-launch (testnet)
Open
light-client
7 of 7
4
2 / 4
ok
Program 6this run: practice
Practice program — a tutorial (testnet)
Open
light-client
2 of 2
2
each try adds one
0 / 0
ok
Program 7this run: fork mode
Practice program in fork mode — a tutorial (testnet)
Open
light-client
1 of 1
1
0 / 0
ok

Earlier runs on the same deployment

Earlier runs' programs on the same deployment, as the run's judge view read them
ProgramPhaseAnchorAttested on NEARPayoutsPause / release permitsAudit
Program 0
Acme Lend v1 — pre-launch (testnet)
Open
light-client
7 of 7
4
2 / 4
ok
Program 1
Practice program — a tutorial (testnet)
Open
light-client
0 of 0
0
0 / 0
ok
Program 2
Practice program — a tutorial (testnet)
Open
light-client
3 of 3
3
0 / 0
ok
Program 3
Practice program in fork mode — a tutorial (testnet)
Open
light-client
1 of 1
1
0 / 0
ok
Program 4
Acme Lend v1 — pre-launch (testnet)
Open
light-client
1 of 1
1
0 / 0
ok

Transactions

Each transaction behind the table, with the command that shows its status, events and failures:
antibody admin tx <transaction> --signer <signer>
Each transaction behind the claims, its signer and the command that shows it
StepTransactionSignerCommand
A (MCP) commit
agent-a.antibody.testnet
our fixture agent A
A (MCP) reveal
agent-a.antibody.testnet
our fixture agent A
A (MCP) pay
keeper.antibody.testnet
our keeper
B commit
agent-b.antibody.testnet
our fixture agent B
B reveal
agent-b.antibody.testnet
our fixture agent B
B pay
keeper.antibody.testnet
our keeper
C commit
agent-c.antibody.testnet
our fixture agent C
C reveal
agent-c.antibody.testnet
our fixture agent C
D commit
agent-d.antibody.testnet
our fixture agent D
D reveal
agent-d.antibody.testnet
our fixture agent D
E commit
agent-e.antibody.testnet
our fixture agent E
E reveal
agent-e.antibody.testnet
our fixture agent E
F commit
agent-f.antibody.testnet
our fixture agent F
F reveal
agent-f.antibody.testnet
our fixture agent F
F pay
keeper.antibody.testnet
our keeper
G commit
agent-g.antibody.testnet
our fixture agent G
G reveal
agent-g.antibody.testnet
our fixture agent G
G pay
keeper.antibody.testnet
our keeper

Timings

As the run recorded them: A's from its commit's block; the others are durations on the run's own clock.

Limits

docs/limitations.md, item by item. They hold for every program, not only this run. Read them in docs/limitations.md

What applies right now, such as worker images inside their delay and the services' alerts, is on the status page, which your browser refreshes every 30 s.

The run is recorded, not live: it ran once, starting 2026-11-04 15:04 UTC, and its results file holds what it saw. JUDGES.md and the claims on this page are generated from that file by scripts/docs/judges.py, so they cannot drift apart. Everything runs on testnets: wNEAR has no value, and Acme Lend and the practice vaults are our own deliberately vulnerable fixtures.