GRAIL
Start here

Overview

Grail launches tokens on Ethereum and lets people buy and sell them from a private balance, without their wallet appearing on the trade.

The main idea

On a public launchpad, every buy is tied to a wallet. Trackers and copy traders watch the wallets that buy early, so a good entry becomes a signal for everyone else, and a wallet's whole history is open to anyone who looks.

Grail separates the two things that usually come together. Tokens launch in the open, in an ordinary Uniswap v3 pool that every terminal can see from the first block. Buyers who want privacy trade that same pool from a Railgun private balance. The pool still gets a normal swap, and the market still gets a price, but the chain shows Railgun's adapter contract as the trader instead of the buyer's wallet.

Everything happens on one site. A person connects a wallet, creates a private balance, deposits and trades, and the proofs run in their browser.

What the chain shows

ActionPublicNot public
Create a tokenThe creator's wallet, the token, its pool and the creator's first buyNothing. Launches are public by design
DepositThe depositing wallet, the amount and that it entered RailgunWhich private address received it
Private buy or sellThe token, the amounts, the RelayAdapt contract as trader and the broadcaster as senderWhose private balance paid and received
WithdrawThe recipient and the amountWhich private balance it came from
Public buy or sellEverything, as on any exchangeNothing

These are the protections and their edges. Security and limits covers what they do not protect against, such as matching a deposit to a trade by timing and amount.

What Grail is built on

LayerWhat it doesWho runs it
Uniswap v3The market. Every token has a 1% pool from its first blockUniswap contracts on Ethereum
RailgunShielded balances, zero-knowledge proofs, RelayAdapt and Private Proofs of InnocenceRailgun's contracts and public POI nodes. Grail uses them as any other integrator would
GrailLaunchpad, GrailToken, GrailLockerDeploy tokens, create pools, lock liquidity and split feesImmutable contracts. The owner is a Safe with narrow powers
The browserHolds the recovery phrase, scans notes and builds every proofThe user
BroadcasterSends private transactions and pays gas, for a fee taken from the private balanceGrail
Tree snapshotA ready-made copy of Railgun's public tree, so the first open takes minutesGrail
Indexer and APIToken lists, charts, trades and token imagesGrail

Where to go next

Grail is an independent project built on Railgun's public contracts and SDK. Railgun contributors do not run, review or endorse Grail, and they did not write this documentation. Their own documentation is at docs.railgun.org.