Prop AMM Teardown
The wall#23 other closed program

Quay

QUayE6nexQWYNZAEqfN8FxoNwQDSu3CAzT2qq9J1ArGSolscan
0.00
USDC in the pot
0
backers
0
attempts
est. 48,693
transactions in 24 h
Chip in

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

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

Escrow J3eJEp…eRuWd7 · USDC account DhYaVq…d5PnfP

print of ELF sha256 a33830b2b069e718…, 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
442,062,012
ELF sha256
a33830b2b069e718ff709121913aa421489a97dd631895dec36fd3318334c5a8
ELF size
171,512 bytes (167.5 KB)
Snapshot taken
2026-11-02 15:59 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.

18,531
sBPF instructions in .text
149
functions reached by internal calls
667
internal call sites
11
syscalls used

Sections

.text152,528
.rodata1,960
.data.rel.ro5,416
.dynamic176
.dynsym360
.dynstr211
.rel.dyn9,920
.shstrtab72

Syscalls

abortsol_get_clock_sysvarsol_get_stack_heightsol_get_sysvarsol_invoke_signed_csol_log_sol_memcmp_sol_memcpy_sol_memmove_sol_memset_sol_try_find_program_address

sBPF flags 0, names read from .dynsym

Largest functions

Offset in .textBytes
0x146d048,408
0x119c08,696
0xb0606,128
0x237405,392
0xc8504,608
0x70b83,736
0xe2d03,064
0xf7582,848
0x42682,824
0x55582,648
0x2d582,512
0xeec82,192

Strings in .rodata (29)

src/lib.rs
src/entrypoint/mod.rs
onchain/program/src/instructions/market_maker.rs
onchain/program/src/instructions/swap.rs
src/logger.rs
onchain/vm/src/vm.rs
onchain/program/src/instructions/global.rs
onchain/program/src/instructions/quotes.rs
onchain/program/src/instructions/strategy.rs
src/syscalls.rs
src/internal.rs
onchain/program/src/token.rs
onchain/program/src/tx_context.rs
onchain/program/src/state.rs
src/sysvars/instructions.rs
Unable to find a viable program address bump seed
index out of bounds: the len is
dest is out of boundsfrom_bytesfrom_bytes_mut>globalmmvaultstrategycast_sliceQuay: unknown discriminator =======BEGIN SECURITY.TXT V1=======
project_url
https://quay.markets
contacts
email:security@quay.markets
policy
Report vulnerabilities privately to security@quay.markets. Please allow time for remediation before any public disclosure.
preferred_languages
** PANICKED **()TryFromSliceErrorcalled `Result::unwrap()` on an `Err` value
range end index
TargetAlignmentGreaterAndInputNotAlignedOutputSliceWouldHaveSlopSizeMismatchAlignmentMismatchError: memory allocation failed, out of memorycapacity overflowattempt to add with overflowattempt to subtract with overflowatt…
,00010203040506070809101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899attempt to divide b…

This program embeds a security.txt; its contacts are the place to report anything found while reading it.

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
442,062,012a33830b2b069e718ff709121913aa421489a97dd631895dec36fd3318334c5a8167.5 KB2026-11-02 15:59 UTC