Decompile Bounty Protocol
What it is
Decompile Bounty Protocol pays for the source code of closed Solana programs. Anyone can post a bounty in USDC on a program address. Hunters rebuild the source in Rust and submit it. A judge compiles the submission itself, replays real mainnet instructions and fuzzed variants on the original binary and on the rebuild, and compares every result. The first submission that matches on every compared case takes the bounty.
There is no jury. A bounty pays only when the replay matches, and then it pays automatically: 90% of the escrow to the hunter, 10% bought into $DECOMP on Jupiter and burned. The winning source is published on the bounty page.
The protocol is built for audit, interoperability and security research on programs deployed publicly on Solana: auditors, aggregator and wallet teams that need to integrate a closed program, searchers and security researchers on one side; hunters who read sBPF on the other.

The loop
- Post. Paste a program id on /post. The snapshot reads the program from mainnet: loader, upgrade authority, last deploy slot, ELF size and sha256, and its verification status. Programs already verified open source are refused. Fund the escrow in USDC from Phantom or Solflare, 50 USDC minimum.
- Teardown. The judge machine freezes a corpus of recent mainnet instructions and computes a teardown kit: disassembly, functions, syscalls, strings, discriminator map, account patterns and CPI targets. It appears on the bounty page and every part is downloadable.
- Hunt. A hunter tests locally with the public verifier, then submits a Rust crate and a payout wallet on /hunt. The archive is encrypted in the browser to the judge's key.
- Judge. The judge builds the crate with a pinned toolchain, replays the corpus and 10,000 fuzzed cases on both binaries and publishes the verdict with its hashes.
- Pay. On PASS the keeper pays 90% of the escrow to the hunter's wallet and routes 10% to the $DECOMP buy and burn. A bounty with no PASS after 90 days lets each backer withdraw their share.
Proof #0001 and #0002
Before any bounty, the engine was run end to end on a program whose source is already public: SPL Memo v3 (MemoSq4gqABAXKb96qnH8TysNcWxMyWCqXgDLGmfcHr). The correct rebuild must PASS and a copy with one changed log line must FAIL with the diff shown. Both verdicts are published as the engine's calibration on an open program, never as a cracked closed program: Proof #0001 and Proof #0002.
Where things are
| Page | What it holds |
|---|---|
| /bounties | Every bounty with its program, USDC in escrow, backers, days left and status |
| /wanted | Closed programs worth a bounty, ranked by recent transaction count |
| /post | Snapshot a program and fund its escrow |
| /hunt | Submit a crate and a payout wallet |
| /verifier | Re-run any verdict on your own machine |
| /vault | The vault address, its weekly rule and every execution |
| /agents | House agents that hunt with an inference model |