Prop AMM Teardown
The wall#51 other closed program

Perena

NUMERUNsFCP3kuNmWZuXtm1AaQCPj9uw6Guv2Ekoi5PSolscan
0.00
USDC in the pot
0
backers
0
attempts
845
transactions in 24 h
Chip in

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

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

Escrow EAdKp4…kMfB7E · USDC account 4S9xDM…PZm9Dd

print of ELF sha256 177325c4ccc46e85…, 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
329,553,166
ELF sha256
177325c4ccc46e85c4584a10d6c7a7d15fd83d9f5949bbe554e45570227e8775
ELF size
1,096,808 bytes (1.05 MB)
Snapshot taken
2026-11-02 17:30 UTC
OtterSec verify
no verified build · on-chain hash c45e8c8e346fa545…
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.

119,081
sBPF instructions in .text
1,304
functions reached by internal calls
6,254
internal call sites
14
syscalls used

Sections

.text986,528
.rodata34,027
.data.rel.ro13,008
.dynamic176
.dynsym408
.dynstr241
.rel.dyn61,472
.shstrtab72

Syscalls

abortsol_get_clock_sysvarsol_get_rent_sysvarsol_invoke_signed_rustsol_log_sol_log_datasol_log_pubkeysol_memcmp_sol_memcpy_sol_memmove_sol_memset_sol_set_return_datasol_sha256sol_try_find_program_address

sBPF flags 0, names read from .dynsym

Largest functions

Offset in .textBytes
0x93ea022,984
0x771e816,888
0x7009011,976
0x4ad0811,792
0x650e011,216
0x20e5811,120
0x4426810,000
0x5a4609,712
0x50a609,616
0x19e689,200
0x62d889,040
0xc57008,768

Strings in .rodata (52)

called `Result::unwrap()` on an `Err` valuesrc/accounts/account_loader.rs/Users/dmitri/work/git/platform-tools/out/rust/library/core/src/iter/adapters/enumerate.rs
attempt to add with overflowfrom_bytesfrom_bytes_mut
Numeraire owner updated - prev: The given account is not mutablePair invariant L error - inv_T: Endpoint convergence error - x: Invariant computation overflowedindex out of bounds: the len is
Instruction: SetWhitelistedAdderA signer constraint was violatedWrong account(s) passed as inputA swap math operation overflowedAn owner constraint was violatedProgramError caused by account: src/extension/mod.rs
src/de/mod.rs
attempt to multiply with overflowinternal error: entered unreachable codefailed to fill whole buffer()a Display implementation returned an error unexpectedly/Users/dmitri/work/git/platform-tools/out/rust/library/alloc/sr…
attempt to divide by zeroUnexpected length of inputErrorcalled `Option::unwrap()` on a `None` value/Users/dmitri/work/git/platform-tools/out/rust/library/alloc/src/collections/btree/navigate.rs
poolcode
Kindfromkind
baseSome
pairNone
TryFromIntErrorUnexpected variant index: MaxSeedLengthExceededInvalidSeedsIllegalOwnerCustomInvalidArgumentInvalidInstructionDataInvalidAccountDataAccountDataTooSmallInsufficientFundsIncorrectProgramIdMissingRequiredSign…
NotFoundTimedOut
decimalsmetadata_padding (bytes
, pair: p
eDeadlockout_mintin_vaultnumeraire/programs/numeraire/src/processors/add_liquidity.rsLP token output too small - min_lp_token_mint_amount: , lp_token_mint_amount:
attempt to subtract with overflowLiquidity add overshoot - i: , x_reserve_deltas[i]: , max_amounts_in[i]: Add liquidity path solve failed, user_frac = prev - user_fraction:
?x_reserve_amountassertion `left ) when slicing `
, x_pool_start:
?, x_user_start: payer is not set, total_weight: range end index . Error Number: CreateIdempotent, y_pool_start: PermissionDenied, inv_L_actual: payer_lp_accountAddrNotAvailable right` failed: metadata_account0123456789a…
pairs.len <= MAX_STABLES_PER_POOL as usizeauthoritynumeraire/programs/numeraire/src/processors/init_virt_stable_pair.rsnumeraire/programs/numeraire/src/processors/metadata.rsnumeraire/programs/numeraire/src/processors/re…
attempt to shift left with overflowUnexpected dust error - token_index: numeraire/programs/numeraire/src/math.rsInteger overflow when casting to u64, y: , L: , A: , a: , b: , d: , lo: , hi: , dy: numeraire/programs/numer…
numeraire/programs/numeraire/src/lib.rsInstruction: IdlCreateAccountanchor:idlInstruction: IdlResizeAccountdata_len should always be >= the current account spaceInstruction: IdlCloseAccountInstruction: IdlCreateBufferIns…
attempt to add with overflow
called `Result::unwrap()` on an `Err` valueupdate_authority is not setmetadata is not setmint is not setsystem_program is not setauthority is not setsysvar_instructions is not setsrc/generated/instructions/create.rscreat…
AssociatedTokenAccountInstruction::CreateIdempotent`CreateRecoverNested
attempt to add with overflowa Display implementation returned an error unexpectedly/Users/dmitri/work/git/platform-tools/out/rust/library/alloc/src/string.rsError/Users/dmitri/work/git/platform-tools/out/rust/library/cor…
attempt to add with overflowMaxSeedLengthExceededInvalidSeedsIllegalOwnerCustomInvalidArgumentInvalidInstructionDataInvalidAccountDataAccountDataTooSmallInsufficientFundsIncorrectProgramIdMissingRequiredSignatureAccountA…
attempt to multiply with overflowsrc/encode.rscalled `Result::unwrap()` on an `Err` valueBufferTooSmallIoInvalidUtf8EncodingInvalidBoolEncodingInvalidCharEncodingInvalidTagEncodingDeserializeAnyNotSupportedSizeLimitSeque…
123456789ABCDEFGHJKLMNPQRSTUVWXYZabcdefghijkmnopqrstuvwxyzsrc/entrypoint.rssrc/instruction.rssrc/pubkey.rsUnable to find a viable program address bump seedsrc/rent.rsLength of the seed is too long for address generationP…
Custom program error: The arguments provided to a program instruction were invalidAn instruction's data contents was invalidAn account's data contents was invalidAn account's data was too smallAn account's balance was to…
TargetAlignmentGreaterAndInputNotAlignedOutputSliceWouldHaveSlopSizeMismatchAlignmentMismatchOsmessageErrorCustomerrorConnectionRefusedConnectionResetHostUnreachableNetworkUnreachableConnectionAbortedNotConnectedAddrInUs…
/Users/dmitri/.cargo/registry/src/index.crates.io-6f17d22bba15001f/hashbrown-0.14.2/src/raw/mod.rs
Errorlibrary/alloc/src/raw_vec.rscapacity overflowa formatting trait implementation returned an errorlibrary/alloc/src/fmt.rs
library/core/src/num/dec2flt/decimal.rs
b4jPjmj
library/core/src/num/dec2flt/parse.rsassertion failed: edelta >= 0library/core/src/num/diy_float.rs
library/core/src/num/flt2dec/strategy/dragon.rsassertion failed: d.mant > 0assertion failed: d.minus > 0assertion failed: d.plus > 0assertion failed: buf.len() >= MAX_SIG_DIGITSassertion failed: d.mant.checked_sub(d.minu…
library/core/src/num/flt2dec/strategy/grisu.rsassertion failed: d.mant + d.plus < (1 << 61)
attempt to divide by zeroassertion failed: !buf.is_empty()called `Option::unwrap()` on a `None` valueassertion failed: d.mant < (1 << 61)
;library/core/src/num/flt2dec/mod.rsassertion failed: buf[0] > b'0'assertion failed: parts.len() >= 4.0.eEe-E--+NaNinf00e00E0assertion failed: buf.len() >= maxlenout of range integral type conversion attempted)invalid ar…
but the index is ==!=matches right` failed
right:
left: : { , {
]library/core/src/fmt/num.rs0x0001020304050607080910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394…
[...]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.rslibrary/core/src/num/bignum.rsassertion failed: noborrowassertion failed: digits < 40assertion failed: other > 0Z
ih0sUr
7Cxl2i5n
wqBv/?

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
329,553,166177325c4ccc46e85c4584a10d6c7a7d15fd83d9f5949bbe554e45570227e87751.05 MB2026-11-02 17:30 UTC