# WalletConnect

The peltier widget includes a WalletConnect integration via **`@walletconnect/ethereum-provider`** (the standalone `EthereumProvider`, using its own built-in QR modal — not Reown AppKit). Users can connect their existing wallet (MetaMask, Rainbow, Coinbase Wallet, etc.) and send tokens directly to the burner address from the connected wallet.

## How It Works

1. User clicks "Connect Wallet" in the widget. The provider is created with `EthereumProvider.init({ …, showQrModal: true })`; the first `eth_requestAccounts` triggers `.connect()`, which opens WalletConnect's QR modal (for mobile wallets) or a direct connection (for browser extensions).
2. Once connected, the resulting EIP-1193 provider is bridged into the widget so it can request a `sendTransaction` to transfer the selected token to the burner address on the chosen source chain. (This is the same provider surface Flow C's Send view consumes.)
3. The indexer detects the incoming transfer, and the rest of the flow continues as usual: sweep, bridge, settle.

## Multi-Chain Support

WalletConnect is EVM-only, so it covers peltier's **EVM source chains** — Ethereum, Arbitrum, Base, Optimism, Polygon, and Monad (HyperEVM is a settlement destination only, and Solana uses its own adapter, not WalletConnect). The provider is initialized with Ethereum as the primary chain and the rest as optional chains. The user selects which chain to send from in the widget UI; if the wallet is on a different chain it is prompted to switch before the transfer.

## QR Code Flow (Mobile)

For mobile users the widget can display a QR code that opens their wallet app. Two distinct QR paths exist: the **burner address itself** (for a simple, direct transfer — rendered with the `cuer` library) or the **WalletConnect pairing URI** shown by the provider's own modal (for a wallet-assisted transfer). Either way, users can scan and send from any mobile wallet without installing a browser extension.
