Introducing

GRAIL

A private coin launchpad on Ethereum

Launch a token in a few clicks. Your buyers stay private.

On a public launchpad, every buyer leaves a trail.

Launchpads made creating a token effortless. They also turned every purchase into a public signal, and an industry grew up to read it.

Snipers take the first block

Bots watch every new launch and buy before a person can click. They see what was bought, and by whom, the moment it happens.

Trackers follow your wallet

One buy links your address to your whole history. Copy-traders follow you in, sell into you on the way out, and your holdings stay public forever.

Insiders read the chain first

Dev wallets, bundled buys and cluster maps turn each launch into a race to read the chain. Ordinary buyers always read it last.

Grail cuts the link between buyer and wallet. There is no wallet left to track, follow or copy.

A familiar launchpad with a private way to buy.

Creating a token works like any launchpad you know. Buying is different: you pay from a private Railgun balance, in one transaction your public wallet never touches.

Your tokens go straight back to your 0zk address in the same transaction. If any step fails, the whole transaction reverts and your funds stay where they were.
I

Create

Pick a name, ticker and image. Grail deploys a fixed-supply ERC-20 and opens its sale in one transaction.

Public: the token, its supply and its sale contract.
II

Shield

Move ETH from your wallet into your private Railgun balance. You now have a 0zk address next to your 0x.

Public: your 0x deposited ETH into Railgun.
III

Buy privately

Your browser proves you own the funds. A broadcaster submits the transaction and pays the gas, so your wallet never appears.

Public: a buy happened, its size and price. Not who made it.
IV

Hold, sell, withdraw

Tokens stay in your private balance. Sell the same way, send to any 0zk, or withdraw to any 0x when you choose.

Public: only the final withdrawal, if you make one.

What stays private, and what doesn’t.

Railgun is not a separate chain, a bridge or an L2. It is a set of smart contracts on Ethereum itself. Entering and leaving the pool is public. What happens inside, and which deposit connects to which withdrawal, is not.

Private

  • Who boughtBuys come from Railgun’s adapter, never from your wallet.
  • Which deposit paid for which buyThe proof hides the link between your deposit and your purchase.
  • Your private balanceEncrypted notes that only your keys can read.
  • Transfers between 0zk addressesSender, recipient, token and amount are all hidden.
  • Who paid the gasA broadcaster submits and pays. You reimburse it privately.

Public

  • The token itselfContract, supply, price and liquidity, all verifiable.
  • Each trade’s size and priceRecorded by the sale contract, with no owner attached.
  • Deposits into RailgunThe address, token and amount of every shield.
  • Withdrawals from RailgunThe address, token and amount of every unshield.

Privacy grows with the crowd. Shield ahead of time, in round amounts, and don’t withdraw the exact sum you deposited a few minutes later. Timing and amounts are the only threads an observer can pull.

Every private buy carries a proof.

A zero-knowledge proof convinces Ethereum that a statement is true while revealing nothing else. Railgun’s contracts check one for every private transaction, and reject anything that doesn’t verify.

public, everyone sees
x = ( merkleRoot, nullifiers[],
      commitmentsOut[], boundParamsHash )

private, never leaves your device
w = ( spendingKey, notes[],
      merklePaths[], values[] )

π ← Prove(pk, x, w)       in your browser
Verify(vk, x, π) = 1      on Ethereum

What the proof says

“I own unspent notes in this tree. I hold their keys. Their value covers the outputs. And this transaction can do only what these parameters allow.”

Which notes, whose keys and how much stay unknown to Grail, to Railgun and to everyone else.

Groth16 zk-SNARKs

Each proof is a few hundred bytes. Railgun’s contracts verify it on-chain with Ethereum’s built-in BN254 pairing precompiles (EIP-196 and EIP-197). No server is trusted along the way.

Notes and commitments

Your balance is a set of encrypted notes, like coins in a sealed purse. Only their hashed commitments live on-chain, in a Merkle tree built with the Poseidon hash.

Nullifiers

Spending a note publishes its nullifier, a one-way tag. The contract rejects any nullifier it has seen before, so nothing is spent twice, yet it never learns which note was used.

Proofs made on your device

Your spending key never leaves your browser. Railgun ships 54 circuits and picks the cheapest combination of inputs and outputs for each transaction.

Trusted setup

The proving keys come from a multi-party ceremony. The system stays sound as long as at least one participant destroyed their secret contribution.

Private Proofs of Innocence

After each deposit, a zero-knowledge proof shows the funds aren’t on known illicit-source lists, without revealing who you are. New deposits wait one hour; returning them to the sender is always possible.

The foundations are being laid.

  1. Now

    Foundations

    Launch and sale contracts, the Railgun integration, and a first fully private launch on the Sepolia testnet.

  2. Next

    Launchpad

    The Grail opens with launch pages, wallet connection and a guided, step-by-step private buy.

  3. Soon after

    Grail token

    The Grail token is the first launch on Grail itself, announced only on @Graildotfamily.

  4. Then

    Private launches

    Grail opens to creators on Ethereum mainnet. Launch in a few clicks and let your buyers stay private.

Questions

What makes a Grail launch private?

The token is a normal, verifiable ERC-20. The buyer is what’s private. Purchases are paid from a Railgun private balance and executed by Railgun’s relay adapter, so the sale contract sees a trade but never the wallet behind it. The tokens land in the buyer’s private 0zk balance.

Can anyone see that I bought?

They can see that your public address deposited ETH into Railgun, and that someone bought a given amount of a token. They can’t connect the two. Hiding that connection is exactly what the zero-knowledge proof does.

Is Railgun a separate chain or a bridge?

No. Railgun is a set of smart contracts deployed directly on Ethereum and governed by the Railgun DAO. There is no separate network, no bridge and no L2. Your funds never leave Ethereum.

Do I need a special wallet?

No. Connect the Ethereum wallet you already use. Grail walks you through creating your private 0zk balance, depositing ETH and buying, step by step in one place.

What does it cost?

Railgun charges 0.25% when you deposit and 0.25% when you withdraw. Transactions pay normal Ethereum gas, plus a small premium if a broadcaster submits them for you. Grail’s own platform fee will be published before launch.

Why do new deposits wait an hour?

That’s Railgun’s Private Proofs of Innocence standby. New deposits are checked against lists of known illicit sources before they can move privately, which keeps the shared pool clean for everyone. Deposit ahead of a launch and you’ll be ready when it opens.

When can I use it?

The first private launch runs on the Sepolia testnet before Grail opens to creators on Ethereum mainnet. Follow @Graildotfamily for each step.

You are very early.

Launch news, first looks and early access appear on X first.