Guide

How to accept Ethereum (ETH) payments without a payment processor

Accepting ETH directly is simple in principle — publish an address — but matching payments to orders and getting notified is the hard part. This guide covers the practical setup: address, unique amounts, confirmations, and webhooks.

Choose a receiving address

Matching orders with unique amounts

Ethereum has no memo field. CryptoInvoice gives every invoice a unique amount by varying the 7th–8th decimal (e.g. 0.01234537 ETH), which is worth a fraction of a cent. Exact matches are instant; if a customer rounds, the oldest open invoice with ≥ 99% of its value is matched. Every transaction hash can satisfy only one invoice, and you can reconcile manually by hash.

Confirmations

A payment becomes paid when the transaction is mined and confirmed after 6 blocks (roughly 75 seconds). Treat paid as provisional for high-value goods — the checkout page already tells the customer the merchant has been notified, and your webhook fires again on confirmation.

Setup

  1. Create a workspace in the dashboard and paste your 0x… address. One address enables ETH, USDC and USDT.
  2. Create an invoice: {"amount":"120","currency":"USD","asset":"ETH"}. You receive a checkout link; the QR encodes an EIP-681 payment request so MetaMask Mobile pre-fills the amount.
  3. Get the webhook and fulfil the order. Signature verification takes five lines (see docs).

Gas and small payments

The sender pays gas, which on mainnet can exceed a few dollars during busy periods. For small-ticket items, offer USDC/USDT too, or keep a higher minimum. The CryptoInvoice minimum for ETH is 0.0001 ETH.

Layer 2 networks

CryptoInvoice currently detects payments on Ethereum mainnet only. Payments sent on Arbitrum, Base, Optimism or Polygon to the same address will not be matched — the checkout page warns payers explicitly. L2 support is on the roadmap.

FAQ

Do I need my own RPC node or Etherscan key?

No. Detection runs on public indexers. You can't break it by not renewing an API key.

Does CryptoInvoice ever ask for my private key or seed phrase?

Never. If anything claiming to be CryptoInvoice asks for it, it's a scam.

Start accepting payments today

Create a workspace, paste your address, and send your first payment link. Free for 50 invoices a month, no sign-up form.

Open the dashboard API docs

More guides: XRP · Cardano · Ethereum · USDC & USDT