How Privad works
Privad is a token launchpad on Monad. Every token trades in its own Uniswap v4 pool from the first block, along a bonding curve. Anyone can buy it from their wallet, from any v4 router or bot, or from a private balance that nothing ties back to their wallet.
Overview
One transaction creates an ERC-20 with a fixed 1B supply and its Uniswap v4 pool. No launch fee.
Buy and sell in MON from the first block. The price follows a bonding curve and rises as it sells out.
When the curve sells out, the token keeps trading in the same pool, with no Privad fee. Liquidity is locked forever.
Deposit MON once, then buy from a private balance. Tokens land on fresh addresses.
Quick start
- Connect a wallet on Monad (chain id 143) with the button at the top right. Any injected wallet works.
- Find a token on Explore: filter by new pairs, final stretch or graduated, sort by recent buys, market cap or volume.
- Buy publicly from the token page. Your wallet signs, tokens arrive in your wallet.
- Or buy privately: open your private balance, deposit MON, wait for approval (about 5 minutes), then use Private buy on any token page.
- Collect rewards on Claim. Every holder earns a share of each curve trade.
Launch a token
Go to Create. Launching costs only gas: there is no platform fee to create a token.
| Name | Up to 32 characters | Required |
|---|---|---|
| Ticker | Up to 10 characters | Required |
| Image | PNG, JPEG, WebP or GIF, 2 MB max | Stored with the token metadata |
| Description | Up to 500 characters | Optional |
| Links | Website, X, Telegram | Optional |
| First buy | Any amount of MON | Optional, executed in the same transaction |
The first buy lets you, as the creator, buy at the starting price before anyone else, inside the creation transaction. It pays the same 2% fee as any other buy. Name, ticker and metadata are set once and cannot be changed.
Bonding curve
Every token is minted once: 1,000,000,000 tokens, all of them placed in the token's Uniswap v4 pool (native MON / token) at creation. Nobody, including the creator and Privad, gets a free allocation:
- 793,100,000 (79.31%) form the bonding curve, between the start price and the graduation price.
- 206,900,000 sit above the graduation price, as the liquidity the token trades against once it graduates.
- Both positions are locked forever: the hook has no function to remove liquidity, and nobody else can add any to these pools.
The curve is pump.fun's constant-product curve x · y = k on virtual reserves, starting at V₀ virtual MON and 1,073,000,000 virtual tokens. Privad reproduces it exactly with concentrated liquidity (up to tick rounding, under 0.6%): each buy adds MON and removes tokens, so the price goes up; each sell does the opposite. The MON paid by buyers stays in the pool as liquidity.
| Starting market cap | 0.93 × V₀ | Price of the very first token × 1B supply. |
|---|---|---|
| MON raised to graduate | 2.83 × V₀ | Net of fees. It stays in the pool as locked liquidity. |
| Market cap at graduation | 13.70 × V₀ | About 14.7× the starting market cap. |
Reading the deployed contract…
Each token keeps the curve it was created with. The hook owner can change V₀ for future launches only; existing pools are never affected.
Buys and sells on the site take a minimum out amount set 3% below the quote, so the transaction reverts instead of filling at a much worse price.
Graduation
A token graduates the first time its price reaches the end of the curve, which happens when the 793.1M curve tokens have been bought. There is no migration: nothing moves, the token simply keeps trading in the same pool, against the 206.9M tokens of liquidity above that price.
- Graduation is a one-way milestone: the badge and the Graduated list keep the token even if the price drops later.
- Fees follow the live price, not the badge: a swap that starts beyond the graduation price pays no Privad fee, and if the price falls back into the curve range, fees apply again.
- Following the price rather than flipping a switch is deliberate: otherwise anyone could buy up to graduation and sell straight back in one transaction to turn a token's fees and holder rewards off forever.
Graduated tokens are listed under Explore → Graduated.
Trade from anywhere
Privad pools are standard Uniswap v4 pools. The site trades through PrivadRouter, but wallets, aggregators, the Uniswap UniversalRouter and trading bots can all buy and sell directly, from the first block. The fee is charged by the hook whatever the route, so every trader pays the same.
| currency0 | 0x0000…0000 (native MON) | MON is always currency0 |
|---|---|---|
| currency1 | The token address | |
| fee | 0 | No LP fee: the only fee is the hook's |
| tickSpacing | 60 | |
| hooks | PrivadHook | See Contracts |
Fees
| When | Fee | Goes to |
|---|---|---|
| Create a token | 0 | Only network gas |
| Swap starting on the curve | 2% of the MON side | 1% platform, 1% the token's holders, paid in MON |
| Swap starting beyond graduation | 0 | No Privad fee, and no LP fee |
| Private buy or withdrawal | Relayer fee | Gas cost + 30% margin, plus 0.3% of the amount |
| Private buy | Gas drop | Not a fee: MON sent to your fresh address so it can sell and claim later |
- The 2% is on the MON side of the swap: on a buy, 2% of the MON you pay; on a sell, 2% of the MON the pool releases.
- A swap is charged on the whole amount if it starts on the curve, even when it crosses the graduation price.
- Exact-amount orders (exact MON in on a buy, exact MON out on a sell) must fill completely: if a price limit or the end of the liquidity would leave them partly filled, the swap is rejected instead of being charged on the unfilled part.
- When a token has no eligible holder yet (less than one token held outside the pool), its 1% holder share goes to the platform.
- If Uniswap governance ever turns on a v4 protocol fee, it would apply on top.
The relayer fee and the gas drop are shown before you confirm a private buy.
Holder rewards
1% of every charged swap (any swap starting on the curve) is paid in MON to the holders of that token, pro rata to their balance at the time of the swap. Rewards accrue automatically; you collect them with a claim transaction whenever you want, before or after graduation.
- A buyer does not earn from their own buy: fees are distributed before the tokens are delivered. A seller still holds the tokens at that moment and gets a tiny share of their own sell's holder fee.
- The hook, the Uniswap PoolManager (which holds the pool's tokens) and the dead address are excluded: they neither earn nor dilute rewards.
- No new rewards while the price is beyond graduation, since those swaps pay no fee. Unclaimed rewards stay claimable forever.
- Selling or transferring tokens does not lose rewards already earned.
- Any contract holding the token (another pool, a vault) earns too; if it never claims, that MON stays in the token contract.
Claim lists every token where your connected wallet has rewards and claims them one by one or all at once. Tokens held by your fresh addresses are claimed from the private balance, by the fresh address itself, so they are never linked to your wallet.
Private balance
The private balance is built on Privacy Pools by 0xbow, used without modification (audited contracts and circuits, original trusted setup). It only holds MON.
- Unlock. One wallet signature derives your private keys in the browser. Sign again on any device to get the same balance back. Nothing is stored on a server, and there is no account.
- Deposit. Send MON from your wallet into the pool. This transaction is public, like any deposit. Round amounts blend in better.
- Approval. The association set provider screens deposits (OFAC sanctions list) and publishes approvals every 5 minutes. Approved deposits become spendable privately.
- Spend. Use the balance for private buys, or withdraw MON privately to any address (ideally a new one).
You can always take a deposit back to the address that made it, without anyone's approval. This is public and links the money back to that address. It is the only exit for a rejected deposit.
The private page can show a 12-word phrase that restores the same balance and fresh addresses. Anyone with it can spend your private balance. Smart-contract wallets, whose signatures may not be deterministic, should back it up.
Private buys
A private buy is a single transaction submitted by the relayer, not by your wallet:
- Your browser picks a fresh address derived from your keys, never used before.
- It builds the order (token, fresh address, minimum tokens out, relayer fee, gas drop, 20-minute deadline) and a zero-knowledge proof of a withdrawal from your balance that commits to that exact order.
- The relayer submits it. The adapter withdraws, buys in the token's Uniswap v4 pool through PrivadRouter (same pool before and after graduation) and sends the tokens plus the gas drop to the fresh address. The relayer cannot change anything bound in the proof.
- From the private page, each fresh address can sell its tokens, claim its rewards and move its MON back into the private balance, signing locally with its own key.
Reads about fresh addresses go through your wallet's own RPC when it is on Monad, and the app never asks the indexer about a specific fresh address or deposit.
What stays visible
Private does not mean anonymous. Here is exactly what an observer can and cannot see.
- Which wallet funded a given private buy.
- The link between your wallet and your fresh addresses.
- Which deposit a private withdrawal came from.
- Your deposit: amount, time, and the wallet that made it.
- Every trade and every fresh address balance (just not who owns it).
- Ragequits, which point back to the depositing address.
- Timing and amounts can link you. Depositing 137.2 MON and buying for 137.2 MON a minute later is easy to match. Use round amounts, wait between deposit and buy, and split purchases.
- Network metadata. The relayer runs as a Supabase edge function; the platform keeps request logs including IP addresses, even though the relayer never logs request bodies. Use a VPN or Tor for stronger privacy.
- Moving funds back. Sending tokens or MON from a fresh address to your main wallet links them publicly.
Risks
- The 0xbow Privacy Pools contracts and circuits are audited. Privad's own contracts (PrivadHook, PrivadRouter, LaunchToken, PrivateBuyAdapter) are not audited by a third party; they only went through an internal review.
- Privad runs directly on Monad mainnet, with no deposit caps and no pause switch.
- The hook owner can only set the start price of future tokens and the platform fee recipient. It cannot pause trading, touch pool liquidity, change fees or move user funds.
- The 0xbow Entrypoint owner can stop new deposits and upgrade the Entrypoint, which could block private withdrawals but not take pool funds: ragequit stays available.
- Tokens are created by users, not by Privad. Most launchpad tokens lose most of their value. Never buy more than you can lose.
- A token's name, image and links are chosen by its creator and can imitate a real project.
- Nothing on Privad is financial advice.
Contracts
All contracts live on Monad mainnet (chain id 143). Verify addresses on the explorer before interacting directly.
| PrivadHook | 0xcFb69ae0Bea664b2700121d5f64045C5b78668cc | Token factory and Uniswap v4 hook: creates pools, charges fees, pays holders. |
|---|---|---|
| PrivadRouter | 0xf0dd2474f89D73D287F98B29aBAEb86A494150e8 | Create, buy and sell from the site. Optional: any v4 router works. |
| PrivateBuyAdapter | 0x6F06D39f33Fa36B09cBdca002E9cc7C42Ab7bc74 | Turns a private withdrawal into a buy for a fresh address. |
| Privacy Pool (MON) | 0x222a03255A17f11EaF34304964A4f92f40B574F2 | 0xbow Privacy Pool holding private balances. |
| Entrypoint | 0x0Ab7429360Fa735dc0696A6102BEA2B5b59d054b | 0xbow entrypoint: deposits and relayed withdrawals. |
| Uniswap v4 PoolManager | 0x188d586Ddcf52439676Ca21A244753fA19F9Ea8e | Holds every Privad pool, like any other v4 pool. |
| Uniswap v4 StateView | 0x77395F3b2E73aE90843717371294fa97cC419D64 | Read-only pool state (price). |
| Uniswap v4 Quoter | 0xa222Dd357A9076d1091Ed6Aa2e16C9742dD26891 | Read-only swap quotes. |
FAQ
Do I need a private balance to buy?
No. Public buys work straight from your wallet. The private balance is only for buys you do not want tied to it.
Why is my deposit not spendable yet?
Deposits are approved in batches every 5 minutes. If it still shows pending after that, refresh the private page. A rejected deposit can only be taken back with ragequit.
I lost access to my browser. Is my private balance gone?
No. Connect the same wallet on any device and sign again: the same keys, balance and fresh addresses are derived. The recovery phrase also restores them.
Can the creator rug the liquidity?
Not the pool liquidity: the whole supply is placed in the pool at creation and locked forever, with no function to remove it. The creator gets no free tokens; they can only sell what they bought, like any holder.
Why did my transaction revert?
Usually the price moved more than 3% between the quote and the transaction (minimum out not met), or a private buy passed its 20-minute deadline. Request a new quote and try again.
Where do my fresh addresses get gas?
Each private buy forwards a small gas drop in MON to the fresh address, enough for it to approve, sell and claim on its own.
Can bots and aggregators trade Privad tokens?
Yes, from the first block. Pools are standard Uniswap v4 pools (MON as currency0, fee 0, tick spacing 60, PrivadHook). The hook charges the same fee whatever the route.
Are holder rewards paid in the token?
No, in MON. They come from the 1% holder share of each charged swap on that token.