Skip to content
Anon Wallet

Paymaster & Gas Sponsorship

Gas fees on EVM networks are normally paid in the network's native token (ETH, MATIC, etc.). This creates a bootstrapping problem for new users: you need ETH to do anything, including moving ETH into your private balance.

Anon's paymaster system solves this by allowing gas to be paid from your shielded balance in a variety of fee tokens.

How Gas Sponsorship Works

When you submit a transaction via the paymaster:

  1. You: generate the zero-knowledge proof and sign the transaction payload
  2. Anon paymaster: receives the signed payload, verifies it's valid (without seeing private details), pays gas from its own ETH reserve, and submits to the blockchain
  3. Settlement: the paymaster deducts its fee (gas cost + service fee) from your shielded balance in the fee token you selected

Your public ETH balance is not touched. You don't need ETH to transact.

Supported Fee Tokens

The paymaster accepts a range of ERC-20 tokens as payment for gas. Accepted tokens include stablecoins (USDC, USDT, DAI) and major assets (WETH, WBTC). The exact list depends on the network and available liquidity.

In the Anon UI, the fee token selector shows accepted tokens with current fee estimates in each token.

Transaction Flow

User creates tx + ZK proof
         │
  Seal request with OHTTP
         │
         ▼
relay.anon.inc (/gateway)
         │
  Forward encrypted request
         │
         ▼
Paymaster OHTTP gateway
         │
  Validate proof + fee
         │
         ▼
 Paymaster submits on-chain
         │
         ▼
  Poll for job status (/status)
         │
    ┌────┴────┐
  Success    Failure
    │            │
Update UI    Show error
             + retry option

Production Relay

Browser clients send encrypted OHTTP requests through https://relay.anon.inc. The relay sees the network connection but cannot decrypt the request; the paymaster decrypts and executes the request without receiving a direct browser connection.

Production configuration is published at https://anon.inc/.well-known/anon-paymaster.json. Clients should still pin the production Ed25519 verification key in their build:

83771473963247d1924fa9af8d3ef9c745e1be1fca0f6907ae5ea8b42954adda

The relay endpoints are:

  • GET https://relay.anon.inc/health — availability check
  • GET https://relay.anon.inc/ohttp-configs — signed OHTTP key configuration
  • POST https://relay.anon.inc/gateway — encrypted paymaster requests

The relay is deliberately keyless. The relay and paymaster should be operated independently so neither party can connect the user's network identity to the decrypted request by itself.

See Private Paymaster Relay for the complete request flow, relay deployment options, operator guidance, and security limits.

Job Polling

After submission, Anon polls the paymaster's job status endpoint until the transaction is confirmed or fails. The poll interval is ~2 seconds. You can see the job status in the transaction confirmation modal (Pending → Confirming → Confirmed).

Configuration

Paymaster settings are in Settings → Advanced → Paymaster:

  • Enable paymaster: toggle on/off (off means Waku mode is used instead)
  • Default fee token: your preferred token for paying paymaster fees
  • Paymaster endpoint: for advanced users who run their own paymaster

Gas Sponsorship for DApps

When a DApp connects to Anon via a stealth address, Anon reports paymasterService as a capability via wallet_getCapabilities (EIP-5792). The DApp can use this to sponsor gas for its users via Anon's paymaster infrastructure. See Wallet Capabilities.