Free tool

Ethereum payment request generator (ETH, USDC, USDT — EIP-681 QR)

Build a wallet-ready payment request for Ethereum mainnet: an EIP-681 link and QR code that pre-fills recipient, amount and token in MetaMask and other compatible wallets. EIP-55 checksum validation included; everything runs locally.

Mixed-case addresses are checksum-verified (EIP-55).

What is EIP-681?

EIP-681 defines URLs for Ethereum payment requests. A native ETH request looks like ethereum:0xRecipient@1?value=50000000000000000 (the value is in wei; @1 is mainnet). A token transfer is expressed as a call to the token contract: ethereum:0xTokenContract@1/transfer?address=0xRecipient&uint256=5000000 (USDC and USDT have 6 decimals).

Mainnet only

These links target Ethereum mainnet (chain id 1). USDC on Base, Arbitrum, Polygon or Solana uses different contracts and networks — a payment sent on the wrong network to the same address will not be recognised by a mainnet invoice. More on accepting USDC safely.

FAQ

Why does my address fail the checksum?

Mixed-case Ethereum addresses encode a checksum (EIP-55). If the capitalisation doesn't match, a character was altered — re-copy it from your wallet. All-lowercase addresses carry no checksum and are accepted as-is.

Which wallets scan EIP-681 QR codes?

MetaMask Mobile, Trust Wallet, Rainbow and most WalletConnect-era wallets. Exchange withdrawal screens usually only read plain addresses — use the address-only mode for those.

Want the payment detected automatically?

A QR code shows where to pay. CryptoInvoice also watches the chain, marks the invoice paid, redirects the customer and calls your webhook — non-custodial, no KYC, 50 invoices a month free.

Create a payment link How it works

More free tools: XRP payment QR · XRP destination tag checker · Cardano payment QR · Ethereum / USDC payment request · Crypto invoice generator