> ## Documentation Index
> Fetch the complete documentation index at: https://docs.starknet.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Paymasters and transaction submission

> Hiding the user as on-chain sender and reimbursing fees from the pool

Private transfers aim to hide **who** is transacting. On Starknet, the **transaction sender** is visible—so users often submit through a **paymaster** service.

## Flow

1. User builds proof + server-side actions and sends them to the **paymaster**.
2. Paymaster **broadcasts** the transaction from **its** account and pays **fee** in ETH/strk.
3. User includes a **Withdraw** (or similar) in the same transaction to send **fee reimbursement** from the pool to the paymaster’s **public** address.

On-chain, observers see the paymaster as sender; they do not see the user’s Starknet address as the transaction origin.

## Trust model

* Paymaster learns **IP** and whatever the client sends; it should not learn more than necessary if the payload is minimal.
* Choose paymasters with clear **privacy** and **retention** policies.

Related: [Security](/build/starknet-privacy/security), [Transaction flow](/build/starknet-privacy/transaction-flow).
