Web3 QR Code Payments for USDC and ETH: Self-Custodial Payment Request Generator

Web3QR is a free, browser-based tool that generates fixed-amount cryptocurrency payment QR codes. It encodes the recipient wallet address, blockchain network, token, and exact payment amount into a single scannable QR image using the EIP-681 standard for EVM chains. When a compatible wallet scans the QR, the transaction is pre-filled and the sender cannot change the amount or destination. Funds move peer-to-peer on-chain directly to the recipient's wallet. Web3QR never custodies, routes, or takes a fee on the payment. Web3QR supports five EVM networks (Ethereum, Base, Arbitrum, Optimism, Polygon) and the most-used assets on those chains: USDC, ETH, and MATIC.

Request USDC payments with a QR code

USDC (USD Coin) is supported on Ethereum, Base, Arbitrum, Optimism, and Polygon. Select the network where your recipient holds USDC, paste the recipient address, enter the exact USDC amount (for example, 50 USDC), and Web3QR encodes an EIP-681 ERC-20 transfer request into the QR. The payer scans, signs, and USDC moves on-chain from their wallet to yours. Gas is paid in the network's native token (ETH or MATIC). Web3QR never holds the USDC.

Request ETH payments with a QR code

ETH payments are supported on Ethereum mainnet and every L2 Web3QR supports: Base, Arbitrum, Optimism. For native ETH transfers, the EIP-681 URI encodes the recipient, chain ID, and value in wei. Enter the amount in ETH (for example, 0.05 ETH); Web3QR handles the decimal conversion. The payer sees the exact amount pre-filled in their wallet; they cannot silently modify it without generating a different QR.

Request MATIC payments with a QR code

MATIC payments are supported on Polygon. The EIP-681 URI encodes the recipient, chain ID 137, and value in wei (18 decimals).

How Web3QR differs from crypto payment processors

Web3QR is not a payment processor. It does not custody funds, does not route transactions through a merchant account, does not take a percentage fee, and does not convert crypto to fiat. It generates a payment request QR. The payer's wallet signs and broadcasts the transaction directly to the blockchain, and funds land in the recipient's wallet on-chain. Web3QR Trace (the optional receipt-watching feature) observes the recipient address via Alchemy webhooks to confirm incoming payments, but the funds themselves never pass through Web3QR infrastructure. This is the fundamental difference between Web3QR and services like BitPay, CoinGate, NOWPayments, or Coinbase Commerce.

Web3QR vs payment processors vs wallet "request payment"

  • Web3QR: Self-custodial payment request QR. Fixed amount. Five EVM chains. No account required for the generator. No fee. Peer-to-peer settlement. Optional on-chain receipt confirmation via Web3QR Trace.
  • BitPay / CoinGate / NOWPayments: Custodial payment processors. Merchant account required. Processor fee (typically 0.5%–1%). May auto-convert to fiat. Funds route through processor.
  • MetaMask / Trust Wallet "request payment" screen: Address-only QR, no amount encoded. Sender types amount manually, with no protection against typos or mid-flight amount tampering.
  • Hand-crafted EIP-681 URI: Possible but error-prone. Encoding ERC-20 transfer(address,uint256), handling token decimals, and producing a scannable QR without Web3QR requires manual work.

What Web3QR does and does not see

The Web3QR generator runs entirely in the browser; recipient addresses and amounts never leave the page during generation. The optional Web3QR Trace feature observes the recipient address via Alchemy webhooks to detect incoming transactions matching the expected amount, so the recipient can see a confirmation when the payment lands. Web3QR Trace reads public chain data; it has no access to the payer's wallet, no custody of funds, and no ability to move money. The payment itself is a direct on-chain transfer from the payer's wallet to the recipient's.

Standards and references

Web3QR uses public, open payment URI standards. EIP-681 has been the EVM payment request standard since 2017 and is supported across every EVM chain Web3QR targets. Layer-2 chains like Base, Arbitrum, and Optimism reduce gas costs by 95-99% compared to Ethereum mainnet, making stablecoin payments under $10 practical. Major wallets honor these URIs natively, including MetaMask, Trust Wallet, Coinbase Wallet, and Rainbow.

Supported networks and chain IDs

Web3QR supports Ethereum (chain ID 1), Base (chain ID 8453), Arbitrum (chain ID 42161), Optimism (chain ID 10), and Polygon (chain ID 137).

Supported tokens

Native tokens: ETH on Ethereum, Base, Arbitrum, and Optimism; MATIC on Polygon. Stablecoin: USDC on all five supported chains.

How to create a fixed-amount crypto payment QR code with Web3QR

  1. Select the blockchain network. Choose Ethereum, Base, Arbitrum, Optimism, or Polygon.
  2. Select the token. Pick the native token (ETH on Ethereum/Base/Arbitrum/Optimism, MATIC on Polygon) or USDC.
  3. Paste the recipient address. Paste the wallet address that should receive the payment. Web3QR validates the address as a valid EVM address.
  4. Enter the exact amount. Enter the amount in human-readable units (for example 25 USDC or 0.01 ETH). The QR regenerates instantly as you type.
  5. Share the QR or link. Download the QR as a PNG, copy the shareable pre-filled link, or copy the raw EIP-681 payment URI. The recipient, network, and amount are locked into the output.

About the author

By Web3QR Team, independent crypto engineers focused on self-custodial payment tooling.

Web3QR Team, [email protected]. Web3QR is built and maintained by a small team of engineers shipping open, self-custodial crypto payment tools. The team has been working on EVM-chain payment tooling since 2024, focusing on EIP-681 payment URIs, multi-chain stablecoin support, and on-chain receipt confirmation.

Frequently asked questions

What is a fixed-amount crypto payment QR code?

A fixed-amount crypto payment QR code is a QR image that encodes a complete payment request (recipient address, blockchain network, token, and exact amount) in a single scan. It uses the EIP-681 standard on EVM chains. When scanned by a wallet, the transaction is pre-filled and the sender cannot accidentally change the amount or recipient.

Which wallets support these payment QR codes?

Most major EVM wallets honor EIP-681 payment URIs, including MetaMask, Trust Wallet, Coinbase Wallet, and Rainbow. Web3QR can also generate wallet-specific universal links for MetaMask, Trust Wallet, and Coinbase Wallet for better mobile deep-linking.

Is Web3QR free to use?

Yes. The QR generator is completely free. There are no signup requirements, no hidden fees, no required wallet connection, and no transaction fees charged by the tool. You only pay standard network gas fees when the payment is actually sent.

Is Web3QR a crypto payment processor?

No. Web3QR is a payment request QR generator, not a payment processor. It does not custody funds, does not route transactions through a merchant account, does not charge a percentage fee, and does not convert crypto to fiat. The payer's wallet sends funds directly on-chain to the recipient's wallet. Web3QR only produces the QR code encoding the payment request. This is the fundamental difference from services like BitPay, CoinGate, NOWPayments, or Coinbase Commerce.

Do I need to connect a wallet to use Web3QR?

No wallet connection is required to generate a payment request QR. The generator runs entirely in the browser with manual address entry. Connecting a wallet is optional; it is only offered as a convenience if you want Web3QR to auto-fill your own address as the recipient. You can skip it entirely and the tool works the same way.

Does Web3QR see the money when a payment is made?

Web3QR does not custody, route, or touch the funds. The payment is a direct on-chain transfer from the payer's wallet to the recipient's wallet. The optional Web3QR Trace feature observes the recipient address via Alchemy webhooks to confirm incoming payments, so the recipient can see when the transaction lands. Trace reads public chain data only; it has no access to wallets and cannot move funds.

What is EIP-681?

EIP-681 is the Ethereum standard for payment request URIs used across EVM chains including Base, Arbitrum, Optimism, and Polygon. It can encode native transfers and ERC-20 token transfers with a specific amount and recipient.

Can I share a pre-filled payment link instead of the QR image?

Yes. Web3QR encodes the form values into the page URL, so you can copy a pre-filled link and share it over email, chat, or social media. When someone opens the link, the form is pre-filled and the QR regenerates instantly.