CryptoQR Maker

EIP-681: how Ethereum payment QR codes carry amounts

Updated · 6 min read

EIP-681 is the Ethereum standard for transaction requests in a URL. It's what lets a QR code say "send 0.015 ETH to this address on Base" instead of just showing an address.

The anatomy

ethereum:0x5aAe…BeAed@8453?value=15000000000000000
Part Example Meaning
Scheme ethereum: An Ethereum transaction request
Target 0x5aAe…BeAed The recipient (an address or ENS name)
Chain ID @8453 Which network (8453 is Base). Optional; without it the wallet uses its current network
value 15000000000000000 Amount in wei

Amounts are in wei

There are no decimals in an EIP-681 link. The amount is an integer in the smallest unit: 1 ETH = 10^18 wei. The spec also allows scientific notation such as 1.5e16, as long as the result is a whole number. A plain integer is the most widely understood, and it's what CryptoQR Maker writes.

You want value=
1 ETH 1000000000000000000
0.1 ETH 100000000000000000
0.015 ETH 15000000000000000

Chain IDs and L2s

The chain ID lets one format cover many networks: 1 for Ethereum, 10 for OP Mainnet, 56 for BNB Smart Chain, 137 for Polygon, 8453 for Base, 42161 for Arbitrum One. The native asset changes with the network. On Polygon the amount is POL, on BNB Smart Chain it's BNB.

Token transfers

EIP-681 can also call a contract function. An ERC-20 transfer request targets the token contract and passes the recipient and amount as parameters:

ethereum:<token contract>/transfer?address=<recipient>&uint256=<amount in token units>

Token amounts use the token's own decimals (6 for USDC and USDT on most networks, 18 for many others). Wallet support for this form is uneven, and a mistake sends real money to the wrong place. For stablecoin addresses, a plain address with the network printed beside it is safer; our sister site TokenQR makes exactly that.

Practical advice

  • Wallets read the address reliably; support for value and the chain ID varies. Write the amount and network next to the code too.
  • Use the checksummed, mixed-case address. EIP-55 lets the scanning wallet detect typos.
  • Test the code with the wallets your payers actually use.

Let the tool do the wei math. Open the Ethereum QR generator

Keep reading