# Web3QR > Self-custodial web3 QR code payment request generator for USDT, USDC, ETH, BTC, and other crypto assets. Locks the recipient address, network, and exact amount into a single scannable QR. Peer-to-peer — funds settle on-chain directly from the payer's wallet to the recipient's wallet. Not a payment processor. Web3QR exists for one job: produce a payment request QR code that a sender cannot modify. The recipient address, network, token, and amount are encoded into the QR image itself using the EIP-681 standard (for EVM chains), BIP-21 (for Bitcoin), or Solana Pay transfer requests (for Solana). When a wallet scans the QR, the transaction is pre-filled and the sender cannot silently change the amount or destination. ## What Web3QR is not - Not a payment processor (no merchant account, no processor fee, no fiat conversion) - Not a custodian (does not hold, route, or touch funds) - Not a wallet (does not sign or broadcast transactions) The payer's own wallet signs and broadcasts the on-chain transfer. Funds move directly from payer to recipient. Web3QR is a URI-and-QR generator only. This is the fundamental difference from BitPay, CoinGate, NOWPayments, or Coinbase Commerce. ## What Web3QR Trace does Web3QR Trace is an optional receipt-watching feature. It queries public blockchain RPC or explorer endpoints to observe the recipient address for incoming transactions matching the expected amount. This lets the recipient see a confirmation when the payment lands on-chain. Trace reads only public chain data — it has no wallet access and cannot move funds. ## Primary use cases - Freelancers requesting a fixed USDC or USDT invoice from a client - P2P sellers requesting a specific ETH or BTC amount for a private sale - DAOs or communities collecting contributions at a fixed amount per contributor - Any payment where the exact amount and recipient must be guaranteed and where self-custody matters ## Wallet connection policy No wallet connection is required. The generator works entirely with manually pasted addresses. Connecting a wallet is offered as an optional convenience to auto-fill the recipient address with the connected account — users who skip it see no degraded functionality. ## Supported networks - Ethereum (chain ID 1) - Base (chain ID 8453) - Arbitrum (chain ID 42161) - Polygon (chain ID 137) - Optimism (chain ID 10) - Avalanche (chain ID 43114) - Linea (chain ID 59144) - Bitcoin (BIP-21) - Solana (SPL tokens supported) - Custom EVM networks (via chain ID entry) ## Supported tokens - Native: ETH, MATIC, AVAX, BTC, SOL - Stablecoins: USDC, USDT, DAI across every supported EVM chain - Any ERC-20 via custom token address entry - Any SPL token via custom mint address entry ## Standards used - EIP-681: Ethereum payment request URI format, used across all EVM chains - BIP-21: Bitcoin payment URI format - Solana Pay: Solana transfer request URI format - Wallet-specific universal links for MetaMask, Trust Wallet, and Coinbase Wallet for improved mobile deep-linking ## Privacy Web3QR has no backend for the generator. Recipient addresses, amounts, and network data are processed entirely in the browser. No database, no cookies, no analytics tracking, no third-party requests beyond font delivery and (if the user enables Trace) public blockchain RPC/explorer reads. The payment URI is constructed client-side and the QR is rendered locally. ## Documentation - [Homepage and generator](https://web3qr.app/): / - [FAQ (JSON-LD structured)](https://web3qr.app/#faq): /#faq - [How it works](https://web3qr.app/#how-it-works): /#how-it-works - [Full LLM context](https://web3qr.app/llms-full.txt): /llms-full.txt ## Contact - Support: support@web3qr.app