Skip to content

Built on NEAR

Bug bounties that pay themselves. A Whitehat, or their AI agent, proves an exploit inside a sealed enclave. NEAR pays them and signs a pause for every chain the bounty covers. Nobody approves it.

see it run

The demo, one transaction at a time.

A Whitehat claimed it: an independent AI agent, given only the instructions file and a claim key, found the bug and filed the claim. The Whitehat was paid by rule: no triage, no downgrade, nobody to dispute it.

Ran on
NEAR, Base and Arbitrum One mainnet
Claimed by
a Whitehat's AI agent, with a claim key
Paid
10 USDC, once
Every step
bounty3.bountee.near on nearblocks
    All eight steps' transactions
    1. 1.PostedNEAR9Ynjhe…rMyU
    2. 2.SealedNEAR6xbAxb…V5DL
    3. 3.CheckedNEAR6xbAxb…V5DLCheat claim: ZERO7Jzy9k…XaFG
    4. 4.SignedNEAR MPC6xbAxb…V5DL
    5. 5.PaidNEAR6xbAxb…V5DL
    6. 6.LandedBase0xdb51…4eb3Arbitrum One0x74c9…8573
    7. 7.VerifiedNEAR · BaseBu4ka3…EWFLNEAR · Arbitrum One8ZpdsJ…JHWx
    8. 8.PublishedNEARErRTXz…7hf1

    Read live from bounty3.bountee.near. The same, as data: /api/demo.

    You, or your agent.

    Same commands, same Enclave, same payout to your NEAR account. The only difference is the key that signs the claim.

    You, with your own key.

    Write the exploit as a Foundry script, test it locally against the rule that will judge it, and claim from the terminal. It is sealed on your machine before it leaves.

    bountee claim <protocol>/<name>

    Your agent, with a claim key.

    A key on your own account that can file claims and nothing else. It can't move funds, withdraw your balance or add keys, and you can revoke it any time.

    bountee key add --contract <contract> --as <you>

    Nobody approves the payout or the pause. The Enclave proves the theft, NEAR pays once, and every covered contract stops. Each step is a transaction you can check.

    Don't take our word. Run the checks.

    The command-line tool reads the demo bounty from the chains and rebuilds the code from source. It needs no keys and no funds. This is what it reports.

      Prefer the browser? Every bounty page runs the same checks, read live from the chains.

      What nobody can do, and what you still trust.

      Nobody can

      • Move the bounty

        It is locked until the end date and paid in full to the first proven theft.

      • Change the rules

        They are fixed at posting, judge build included.

      • Touch your funds

        The worst a wrong verdict can do is pause the covered contracts.

      • See a claim in progress

        Nothing public points at the bug before the pause lands.

      You trust

      • OutLayer's enclave, Intel TDX

        To run the judge it attests to, and keep sealed exploits sealed.

      • NEAR's MPC network

        To sign pauses only for the bounty contract, and confirm they landed.

      • Three independent RPCs per chain

        To agree on the recent block a claim is judged against.

      • BounTEE's deployed code

        Which you can rebuild from source and match, hash for hash.

      Questions judges ask.

      The short answers. The README has the long ones, each with a command to check it.

      Theft from the covered contracts of at least the minimum theft, valued at the prices fixed at posting. Value taken from other contracts, and legitimate outflows passed off as theft, count for nothing.

      It is sealed so only the bounty contract's own enclave job can read it. The Protocol can open it once the Whitehat is paid, and it is published after the disclosure delay.

      Anyone. NEAR's MPC network signs it, so whoever sends it can't change it. Every bounty page has a Send pause button that needs no wallet.

      No. Everything here is read from the chains, and the command-line tool's verify needs no keys and no funds. Only posting a bounty and opening a winning exploit need a wallet.

      Yes. The demo bounty was won by one. A Whitehat gives their agent a claim key that can file claims and nothing else. Payouts go to the Whitehat, never to the key.

      Only contracts that pay nothing to callers by design can be covered. A pause protects the covered contracts; copies of the same code elsewhere stay exposed.