Prop AMM Teardown
The wall#32 other closed program

Bonkswap

BSwp6bEBihVLdqJRKGgzjcGLHkcTuzmSo1TQkHepzH8pSolscan
0.00
USDC in the pot
0
backers
0
attempts
est. 9,119
transactions in 24 h
Chip in

USDC goes to this target's escrow with the Memo teardown:chip:BSwp…zH8p. You can take your share back any time before a PASS.

The wallet opens only when you click. Minimum 5 USDC.

Escrow Frqi6A…jXxDdG · USDC account HgKwLP…wsuWcG

print of ELF sha256 5ecb6bf90adc074a…, lock at 0.00% match

Snapshot.
Read from mainnet and frozen for this deploy slot.

Loader
Upgradeable loader (v3)
Program data
Upgrade authority
Last deploy slot
394,615,657
ELF sha256
5ecb6bf90adc074a4ac1a1769e71801856dfc2927c3f31746d51d2bee6f0ddcc
ELF size
885,176 bytes (864.4 KB)
Snapshot taken
2026-11-02 16:30 UTC
OtterSec verify
no verified build
Corpus
built by the judge machine: up to 1,000 recent mainnet instructions and 10,000 fuzzed variants; the real N is printed once it exists

Teardown kit.
Computed from the ELF and recent transactions, no AI. Hunters start here.

96,621
sBPF instructions in .text
597
functions reached by internal calls
5,054
internal call sites
13
syscalls used

Sections

.text815,712
.rodata18,815
.data.rel.ro7,008
.dynamic176
.dynsym384
.dynstr235
.rel.dyn41,904
.shstrtab72

Syscalls

abortsol_create_program_addresssol_get_clock_sysvarsol_get_rent_sysvarsol_invoke_signed_rustsol_log_sol_log_datasol_log_pubkeysol_memcmp_sol_memcpy_sol_memset_sol_sha256sol_try_find_program_address

sBPF flags 0, names read from .dynsym

Largest functions

Offset in .textBytes
0x2f0a017,768
0x510d817,152
0x1d77816,424
0x7877816,424
0x226f014,584
0x4cde013,664
0x7445813,608
0x499d013,328
0x2b5c013,216
0x5ff6012,440
0x1998012,400
0x630a012,208

Strings in .rodata (21)

The given account is not mutablecore/src/unicode/unicode_data.rs
Yindex out of bounds: the len is
AccountNotAssociatedTokenAccount
A signer constraint was violated
Instruction: WithdrawMercantiFeeAn owner constraint was violatedProgramError caused by account: src/lib.rssrc/extension/mod.rssrc/de/mod.rsfailed to fill whole buffer()a Display implementation returned an error unexpecte…
poolcode
Kindfromkind
programs/bonkswap/src/instructions/add_supply.rsprograms/bonkswap/src/instructions/add_tokens.rsbonkswapv1programs/bonkswap/src/instructions/close_pool.rsprograms/bonkswap/src/instructions/create_custom_farm.rsprograms/b…
(bytes
providerDeadlock
referrer
programs/bonkswap/src/instructions/create_pool_config.rsprograms/bonkswap/src/instructions/create_provider.rsprograms/bonkswap/src/instructions/force_withdraw_rewards.rsprograms/bonkswap/src/instructions/reset_farm.rspro…
AccountNotSignerPermissionDeniedAddrNotAvailable0123456789abcdefdivision by zeroInvalidProgramIdInvalid pool keyDelta greater than provider's tokensToken amount underflowWrong tokens ratioToo much shares providedSwap too…
o}programs/bonkswap/src/lib.rsInstruction: IdlCreateAccountanchor:idlInstruction: IdlResizeAccountdata_len should always be >= the current account spaceInstruction: IdlCloseAccountInstruction: IdlCreateBufferInstruction:…
src/state.rs/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/slice.rsError/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/string.rs/home/runner/work/platform-tools/pla…
but the index is : { , {
,core/src/fmt/num.rs0x000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798…
)14:EFIJNOde
INOWY^_
attempt to divide by zeronumber not in the range 0..=
range start index out of range for slice of length slice index starts at but ends at

Instruction sample

Sampling recent transactions: the cron reads a few at a time from public RPC.

Full kit from the judge

Disassembly, discriminator map over the full corpus, writable and signer patterns, account sizes and owners, CPI targets: computed by the judge machine for this snapshot and published here.

Pot.
Every transfer in and out of the escrow, read from Solana.

0 USDC, no backers yet. The first chip-in opens this pot.

Attempts.
Match percentages and hashes. The source stays encrypted until the verdict.

No attempts yet. Submit a rebuild.

Upgrade history.
One snapshot per deploy slot. A submission is judged against the snapshot it targeted.

Deploy slotELF sha256SizeTaken
394,615,6575ecb6bf90adc074a4ac1a1769e71801856dfc2927c3f31746d51d2bee6f0ddcc864.4 KB2026-11-02 16:30 UTC