Prop AMM Teardown
The wall#53 other closed program

Perena Star V2

save8RQVPMWNTzU18t3GBvBkN9hT7jsGjiCQ28FpD9HSolscan
0.00
USDC in the pot
0
backers
0
attempts
est. 746
transactions in 24 h
Chip in

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

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

Escrow 2gAic9…h4gsBo · USDC account 4vTf7G…iY6FES

print of ELF sha256 04f40d6aefc8bd01…, 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
465,364,110
ELF sha256
04f40d6aefc8bd01b50dc9a96e822db8bd2f54a730ab7714b9bceb2af1800009
ELF size
2,055,072 bytes (1.96 MB)
Snapshot taken
2026-11-04 17:01 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.

196,317
sBPF instructions in .text
1,096
functions reached by internal calls
10,954
internal call sites
14
syscalls used

Sections

.text1,659,568
.rodata30,443
.data.rel.ro13,408
.dynamic176
.dynsym408
.dynstr255
.rel.dyn110,448
.comment107
.symtab59,688
.shstrtab97
.strtab179,405

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_set_return_datasol_sha256sol_try_find_program_address

sBPF flags 0, names read from .dynsym

Largest functions

Offset in .textBytes
0x17b7c054,680
0x4eee826,528
0x8530025,536
0xff0f017,760
0x2636017,376
0xf9f3017,040
0xcad1816,392
0xe55f015,968
0xef81815,816
0x3c3d814,264
0x8dd0813,728
0xf436812,960

Strings in .rodata (34)

NotFoundTimedOut:=#
bps max=withdraw
(bytes x
uwDeadlockReservedcalled `Result::unwrap()` on an `Err` valuesrc/accounts/account_loader.rs
Invalid protocol interaction CPI
Instruction: SetAssetPriceOracleThe given account is not mutablecore/src/unicode/unicode_data.rs
Instruction: DistributeIncentive
rust/crates/common/src/traits.rs
Yindex out of bounds: the len is
allocation_destination_share_ataInsufficient accrued APY balanceAccountNotAssociatedTokenAccount
"N7;Instruction: CancelAsyncWithdrawInstruction: ProtocolInteraction
A signer constraint was violated7l
ATAn owner constraint was violated
#protocol_fee_collector_share_ataProgramError caused by account: src/de/mod.rsfailed to fill whole buffer()a Display implementation returned an error unexpectedly/Users/runner/work/platform-tools/platform-tools/out/rust/…
fromkind
userbase
MaxSeedLengthExceededInvalidSeedsIllegalOwnerstored PDA bump is invalidTryFromIntErrorUnexpected variant index: CustomInvalidArgumentInvalidInstructionDataInvalidAccountDataAccountDataTooSmallInsufficientFundsIncorrectPr…
rust/programs/vault/src/constants.rs
ConstraintHasOneConstraintSigneralloc/src/fmt.rsallocation_vault) when slicing `Invalid argumentowner_output_atarange end index . Error Number:
AccountNotSignerPermissionDeniedcurator_usdc_ataAddrNotAvailable0123456789abcdefMARGINFI_DEPOSITwithdrawal_queuedivision by zeroInvalidProgramIdvault_source_atavault_output_atabpsrust/programs/vault/src/instructions/vaul…
rust/programs/vault/src/instructions/vault/permissioned/create_vault.rsrust/programs/vault/src/instructions/vault/permissioned/deposit_curator_fees.rsrust/programs/vault/src/instructions/vault/permissioned/incentives.rsr…
token_programsystem_programsigneroraclemanagersource_token_programassociated_token_programqueue_payerpayerSupplied share mint already has non-zero supplySupplied mint is not accepted by this vaultDeposit amount must be g…
/Users/runner/work/platform-tools/platform-tools/out/rust/library/core/src/iter/adapters/enumerate.rs/Users/runner/work/platform-tools/platform-tools/out/rust/library/core/src/iter/traits/iterator.rs/Users/runner/work/pl…
decimals value would exceed u128::MAXrust/crates/common/src/utils/number.rs
Math overflowMath underflowAccount is not a registered oracleOracle price needs to be refreshedUnable to parse account data to the expected formatAccount does not match the expected addressThis feature is not yet impleme…
src/instruction.rs/Users/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/raw_vec.rs
src/state.rs/Users/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/raw_vec.rssrc/instruction.rssrc/state.rs/Users/runner/work/platform-tools/platform-tools/out/rust/library/alloc/src/slice.rsError/Us…
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyzUnsupported PubkeyErrorsrc/lib.rsProgramDerivedAddressUnable to find a viable program address bump seed/Users/runner/work/platform-tools/platform-tools/out/rust/l…
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
465,364,11004f40d6aefc8bd01b50dc9a96e822db8bd2f54a730ab7714b9bceb2af18000091.96 MB2026-11-04 17:01 UTC
462,099,22304f40d6aefc8bd01b50dc9a96e822db8bd2f54a730ab7714b9bceb2af18000091.96 MB2026-11-02 18:00 UTC