The pool, the proofs and the relayer: read how Lethe works →

Relayers and fees

Why a relayer

A wallet that pays its own gas has a history. The relayer sends sends and withdrawals on your behalf, so a fresh address can receive from the pool without holding HYPE first. It sees the proof and the encrypted outputs, and the proof binds its fee and the recipient, so it cannot change either.

The relayer checks every request before it pays gas: at most 16 KB, a known pool, strict parsing, a proof that names this relayer, unspent nullifiers, a known root, and a passing gas estimate. It does not store requests. Like any server it can see the IP of a request, so use your own network protections if that matters to you.

Fees

ActionLethe feeRelayer fee
Shieldnonenone, you pay gas
Send inside the pool0.3% of the relayer feeyes, from the note
Create or claim a pay link0.3% when it is claimed and leavesyes, from the note
Withdraw0.3% of what leaves the poolyes, from the note

The exit fee is 0.3% today (exitFeeBps 30), with a hard cap of 1% in the contract that no function can exceed. It is taken in the pool's asset on everything that leaves the pool, including the relayer's fee, so a user cannot skip it by naming their own wallet as the relayer.

The relayer fee is quoted live: 1.5x the gas cost of 1.6M gas at a 0.2 gwei floor, with a floor in each asset (0.0002 HYPE, 0.02 USDC). A USDC withdrawal also pays for the small amount of HYPE forwarded to the recipient. Quotes move with gas and the HYPE price, and you see the fee before you confirm.