Security and trust

PLEDGE asks backers to trust nothing beyond the program's code. This page lists what the program checks and what it does not.

What is enforced

The one admin step

init_config runs once at launch, signed by the program's upgrade authority, to name the PLEDGE mint, its Raydium pools and the waiver size. It cannot touch campaigns or vaults.

Creator self-pledging

A creator could pledge to their own campaign from other wallets to use up the early cap before honest backers arrive. This cannot reduce any bonus already earned. The room left (early_cap - early_pledged) is public, and min_eligible lets a backer refuse a pledge that would land without the bonus they saw. A creator's own pledges also count toward the goal and pay the 2% fee if the campaign succeeds.

The burn crank

crank_burn spends at most 0.1% of the pool's reserve per call and must receive at least 98% of the pool's own 30-minute time-weighted price, so moving the price before the call makes it revert instead of paying a sandwich.

Testing

35 tests: 8 host tests on the money rules, 27 LiteSVM tests on the mainnet SPL Token, Token-2022 and Raydium CP-Swap binaries, including a fuzz run. A local validator run covered all 10 instructions in 28 transactions. cargo clippy -D warnings is clean; cargo audit shows no vulnerabilities in program logic.