Post a bounty

Bounties on closed Solana programs, judged by mainnet replay

PROOF #0001 · CALIBRATION · MATCH 10,985/10,985 · PASS
SPL Memo v3 · MemoSq…GmfcHrproof #0001 · calibration
f0f61b6ede889024606b34e8b016b46400b3d370f0c6fa3b9c8ee804be4a6943b1675b2064fa9e71645a1b1b6063eb1b6063eb2b7ab4a176eaa8e0f06abcb4456e81b90960bc96fabe307063e464b66038140be0b4f3a4f098769e7676aae14a38696c0709849b75b8791e2e9437ee166e166e166e166eBYTECODE74.8 KB · sBPF V0INSTRUCTIONS1,000 mainnet instructionsACCOUNTS15 accounts in the corpusDISPATCH237 functionsSOURCEmatch 10,985/10,985f0f61b6ede889024606b34e8b016b46400b3d370f0c6fa3b9c8ee804be4a6943b1675b2064fa9e71645a1b1b6063eb1b6063eb2b7ab4a176eaa8e0f06abcb4456e81b90960bc96fabe307063e464b66038140be0b4f3a4f098769e7676aae14a38696c0709849b75b8791e2e9437ee166e166e166e166eBYTECODE74.8 KB · sBPF V0INSTRUCTIONS1,000 mainnet instructionsACCOUNTS15 accounts in the corpusDISPATCH237 functionsSOURCEmatch 10,985/10,985
SolanaUSDCJupiterPhantomSolflareOtterSecSolscanpump.funHow each one is used

Every closed program gets its own bounty page

SPL Memo v3 · MemoSq…GmfcHrCalibration
Teardown kit
Disassembly7,498 lines
Functions237
Syscalls2
Strings13
Discriminator map40
Account patterns24
CPI targets0
Corpus1,000
Syscalls
abort67
sol_log_5
disassembly · sha256 f520eaf0…6ef67954
fn_00000:
    00000  ldxdw r0, [r1+0x0]
    00001  exit
fn_00002:
    00002  ldxdw r0, [r1+0x0]
    00003  exit
fn_00004:
    00004  ldxdw r2, [r1+0x8]
    00005  jeq r2, 0, lbb_10
    00006  ldxdw r1, [r1+0x0]
    00007  mul64 r2, 48
    00008  mov64 r3, 8
    00009  call fn_00202
    0000a  exit
fn_0000b:
    0000b  ldxdw r2, [r1+0x8]
    0000c  jeq r2, 0, lbb_16
    0000d  ldxdw r1, [r1+0x0]
    0000e  mov64 r3, 1
    0000f  call fn_00202
    00010  exit
fn_00011:
    00011  call fn_00000
    00012  exit
fn_00013:
    00013  mov64 r7, r1
    00014  call fn_00002
    00015  mov64 r6, r0
    00016  ldxdw r7, [r7+0x10]
    00017  jeq r7, 0, lbb_34
    00018  mul64 r7, 48
    00019  add64 r6, 16
    0001a  mov64 r1, r6
    0001b  add64 r1, -8
Snapshot
Loader
BPFLoa…1111
Upgrade authority
none
ELF size
74,800 bytes
Corpus
1,000 real
Escrow

Calibration target on an open program. No escrow, no payout.

Submissions
#0001PASS10,985/10,985#0002FAIL3,878/10,985
Judge
queuedbuildingreplayingdone
Paste a program id

The snapshot shows the loader, upgrade authority, last deploy slot, ELF size and sha256. Programs already verified open source are refused.

Fund it in USDC

Pay from Phantom or Solflare, 50 USDC minimum. Anyone can top up the same bounty.

Paid on PASS

90% of the escrow goes to the hunter. 10% is bought into $DECOMP and burned.

Rebuilt by hunters, judged by replay

Read the rules
program    MemoSq4g…DLGmfcHr
loader     BPFLoader2…1111
authority  none
deployed   loader v2, fixed
elf        74,800 bytes
sha256     f520eaf096…6ef67954
verified   no
Post a bounty

Paste a program id, set an amount and fund the escrow. Every transfer carries a Memo with the bounty id.

Post a bounty
fn_00000:
    00000  ldxdw r0, [r1+0x0]
    00001  exit
fn_00002:
    00002  ldxdw r0, [r1+0x0]
    00003  exit
fn_00004:
    00004  ldxdw r2, [r1+0x8]
    00005  jeq r2, 0, lbb_10
    00006  ldxdw r1, [r1+0x0]
    00007  mul64 r2, 48
A teardown kit on every bounty

Disassembly, functions, syscalls, strings, discriminator map, account patterns and CPI targets, all downloadable.

Open a teardown kit
proof      #0001  calibration
candidate  dafe481142…3f52b6f9
corpus     731ba8d3f3…47a17858
source     ca60fa3a2a…2dc838d2
match      10,985/10,985
verdict    PASS
The judge replays mainnet

Your crate is built and run against up to 1,000 real mainnet instructions and 10,000 fuzzed ones. The first PASS takes the bounty.

How the replay works
$ curl -fsSL "https://www.decompilebounty.com/verifier/verify.sh" \
    | SITE="https://www.decompilebounty.com" sh -s -- 0001
Hunt from your terminal

Test locally with the public verifier, then submit a crate and a payout wallet. Use the REST API or the MCP server.

Start hunting
decompile-bounty
$ curl -s https://www.decompilebounty.com/api/v1/verdicts/0001

{
  "id": "0001",
  "verdict": "PASS",
  "calibration": true,
  "program": "MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr",
  "matched": 10985,
  "total": 10985,
  "ok_path": 7107,
  "report_sha256": "4b029ffbe428ca3d614c609b9bd56e5379afb1193b9ed341e56ded470f0dab03",
  "corpus_sha256": "731ba8d3f3d2a0aa0ec354faa890c000f58bfb17eea4b39af4f7a05847a17858",
  "source_sha256": "ca60fa3a2a704639c9ee01f94f80871e4bdc4ae978b2d8116cfdaa4b2dc838d2",
  "memo": "pending"
}

Everything is on the record

Up to 1,000 real mainnet instructions and 10,000 fuzzed variants per program. Every page prints the real N: the calibration corpus holds 1,000.

Corpus
disassembly.txt7,498 lines
functions237 found
syscallsabort, sol_log_
strings13 from .rodata
discriminators40 first bytes seen
account patterns24 groups
cpi targets0
corpus.jsonsha256 731ba8d3…a17858
Teardown kit

Proof #0001: 10,985 of 10,985 compared cases match.

Verdict page
every transfer carries its Memo
decomp:fund:<bounty>
top-ups
none yet

Anyone can top up an open bounty. Each top-up is its own USDC transfer, read back from the chain.

Crowdfunding
90%

of the escrow goes to the hunter whose source passes first. A later passing source gets a matched after the winner badge.

To the hunter
day 0 · open
no PASS
day 90 · refunding
each backer gets their share

A bounty with no PASS after 90 days lets each backer withdraw their share, sent by the keeper with a Memo.

Refunds after 90 days
AES-256-GCM
key sealed to the judge (X25519)
QlU6Xq7T1E…/gk1s=

Your crate is encrypted in the browser. Only the judge machine can open it; its sha256 is the public commitment.

Encrypted to the judge
curl -fsSL "https://www.decompilebounty.com/verifier/verify.sh" | SITE="https://www.decompilebounty.com" sh -s -- 0001
Public verifier
90%
USDC to the hunter
10%
bought into $DECOMP and burned

Until $DECOMP exists, the 10% share waits in the vault and the vault page says so.

Payout and burn

Verdicts with their proofs

Run the verifier

Closed programs worth a bounty

103 programs rankedBrowse the wanted list
Wanted
#ProgramRecent txBounty
1
1DEX
DEXYos…aqPMTm
1,0000 USDCPost a bounty
2
Aldrin
AMM55S…MSQWH6
1,0000 USDCPost a bounty
3
AlphaQ
ALPHAQ…vs4pHA
1,0000 USDCPost a bounty
4
Aquifer
AQU1FR…3bTz45
1,0000 USDCPost a bounty
5
Archer
Archer…kUPMhy
1,0000 USDCPost a bounty
6
BisonFi
BiSoNH…CSUypi
1,0000 USDCPost a bounty
7
BisonFi Predict
2DNbzP…FvKsbh
1,0000 USDCPost a bounty
8
Bonkswap
BSwp6b…epzH8p
1,0000 USDCPost a bounty

Paste a program id

Snapshot, teardown kit and corpus are built for you
Browse the wanted list