# The relayer fee and who pays it

> Why private sends and withdrawals go through a relayer, what the fee covers, what the exact-amount toggle changes, and what stays visible.

Every private send and withdrawal in the app is submitted by a relayer. This page is why, what it costs, and what the **Recipient receives the exact amount** checkbox decides.

## Why a relayer

If your own wallet submitted the transaction, your address would be on it as the sender, which would connect your wallet to the money leaving the pool and undo the privacy you deposited for. A relayer submits it instead. It sees a valid proof and a destination. It can't change either, and it can't spend anything of yours.

The relayer pays the gas and charges a fee for it, taken from the amount moving. Typically around 0.1%, plus a fixed part that covers gas. The exact figure is quoted before you confirm, and the quote has a countdown. If it expires while you're proving, the app asks for a fresh one instead of sending against a stale price.

## Recipient receives the exact amount

The fee has to come from somewhere. This toggle picks where.

- **On** (the default): the recipient gets exactly what you typed, and the fee is added on top, out of your balance. The line under the checkbox shows the fee it will add.
- **Off**: the fee comes out of the amount, and the recipient gets what you typed minus the fee.

Leave it on when the amount matters to the other side, like paying an invoice. Turn it off when you're moving a round figure and want that figure to be the total leaving your balance.

One case where the app will ask you to turn it off: when the amount plus the fee is more than a single transfer can carry. The message names the maximum, and the reason is that one private transfer can only draw on a couple of your deposits at a time.

## What stays visible

The relayer fee is paid in the asset you're moving, and that payment is visible onchain. So a private transfer reveals that some amount of that asset moved and that a relayer was paid for it. It doesn't reveal the sender, the recipient or the amount received.

## Tiny amounts

The fixed part of the fee doesn't shrink with the amount. It's negligible on ordinary sums and can be a large share of a very small one. If you're testing, test with more than a few dollars.

## Withdrawals to a wallet with no gas

When you withdraw a token like USDC to an address that has no ETH, the relayer can hand over a little ETH alongside it so the wallet can act. The withdrawal quote shows this as a separate line when it applies, priced into the fee.
