Prop AMM Teardown
The wall#17 other closed program

Obsidian

HBVw6bZtcCaezhcBrmfyXBSBRWCdv72271xQ4GPvms2zSolscan
0.00
USDC in the pot
0
backers
0
attempts
est. 236,066
transactions in 24 h
Chip in

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

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

Escrow GAEG89…C8D4ix · USDC account AsbPnt…bMLafY

print of ELF sha256 ae9105b3537df3de…, 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
459,988,613
ELF sha256
ae9105b3537df3de56d8636b16a56e5c5480cc0af0fd8f88337509e5f3cdc0b0
ELF size
194,520 bytes (190.0 KB)
Snapshot taken
2026-11-02 15:30 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.

22,051
sBPF instructions in .text
161
functions reached by internal calls
592
internal call sites
12
syscalls used

Sections

.text183,680
.rodata3,048
.data.rel.ro1,304
.dynamic176
.dynsym384
.dynstr239
.rel.dyn4,752
.shstrtab72

Syscalls

abortsol_create_program_addresssol_get_last_restart_slotsol_get_stack_heightsol_get_sysvarsol_invoke_signed_csol_log_sol_memcpy_sol_memmove_sol_memset_sol_sha256sol_try_find_program_address

sBPF flags 0, names read from .dynsym

Largest functions

Offset in .textBytes
0x138207,200
0x24e06,904
0x109285,832
0x256685,800
0x2a9c05,280
0xb8205,000
0xa3604,912
0xe4a84,496
0x1c1c04,384
0x70304,248
0x154404,232
0x1aec83,968

Strings in .rodata (29)

src/entrypoint/mod.rs
obsidian-amm/src/state/pool_extensions.rs
obsidian-amm/src/utils/token.rs
obsidian-common/src/extensions/pool_ext.rs
/home/runner/work/platform-tools/platform-tools/out/rust/library/core/src/iter/adapters/enumerate.rs
src/pubkey.rs
obsidian-amm/src/instruction/swap_v2.rs
obsidian-amm/src/instruction/update_crank_params.rs
src/sysvars/rent.rs
obsidian-common/src/math/passive_inventory.rs
src/account_info.rs
obsidian-amm/src/instruction/swap.rs
src/sysvars/instructions.rs
obsidian-common/src/arb_guard.rs
Yindex out of bounds: the len is
dest is out of boundsUnable to find a viable program address bump seed=======BEGIN SECURITY.TXT V1=======
Polaris Obsidian AMM
project_url
https://polarislab.xyz
contacts
email:hello@polarislab.xyz,link:https://polarislab.xyz/.well-known/security.txt
policy
Report privately before disclosure. Use only owned or explicitly authorized assets and systems; do not move real funds or disrupt services. Good-faith research within this scope receives safe harbor. Polaris currently pr…
preferred_languages
source_release
obsidian-amm-v2.1.3
pool-whitelistswap-whitelistreserveconfigpoolpool-v2ArbGuard: surcharge
ProgramDerivedAddress
range end index attempt to add with overflowattempt to subtract with overflowattempt to multiply with overflowattempt to shift left with overflow but the index is 000102030405060708091011121314151617181920212223242526272…

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

Instruction sample

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

First 8 bytesCountAccountsData length
0192578c0000000018×19B×1
012aaa010000000018×19B×1
0150af2d0000000018×19B×1
016000c10100000018×19B×1
010046c32300000018×19B×1
014be8bb0e00000018×19B×1
0117894a0200000018×19B×1
01aea3010000000018×19B×1
011268030000000018×19B×1
013b8f8e0000000018×19B×1
016bd7bb0e00000018×19B×1
016d699c0300000018×19B×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
459,988,613ae9105b3537df3de56d8636b16a56e5c5480cc0af0fd8f88337509e5f3cdc0b0190.0 KB2026-11-02 15:30 UTC