GRAIL
Launches

Fees

Every fee in Grail, who receives it and when it applies. Grail takes no percentage of deposits or withdrawals, and its tokens have no tax.

The pool fee

Every trade of a Grail token in its pool pays Uniswap's 1% fee, from any app or terminal, public or private.

Share of volumeWho receives itHow
About 0.167%UniswapOn mainnet, anyone can apply the 1% tier's protocol fee of one sixth to a pool. Keepers do this within minutes of a pool's creation
About 0.583%The creator's fee recipient70% of what reaches the locked position
0.25%The Grail treasury30% of what reaches the locked position

Uniswap pays fees in the token that came in: WETH on buys, the launched token on sells. Both sides are split 70/30, so creators receive some of each. The 70/30 split is hard-coded for the life of the pool. Uniswap governance can raise its own share to at most one quarter. Third-party liquidity added to the same pool shares the fee while it is in range.

Collecting fees

GrailLocker.collectFees(positionId) can be called by anyone, and it always pays the token's fee recipient and the treasury directly. Nobody who calls it can redirect the money. Creators can collect from the Rewards page at any time, and Grail's keeper can call it on a schedule. The keeper wallet only pays gas, and it never holds or receives fees.

The launch fee

A launch costs 0.002 ETH plus gas. The fee is fixed at deployment and cannot change. It accrues in the launchpad, and anyone can call claimProtocolFees() to send it to the treasury.

Railgun's fees

Railgun's contracts deduct 0.25% each time funds cross into or out of a private balance. Grail does not receive any of this.

ActionRailgun's deductionPool feeWho pays gas
Deposit0.25%NoneThe connected wallet
Private buy or sell0.25% unshield and 0.25% shield1%Private balance, through the broadcaster
Withdrawal0.25%NonePrivate balance, through the broadcaster
Move to a new private walletNoneNonePrivate balance, through the broadcaster
Public buy or sellNone1%The connected wallet

The broadcaster's fee

The broadcaster charges the gas it pays plus 10%, as WETH from the private balance. It is based on gas, not on trade size. A withdrawal uses about 1.2M gas, so it cost about 0.0002 ETH at 0.146 gwei and would cost about 0.004 ETH at 3 gwei. These fees refill the broadcaster's gas wallet.

A worked example

A private buy with 1 ETH from the private balance, before gas:

StepAmount
Railgun unshield, 0.25%0.0025 ETH
Goes into the swap0.9975 ETH
Pool fee, 1% of that0.009975 ETH, of which about 0.0058 ETH to the creator and about 0.0025 ETH to Grail
Railgun shield on the tokens received0.25% of the tokens

Small trades feel gas the most. When gas is high, it can outweigh every percentage above.

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.