Prop AMM Teardown
The wall#1 other closed program

Pump.fun Amm

pAMMBay6oceH9fJKBRHGP5D4bD4sWpmSwMn52FMfXEASolscan
0.00
USDC in the pot
0
backers
0
attempts
est. 14,896,552
transactions in 24 h
Chip in

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

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

Escrow 5xfXwf…3A5VZu · USDC account GAZUz3…paJwUb

print of ELF sha256 51a5f6a7fb5a812d…, 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
458,921,517
ELF sha256
51a5f6a7fb5a812de7686e593ce6159f6ee59b15771a3d5d37ab661c46d64586
ELF size
1,268,504 bytes (1.21 MB)
Snapshot taken
2026-11-02 15:10 UTC
OtterSec verify
no verified build
Corpus
1,000 real mainnet instructions from 851 transactions, slots 464,555,042 to 464,555,054, 1,729 account states, plus 10,000 fuzzed variants at replay · sha256 c11842bd9d853e4c…

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

139,524
sBPF instructions in .text
832
functions reached by internal calls
7,397
internal call sites
14
syscalls used

Sections

.text1,162,040
.rodata25,715
.data.rel.ro8,584
.dynamic176
.dynsym408
.dynstr255
.rel.dyn70,384
.shstrtab72

Syscalls

abortsol_create_program_addresssol_get_clock_sysvarsol_get_rent_sysvarsol_get_return_datasol_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
0x752d821,936
0xaaeb817,368
0x9a58815,624
0x408e815,512
0x45e5015,328
0xbf97014,120
0x3a5e812,576
0xba60011,408
0x1ff6811,256
0x8d6b010,392
0x8931010,352
0x2b94010,240

Strings in .rodata (29)

capacity overflow/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/vec/spec_from_iter_nested.rs
\>[^The given account is not mutable
Yindex out of bounds: the len is
AccountNotAssociatedTokenAccount
)FNothing to sweep for fee bucket BuySlippageBelowMinBaseAmountOutBuybackFeeRecipientNotAuthorizedA signer constraint was violatedm
Instruction: UpdateBuybackConfigAn owner constraint was violated
E/]aProgramError caused by account: account
fromkindD
userbaseS
src/de/mod.rsfailed to fill whole buffer()a Display implementation returned an error unexpectedly/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/string.rsfalseUnexpected length of inputInvalid …
metadatadata.lenSameMint (bytes user_ataV
Deadlockdeadlock
lamportsend_time__event_authorityGlobalVolumeAccumulator=programs/pump-amm/src/instructions/admin/set_reserved_fee_recipients.rsreserved_fee_recipients[]programs/pump-amm/src/instructions/admin/toggle_cashback_enabled.rs…
ConstraintHasOneseconds_in_a_dayEndTimeInThePastConstraintSignerconnection resetassertion `left ) when slicing `DayInActiveRangeentity not foundExceededSlippageDisabledWithdrawhost unreachableinvalid filenamerange end in…
AccountNotSignerPermissionDeniedno storage spaceAvailable fees (AddrNotAvailable right` failed: 0123456789abcdefdivision by zeroDataTypeMismatchInvalidProgramId) below minimum transfer amount ():pool-authoritybonding-cur…
programs/pump-amm/src/lib.rsBondingCurveFeeConfigSharingConfig
|pInstruction: IdlCreateAccountanchor:idlInstruction: IdlResizeAccountdata_len should always be >= the current account spaceInstruction: IdlCloseAccountInstruction: IdlCreateBufferInstruction: IdlWriteInstruction: IdlSet…
src/de/mod.rsfailed to fill whole buffera Display implementation returned an error unexpectedly/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/string.rsUnexpected length of inputInvalid bool re…
src/extension/transfer_fee/instruction.rs
src/state.rsa Display implementation returned an error unexpectedly/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/string.rsErrorMaxSeedLengthExceededInvalidSeedsIllegalOwnerCustomInvalidArgume…
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyzProgramDerivedAddressUnable to find a viable program address bump seedcalled `Result::unwrap()` on an `Err` valuesrc/encode.rspermission deniedconnection refusedn…
but the index is ==!=matches right` failed
right:
left: : { , {
,]library/core/src/fmt/num.rs0x000102030405060708091011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939…
[...]begin <= end (`byte index is not a char boundary; it is inside ) of ` is out of bounds of `library/core/src/str/mod.rslibrary/core/src/unicode/printable.rs
)14:EFIJNOde\
INOWY^_
library/core/src/unicode/unicode_data.rslibrary/core/src/escape.rsattempt to divide by zero

Instruction sample

14 instructions to this program in 11 recent transactions (7 reached by CPI), grouped by their first 8 bytes. A preview; the judge's corpus is the full set.

First 8 bytesCountAccountsData length
e445a52e51cb9a1d71×7457B×4 520B×3
33e685a4017f83ad423×3 24×124B×4
c62e1552b4d9e870325×2 26×125B×3

Full kit from the judge

Computed by the judge machine on 2026-11-02 16:03 UTC.

139,524
instructions disassembled
775
functions
1,000
real instructions in the corpus
V0
sBPF version

Download the disassembly (141,074 lines, sha256 5e6d3d7cc0630efd…) · corpus bundle

Syscalls and call counts

abort ×89sol_create_program_address ×1sol_get_clock_sysvar ×1sol_get_rent_sysvar ×1sol_get_return_data ×1sol_invoke_signed_rust ×1sol_log_ ×70sol_log_data ×1sol_log_pubkey ×1sol_memcmp_ ×1sol_memcpy_ ×2sol_memset_ ×2sol_sha256 ×1sol_try_find_program_address ×1

Instruction patterns over the corpus

Per discriminator: count, account and data sizes, then each account slot as signer (s) and writable (w).

DiscriminatorCountAccountsData bytesSigner and writable slots
e445a52e51cb9a1d436188 to 523--
c62e1552b4d9e87022825 to 2624 to 25-w sw -- -- -- -w -w -w -w -- -w -- -- -- -- -- -- -w -- -- -w -- -- -- -- -w
33e685a4017f83ad14523 to 2424-w sw -- -- -- -w -w -w -w -- -w -- -- -- -- -- -- -w -- -- -- -- -- -w
66063d1201daebea5725 to 2624 to 25-w sw -- -- -- -w -w -w -w -- -w -- -- -- -- -- -- -w -- -- -w -- -- -- -- -w
5df6823ce7e940b25617 to 2024-w sw -- -- -- -w -w -w -w -- -- -- -w -- -w -- --
b817ee6167c5d33d261724-w sw -- -- -- -w -w -w -w -- -- -- -w -- -w -- --
c2ab1c46684d5b2f231724-w sw -- -- -- -w -w -w -w -- -- -- -w -- -w -- --
f945a4da9667548a1548sw -w -- --
2b644913e9f66f941026 to 3124sw -w -w -- -- -w -w -- -- -- -- -- -- -- -- -- -- -- -w -w -w -- -- -w -w -w
5e06ca73ff60e8b7368sw sw -w -- -- --
694406af000723a211324-- sw -- -w -w -w -w -- -w -- -- -- --

Account owners and sizes

Tokenz…pPxuEb665 accounts170B×529 410B×8 175B×8
111111…111111389 accounts0B×389
pAMMBa…FMfXEA379 accounts137B×259 301B×113 287B×4
Tokenk…3VQ5DA279 accounts165B×268 82B×11
pfeeUx…6VojVZ10 accounts208B×8 4097B×2
6EF8rr…BEwF6P5 accounts166B×4 1088B×1
MAyhSm…47MD4e1 accounts74B×1
3s1rAy…DyW8pC1 accounts0B×1

CPI targets

Tokenk…3VQ5DA1147 calls
Tokenz…pPxuEb451 calls
pfeeUx…6VojVZ421 calls
111111…11111122 calls

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
458,921,51751a5f6a7fb5a812de7686e593ce6159f6ee59b15771a3d5d37ab661c46d645861.21 MB2026-11-02 15:10 UTC