free · 0% fees · 60sclaim your page
merchant guides/ 8 min read/reviewed /by prakash shindeprakash shinde

how to accept ethereum payments

mainnet vs L2s compared, a worked cross-border example, the mistakes that cost real money — and ETH straight to your own keys.

How to Accept Ethereum Payments
share whatsapp post

ETH is the second-largest crypto asset and the default currency of the on-chain economy. Crypto-native customers — developers, NFT communities, DAOs, Web3 teams — often prefer paying in ETH straight from the wallet they already use every day.

This guide covers the decisions that actually matter: mainnet versus L2s (with numbers), how to price invoices in an asset that moves, the mistakes that cost merchants real money, and a setup that puts every payment in a wallet only you control.

why accept ETH specifically

If your clients are agencies, developers, DAOs or anyone paid in crypto themselves, ETH is the asset already sitting in their wallet — no acquisition step, no exchange trip, no friction. For services billed at four figures and up, 'pay this exact ETH amount to this address' converts remarkably well with crypto-native buyers.

ETH also carries the deepest liquidity outside Bitcoin: whatever you decide to do after settlement — hold, convert a portion to stablecoins, or sweep to cold storage — the market is always there.

mainnet vs L2s — where should payments land?

Ethereum payments on crypt.pe settle on mainnet plus the two major L2s, Base and Arbitrum. The asset is the same ETH; the rails differ on cost and feel:

networktypical network feespendable inbest for
Ethereum mainnetroughly $1–5, spikes higher in congestion~15 sec – 2 minlarge invoices, conservative payers
Basearound a centsecondseveryday payments, small tickets
Arbitruma few centssecondsDeFi-native clients

The practical rule: enable an L2 so small payments aren't eaten by mainnet gas, and keep mainnet on for clients who insist on it. Your address is the same 0x… on all three.

the wallet decision

Any self-custody EVM wallet works — MetaMask, Trust Wallet, SafePal, or a hardware wallet (Ledger, Trezor) once balances get serious. One address covers mainnet, Base and Arbitrum, so a single paper backup of the seed protects all three rails.

Share only the public 0x address with your payment tool — never a seed phrase, never a private key. On crypt.pe you paste the address once and ETH appears on your payment page with a QR, network selection and live pricing in your display currency.

a worked example: the $4,500 cross-border invoice

An agency in Europe bills a US client $4,500. By international wire: $25–50 in bank fees, a 1–3% FX spread depending on the banks involved, and 1–5 business days of waiting — with the occasional compliance hold thrown in. By card: roughly 2.9% plus a cross-border surcharge, call it $150+, plus a months-long chargeback window.

The same invoice in ETH: the client pays from their wallet, gas costs them a few dollars on mainnet or cents on Base, the payment is spendable in about a minute, and it's final — no reversal window. On a non-custodial page the platform takes 0%; the agency keeps the full $4,500 worth of ETH and converts on its own schedule.

handling the volatility question

ETH's price moves, and your invoice shouldn't. The standard pattern is a time-locked quote: price the sale in your currency, convert to ETH at payment time, and lock that exact amount for a short window (crypt.pe locks quotes and matches the exact amount to the invoice). The customer pays a fixed number; you never argue about rate drift.

What you do after settlement is a business decision: hold the ETH, convert a portion to stablecoins, or sweep to cold storage on a schedule. Non-custodial means nobody forces auto-conversion on you — that decision stays yours.

confirmation policy

A good gateway watches the chain and marks the order paid automatically. On crypt.pe, detection is automatic and confirmation depth scales with amount — a $40 payment feels instant, a $9,000 invoice waits for deeper finality before the order flips to paid. You never hand-check a block explorer.

mistakes to avoid

  • Quoting ETH amounts without a locked window. An invoice that says '2.1 ETH' on Monday is a dispute by Friday — always quote fiat and convert at payment time.
  • Confusing ETH with ERC-20 tokens. USDC or USDT on Ethereum are different assets on the same network; make sure your page tracks the asset the customer actually selected.
  • Mainnet-only for small tickets. A $25 payment with $4 gas is a 16% surcharge your customer feels — enable Base or Arbitrum.
  • Receiving into an exchange deposit address. Deposit addresses can be rotated or retired; receive into keys you control.
  • Skipping the test payment. One $2 test on each enabled network validates address, rail and receipt before a client ever pays.

go-live checklist

  • 1. Create or reuse a self-custody EVM wallet; back up the seed on paper.
  • 2. Paste the 0x address into your payment page and enable ETH on mainnet plus at least one L2.
  • 3. Send yourself a small test payment and check the receipt.
  • 4. Put the link on invoices, your site and the printable QR standee.
  • 5. Set a conversion policy — what you hold vs what you stable-out — and a monthly sweep habit to cold storage.

references

  1. [1]Gas and fees — ethereum.org
  2. [2]EIP-681 payment request URLs
  3. [3]Ethereum block explorers — etherscan.io

primary sources last verified — details may change; confirm on the source pages.

frequently asked

How do I accept Ethereum payments as a business?

Add your public wallet address to a non-custodial payment page, share the link or QR, and payments settle directly to your wallet on Ethereum mainnet, plus cheaper L2s Base and Arbitrum. With crypt.pe there's no identity check required to start and 0% platform fees.

Should I accept ETH on mainnet or an L2 like Base?

Both — it's the same ETH and the same 0x address. Mainnet suits large invoices and conservative corporate payers; Base and Arbitrum cost cents instead of dollars in gas, which matters for anything under a few hundred dollars.

How fast do Ethereum payments confirm?

Settlement takes ~15 seconds to 2 minutes, with network fees of a few dollars on mainnet and cents on L2s. A payment gateway applies amount-based confirmation depth automatically.

What happens if the ETH price changes while a customer pays?

Use time-locked quotes: the invoice converts your fiat price to ETH at payment time and locks the exact amount for a short window, so the customer pays a fixed number regardless of drift.

ready to accept crypto?
free page, 0% fees, live in 60 seconds — non-custodial by design.
create your free page
new guides by email
one email when a new merchant guide ships.
no drip sequences, no promos — unsubscribe anytime.

about crypt.pe

01

non-custodial by design

Payments settle wallet-to-wallet on-chain, straight from the payer to your own wallet. crypt.pe never holds, freezes or forwards funds — there is no platform balance and no withdrawal step, and every payment gets a verifiable on-chain receipt.

02

0% transaction fees

Plans are flat subscriptions with a free tier — compare that with the 1–2% charged by custodial processors. One page accepts 19 supported assets — including Bitcoin, USDT, Ethereum and Solana — across 13 networks, with simple pricing and no payout schedule.

03

tools merchants actually use

Exact-amount invoices with live tracking, product links, printable QR standees, HMAC-signed webhooks, CSV exports and a Stripe-style API — see the merchant guides or create your free page in about a minute.

04

how a payment works

You add wallet addresses you already own, share your crypt.pe link or QR code, and the customer pays from their own wallet. crypt.pe locks the amount at invoice time, watches the chain, matches the transaction and issues a receipt both sides can verify on a block explorer — software around the payment, never in the money flow.

05

available wherever wallet-to-wallet payments are permitted

Because settlement is on-chain to your own wallet, there is no bank partnership gating access and no account that can be closed over geography — local crypto rules still apply. crypt.pe publishes country guides for 60 markets and is available where wallet-to-wallet payments are legally permitted.

06

stablecoin-first, volatility optional

Accept USDT or USDC and a $100 invoice locks to a fixed token amount that targets a $1 peg — value movement between creation and payment stays minimal, though stablecoins can temporarily depeg, and issuer, liquidity and network risks remain. Prefer BTC, ETH or SOL? Token amounts are locked at invoice time either way, and your dashboard records the USD value of every payment for clean bookkeeping. Questions? Start with the FAQ or payment help.