> For the complete documentation index, see [llms.txt](https://portal-gate.gitbook.io/portal-gate/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://portal-gate.gitbook.io/portal-gate/system-overview/relayers.md).

# Relayers

Relayers are independent trusted parties in Portal Gate mechanical design that will be used to protect users' privacy of withdrawal.&#x20;

Usually, when a user initiates a withdrawal request to a smart contract, it will only be successfully processed if his/her withdrawal account has enough Ether to cover the Ethereum network fees for this operation. However, pre-funding ETH to the withdrawal account could potentially establish a connection between the user's deposit and withdrawal accounts. Then, the user identity risks being deanonymized.&#x20;

To solve this issue, relayers allow users to process withdrawals without pre-funding their withdrawal accounts, but paying gas fees on their behalf instead.&#x20;

**1) To initiate a relayer-assisted withdrawal, a user needs to choose a relayer from the relayer list.**&#x20;

**2) Then, the user uploads the recipient address to generate the ZKP and proceed with the transaction.**

**3) The relayer processes the withdrawal and receives a separate fee for this service from the user. In other words, the withdrawn tokens (adjusted for fees) are sent to the user's withdrawal account.**&#x20;

<figure><img src="https://859234502-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FJBiw4VPerSC7gehlr1u8%2Fuploads%2F0J2Uf98uTkZhOpVDqomV%2Fimage.png?alt=media&amp;token=223e4dab-4055-4c9f-b055-6d6176359aa2" alt=""><figcaption><p>Testnet Relayer Flow</p></figcaption></figure>

Note that during the early stages, some or all of the relayers may be run internally until external relayers are announced and deployed.

For further information on Relayers, click [here](/portal-gate/architecture/technical-docs/relayers.md).
