Docs
How zk-pad works
zk-pad is a donation and meme-coin launchpad on BNB Smart Chain. Each coin trades in a PancakeSwap Infinity pool from its first block, and 75% of every trading fee goes to a beneficiary whose identity and wallet stay hidden.
What is zk-pad#
Anyone can launch a token in one transaction. The token gets a fixed supply of 1,000,000,000, and all of it is placed into a PancakeSwap Infinity concentrated-liquidity pool that is locked forever. The pool uses a dynamic-fee hook, a port of Clanker v4 to Infinity, which charges a fee F between 1% and 5% on every swap.
The creator doesn't keep these fees. 75% goes to a beneficiary, which can be a cause, a friend or a public figure, and 25% goes to the protocol. The beneficiary is recorded on-chain only as an opaque bytes32 id. Whoever holds the matching key can later withdraw to a fresh address or shield into Railgun.
Guarantees, enforced by the contracts#
- Liquidity locked foreverThe locker owns every position and has no withdraw path. Only the locker may add liquidity to the pool.
- Fixed 1B supplyMinted once at launch. No mint function, no taxes, no blacklist, no pause.
- No owner powersThe token admin can only change cosmetic metadata, lower the fee and hand over the role.
- Fees can only go downF is fixed at launch within 1%–5% per direction. It can be lowered, never raised, never below 1%.
- 75% to the beneficiary25% protocol, 75% beneficiary, including the anti-snipe surcharge. No creator share.
- Destination stays privateOnly the beneficiary's own signature decides where funds go. The creator can never redirect them.
How a launch works#
Describe the coin
Name, ticker, image, description and socials. Only the image and metadata can be edited later.Pick a quote token and starting market cap
WBNB is the default. USDT, other majors and RWAs such as XAUt are also available from the QuoteRegistry. Every coin starts at the same market cap of about $20k, converted to the quote token, and every coin uses the Fair liquidity layout, which protects early buyers against snipers.Set the fee
Choose F between 1% and 5%, optionally different for buys and sells, and optionally a decaying anti-snipe fee for the first ≤ 120 seconds. See Fees.Choose the beneficiary
A private claim kit (a stealth key generated in your browser, handed over as a link or file), a social-account escrow claimable by the account owner via attestors (coming soon: not available until attestors are online), or yourself. You can also add an NGO fallback after ≥ 180 days of inactivity.Launch, with an optional dev buy
One transaction deploys the token, initializes the pool, mints the locked positions and optionally makes your first buy at the starting price.
Trading#
Tokens trade in their final pool from the first second. There is no bonding curve and no migration. Any PancakeSwap Infinity router or aggregator works. This app uses a minimal router with slippage and deadline protection, and accepts BNB or the quote token directly.
Every trade pays F for its direction plus PancakeSwap's own small protocol fee (about 0.03%). The token page shows the full breakdown before you sign.
Beneficiaries#
Fees are credited to the beneficiary id in the FeeVault, in the asset collected: the quote token, after the locker converts sell-side fees. Beneficiaries never need to connect a wallet or hold gas. They sign EIP-712 messages with their stealth key in the browser, and a relayer submits the transaction for a fee.
- Private claim kit
- A stealth key in a claim link (/claim#…) and a file. Whoever holds it can claim, rotate the key or ping.
- Social escrow
- Committed to a platform's immutable user id plus secret randomness. The owner binds it through k independent attestors, then waits out a 1–30 day timelock during which the guardian or any attestor may veto.
- Fallback
- Optional. After ≥ 180 days without any owner activity, anyone can sweep the balances to the committed fallback (e.g. an NGO).
Getting paid privately#
A beneficiary can consolidate balances into USDT, the single settlement asset, with a signed minimum output. They can then withdraw directly to a fresh address, or shield into Railgun (USDT only), which hides the receiving 0zk address. Shielded funds sit in a ~1-hour Private Proofs of Innocence standby before they become privately spendable.
The creator of a launch can also trigger consolidation for its beneficiary, bounded by an oracle and by what that launch itself credited (launching a coin for someone gives no power over their other balances). The result can only be shielded to one of the beneficiary's own pre-registered single-use Railgun templates, at least 1 USDT per template. With no template available, it stays in the vault as USDT.
Contracts#
These addresses are for the network selected in the header. Use them to verify a token.
Contracts on BSC
ZkPadFactory
Deploys tokens, initializes pools, mints locked positions.
ZkPadHook
Dynamic fee (buy/sell), 25% protocol fee, lower-only fee changes.
ZkPadLpLocker
Owns the liquidity forever; collects fees to the FeeVault.
ZkPadMevDescendingFees
Optional anti-snipe fee decay (≤ 80%, ≤ 120 s).
FeeVault
Opaque beneficiary ledgers, EIP-712 claims, fallback, binds.
RailgunShieldAdapter
Shields USDT claims and creator consolidations into Railgun.
QuoteRegistry
Allow-listed quote tokens, tiers, USDT routes and oracle bounds for consolidation.
ZkPadSwapRouter
Minimal router used by this UI (any Infinity router works).
PancakeSwap Infinity CLPoolManager
PancakeSwap Infinity Vault
WBNB
USDT (BSC-USD), settlement asset
Railgun smart wallet