Prop AMM Teardown
The wall#5 prop AMM

AlphaQ

ALPHAQmeA7bjrVuccPsYPiCvsi428SNwte66Srvs4pHASolscan
0.00
USDC in the pot
0
backers
0
attempts
est. 454,259
transactions in 24 h
Chip in

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

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

Escrow FjhAQS…jWubrZ · USDC account BkqK5F…jyMTav

print of ELF sha256 3192a190b0aa4ade…, 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
422,791,798
ELF sha256
3192a190b0aa4ade360844924118cebd47a5479b26658764ae285362f2ede6d0
ELF size
277,976 bytes (271.5 KB)
Snapshot taken
2026-11-02 15:19 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.

29,187
sBPF instructions in .text
322
functions reached by internal calls
1,102
internal call sites
13
syscalls used

Sections

.text244,768
.rodata10,880
.data.rel.ro5,528
.dynamic176
.dynsym384
.dynstr258
.rel.dyn15,040
.shstrtab72

Syscalls

abortsol_create_program_addresssol_get_clock_sysvarsol_get_last_restart_slotsol_get_rent_sysvarsol_invoke_signed_rustsol_keccak256sol_log_sol_memcmp_sol_memcpy_sol_memset_sol_secp256k1_recoversol_try_find_program_address

sBPF flags 0, names read from .dynsym

Largest functions

Offset in .textBytes
0x249d09,408
0x1cc09,248
0x299e88,568
0x2bb607,752
0x93a86,928
0x1ee706,800
0x392785,392
0x2d9a84,496
0x145684,488
0xcf484,416
0xebe04,400
0xb0b03,512

Strings in .rodata (47)

src/lib.rs
library/alloc/src/fmt.rs
library/alloc/src/string.rs
library/alloc/src/raw_vec/mod.rs
sdk/src/pda.rs
src/instruction.rs
library/core/src/num/flt2dec/strategy/grisu.rs
src/instructions/update_price.rs
src/extension/mod.rs
sdk/src/account.rs
src/state.rs
library/core/src/unicode/printable.rs
src/internal.rs
/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/slice.rs
library/core/src/num/bignum.rs
library/core/src/str/mod.rs
src/instructions/swap_handler.rs
/home/runner/work/platform-tools/platform-tools/out/rust/library/core/src/cmp.rs
library/core/src/num/flt2dec/strategy/dragon.rs
library/core/src/fmt/mod.rs
sdk/src/math.rs
src/instructions/swap_with_sig.rs
sdk/src/instruction.rs
library/core/src/num/flt2dec/mod.rs
/home/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/raw_vec/mod.rs
library/core/src/num/diy_float.rs
Exponent out of bounds for u128:
Yindex out of bounds: the len is
RefCell already mutably borrowed
withdrawalvaultmarketmarket_stats0.0.1 [main-8b47eb6]Version: program
y+jZFJ
Invalid signature
assertion `left ) when slicing `range end index
PermissionDeniedAddrNotAvailable right` failed: floating point `0123456789abcdefdivision by zeroUnsupported Secp256k1RecoverErroran array of length 32Integer overflow when casting to u128variant index 0 <= i < 4internal …
L;KExponent out of bounds for U256:
called `Result::unwrap()` on an `Err` valueIoInvalidUtf8EncodingInvalidBoolEncodingInvalidCharEncodingInvalidTagEncodingDeserializeAnyNotSupportedSizeLimitSequenceMustHaveLengthCustomUtf8Errorvalid_up_toerror_lencodeKind…
Errorcapacity overflowa formatting trait implementation returned an error when the underlying stream did not
assertion failed: d.mant > 0assertion failed: d.minus > 0assertion failed: d.plus > 0assertion failed: buf.len() >= MAX_SIG_DIGITSassertion failed: d.mant.checked_sub(d.minus).is_some()assertion failed: d.mant.checked_ad…
assertion failed: d.mant + d.plus < (1 << 61)assertion failed: !buf.is_empty()assertion failed: d.mant < (1 << 61)
;assertion failed: buf[0] > b'0'assertion failed: parts.len() >= 4.0.-+NaNinf0assertion failed: buf.len() >= maxlen)..:called `Option::unwrap()` on a `None` valuepanicked at :
but the index is ==!=matches right` failed
right:
left: : { , {
,0x0001020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989900000000000000000…
)14:EFIJNOde
INOWY^_
assertion failed: noborrowassertion failed: digits < 40assertion failed: other > 0attempt to divide by zerorange start index out of range for slice of length slice index starts at but ends at

Instruction sample

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

First 8 bytesCountAccountsData length
0b032e71d870ab4514×198B×1
0b020953134dab4513×174B×1
0c0086a909000000112×118B×1
0b0e6fc4303bab45115×1362B×1
0b0107214f29ab4512×150B×1
0b018e606d17ab4512×150B×1
0c01e43312000000112×118B×1
0c01e0a40b000000112×118B×1
0b0eafb72732b080115×1362B×1
0b01b6134620b08012×150B×1
0b025921620eb08013×174B×1
0b019d88b9d8af8012×150B×1
0c0023a361170000114×118B×1
0b0f7051f4b4af80116×1386B×1
0b03b7be2f91af8014×198B×1
0c0171850c000000112×118B×1

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
422,791,7983192a190b0aa4ade360844924118cebd47a5479b26658764ae285362f2ede6d0271.5 KB2026-11-02 15:19 UTC