en

How to accept Ethereum payments and get the money out

Published
20.11.2024
Updated
24.10.2026
A large Ethereum coin glowing blue-violet on an online shop's packing counter, with smaller Ethereum coins floating around it, a wrapped parcel and a tablet showing a green checkmark and the Ethereum logo
A large Ethereum coin glowing blue-violet on an online shop's packing counter, with smaller Ethereum coins floating around it, a wrapped parcel and a tablet showing a green checkmark and the Ethereum logo
Contents

    To accept Ethereum payments, you give the customer an Ethereum address and an exact amount of ETH, and then check that the right amount arrived for the right order. You can do this with your own wallet and manual checks, or with a payment processor that creates a separate payment for every order, watches the network for you and can turn the ETH into a stablecoin the moment it lands. A payment normally shows up within a minute and becomes final in about 15 minutes, and the network fee is paid by the customer, not by you.

    What actually happens when a customer pays you in ETH

    Ethereum is a network of thousands of computers that keep one shared ledger of who owns what. ETH, also called ether, is the network's own coin: it is what customers send you, and it is what the network charges its fees in.

    When a customer pays, their wallet signs an instruction that says, in effect, "move 0.05 ETH from my address to this one". The network writes that instruction into the ledger, and from that moment every copy of the ledger shows the money at your address. If a ledger that everyone keeps at once is a new idea for you, start with how cryptocurrency and blockchain work.

    Two consequences of this matter to anyone who sells for ETH:

    • Nobody can pull a payment back. There is no bank in the middle and no chargeback form to fill in. If you need to give money back, you send the customer a new transfer yourself.
    • The address decides where the money goes. The network delivers to exactly the address written in the instruction. A customer who pastes a wrong address has paid a stranger, and the network has no way to send the money back.

    Ethereum is also more than a ledger of ETH. It runs small programs called smart contracts: code stored on the network that runs exactly as it was written whenever someone calls it. Dollar stablecoins such as USDT and USDC are smart contracts on Ethereum. Each one keeps its own list of balances, and "sending USDT" really means asking that program to lower one balance and raise another. That is why one Ethereum address can hold ETH and many tokens at the same time, and why the same network can carry both kinds of payment. To see what these programs can and can't do, read how smart contracts work on a blockchain.

    How long an Ethereum transaction takes

    Ethereum adds a new block to the ledger every 12 seconds. A transfer with a normal fee usually gets into one of the next few blocks, so both the customer and you see the payment within a minute.

    Seeing a payment and being sure of it are two different moments. Ethereum locks in blocks for good in batches, and a block becomes final in about 15 minutes. Before that, a very fresh block can, in rare cases, be replaced by another one. After it, reversing the payment would cost whoever tried a huge amount of the ETH locked up to secure the network, so in practice a final payment stays put.

    Here is what that means when you sell:

    • The customer sees "sent" right away. Their wallet shows the transfer as soon as it leaves, often before it is even in a block.
    • The order is marked paid after a wait the processor chooses. Each payment processor decides how many blocks are enough before it reports a payment, and the most careful ones wait for finality.
    • You can match the wait to the price. For a $10 download, a payment that is already in a block is a reasonable risk. For a $5,000 order, waiting the 15 minutes for finality costs you a quarter of an hour and removes the doubt.

    If customers pay straight into your own wallet, that call is yours to make, and you make it by looking the payment up in a blockchain explorer: a public website that shows any Ethereum transfer, the block it landed in and how many blocks have been added since. Here is how to read a crypto transaction in a blockchain explorer.

    A hand holding a phone with the Ethereum logo and a green check, a short chain of Ethereum blocks, then a clock and a closed padlock: an ETH payment seen, added to blocks, then final

    What an ETH payment costs and who pays for it

    Every transfer on Ethereum pays a network fee called gas. The customer pays it, in ETH, on top of the amount. If they send 0.05 ETH, 0.05 ETH arrives at your address, and the fee comes out of whatever is left in their wallet.

    The fee is built from three parts:

    • Gas units: how much work the transfer is. A plain ETH transfer to an ordinary address takes 21,000 units. A USDT or other token transfer runs a smart contract, so it takes two to three times more.
    • Base fee: the price of each unit right now. The network sets it block by block, raising it when blocks are full and lowering it when they are quiet. This part is burned, which means it is destroyed rather than paid to anyone.
    • Tip: a small extra for the validator. Validators are the computers that build blocks, and a tip makes them pick the transfer up sooner.

    Prices are counted in gwei, one billionth of an ETH, but nobody has to do the arithmetic: the wallet shows the fee in dollars before the customer confirms. In October 2026, on a quiet day, a plain ETH transfer cost about a cent or two. When the network is busy, the same transfer can cost many times more.

    The catch is that gas is always paid in ETH, whatever is being sent. A customer holding 100 USDT on Ethereum and no ETH at all can't pay you: their wallet has nothing to cover the fee with and refuses to send. If your customers will pay in USDT, it's worth knowing why USDT payments fail when the customer has no ETH, TRX or BNB for gas.

    The fee doesn't depend on the amount. Sending $10 in ETH costs the same gas as sending $10,000, so on small orders the fee is a bigger share of the price. At a cent that hardly matters, but on a busy day it can make a $5 purchase feel expensive to the person paying.

    There are cheaper ways to move ETH. Layer 2 networks such as Arbitrum, Base and Optimism run on top of Ethereum: they bundle many transfers together and record the result on Ethereum, so a single transfer on them usually costs much less. ETH on a layer 2 is still ETH, but it lives on a separate network, and a payment sent there does not arrive on Ethereum itself. Accepting it is a choice you make on purpose, not something to discover after a customer has paid.

    If most of your orders are small, a different network altogether may suit your customers better. Polygon is one such network: it works with the same kind of addresses and wallets as Ethereum, and its fees are usually much lower. Here is how accepting payments on the Polygon network works.

    Two ways to accept ETH: your own wallet or a processor

    There are two ways to take ETH, and they differ in how much of the work stays with you:

    • Your own wallet. You install a wallet, copy its address and give it to customers. It costs nothing and the money is yours the moment it lands, but you match each payment to an order yourself, chase short payments yourself and decide yourself when it's safe to deliver.
    • A payment processor. A service creates a payment for each order, tracks it on the network and tells your shop when it's paid. It takes a percentage of each payment for that work.

    A wallet works well for a handful of payments a month from people you know: a freelancer invoicing two clients can check two transfers by eye. It stops working once payments come from strangers, at any hour, for many slightly different amounts. On the ledger, everyone who pays to the same address looks alike, and an order for 0.0213 ETH is hard to tell apart from one for 0.0214 ETH.

    Then there is the price of ETH itself. With a wallet you receive ETH and keep ETH, and turning it into dollars or euros is a separate trip to an exchange. A processor can do that conversion for you at the moment of payment.

    There is also a middle road: running payment software on your own server. You keep the keys and nobody takes a percentage, but you pay in setup time, servers and security work. If you have developers, it's worth weighing whether to host your own crypto payment gateway or plug in a hosted one.

    What an Ethereum payment processor does for you

    A payment processor stands between your shop and the Ethereum network. You tell it the price, and it can take on the parts a wallet leaves to you:

    • A separate payment for every order. Each order gets its own address or invoice, so the processor knows which order a transfer belongs to without anyone comparing amounts and timestamps.
    • A fixed ETH amount. The processor turns your price into ETH at the current rate and holds that amount for a limited time while the customer pays.
    • Watching the network. It waits for the number of blocks it considers safe and then reports the order as paid: in a dashboard, by email, or through a message your site receives automatically.
    • Conversion, if you want it. The processor can swap the ETH for a stablecoin as it arrives, so the price of ETH stops being your concern.
    • Withdrawals. Your balance builds up with the processor, and you send it to your own wallet when you choose.

    Where customers pay: a link, a button, a plugin or an API

    Once you have a processor, the next question is where the customer meets the payment. The answer depends on what you sell through.

    Without a website: a payment link

    A payment link is enough when there is no site at all. The processor makes a payment page for a set amount, and you send the link in a chat, an email or an invoice. The customer opens it, sees the ETH amount and a QR code, and pays from any wallet.

    On a website: a button that opens the checkout

    The simplest step up on a website is a button. You paste a short snippet into the page, and a click opens the processor's checkout in a window on top of your site. You don't build a payment page, and your order logic stays as it is. For a small shop or a landing page that may be the whole integration, so it helps to know when a checkout widget is a better fit than an API or a plugin.

    A woman at a laptop with an online shop page and a payment window showing the Ethereum logo and a QR code, an ETH coin and a Tether coin on the desk

    On a store platform: a plugin

    If your store runs on a ready-made e-commerce platform, check whether the processor offers a plugin for it. You install the plugin, paste in a key from your processor account, and ETH appears among the payment options at checkout.

    In your own system: an API

    A shop or service with its own order system usually wants an API, a way for your server to talk to the processor directly. Your server asks for a payment, gets back an address and an amount, and receives a notification when the money arrives. That gives you full control over what the customer sees, and it takes a developer and a round of testing.

    Before you commit to an API, ask the processor four things:

    • How notifications are signed. Your server must be able to tell a real "paid" message from a forged one.
    • What happens when a customer pays too little or too much. The order status should say so, rather than just staying unpaid.
    • Whether there is a test mode. You want to run the whole flow without real money first.
    • Whether payouts work through the API too. If you pay suppliers or users, doing it by hand gets old fast.

    The full list of questions worth asking is in what to check in a crypto payment API before integrating it.

    How to start accepting ETH, step by step

    These steps assume a payment processor. If you take ETH to your own wallet, start from the test payment.

    1. Pick a processor that accepts ETH on the network you want. Check whether it takes ETH on Ethereum itself, on layer 2 networks, or on both, and what the smallest payment it accepts is.
    2. Open a processor account and complete verification. The processor may ask who you are and what you sell before it lets you withdraw money.
    3. Decide what happens to incoming ETH. Either keep it as ETH, or have the processor convert it to a stablecoin as soon as it arrives.
    4. Connect the checkout where you sell. Use a payment link, a button on your site, a plugin or the API, whichever fits how your customers buy.
    5. Send yourself a small test payment in ETH. Pay a few dollars' worth from your own wallet and note how long the order takes to show as paid.
    6. Name the network wherever you ask for ETH. Write "ETH on the Ethereum network" on the checkout page and in invoices, so customers withdrawing from an exchange don't pick a different network.
    7. Make one withdrawal before real orders start. Move the test money out of the processor to your own wallet and see the whole path work end to end.

    Selling inside a mobile app follows the same logic. The app either opens the processor's checkout as a web page, or your server calls the API and the app draws its own payment screen. One thing is specific to phones: the customer's wallet may well be on the same phone, and a QR code can't be scanned from the screen it is shown on. A button that opens the wallet app with the address and amount already filled in does that job better. Here is how to build crypto payments into a mobile app.

    Where ETH payments go wrong

    A transfer can't be undone, so most trouble starts with a payment that left the customer's wallet in the wrong shape:

    • ETH sent on a different network. Many exchanges list layer 2 networks such as Arbitrum and Base next to Ethereum in their withdrawal menus, and the cheapest one is tempting. The money lands at the same address but on another network, where the invoice never sees it. If the address belongs to a wallet you control, you can usually reach the money by switching the wallet to that network; if it is a processor's address, only the processor can recover it, and only if it supports that.
    • Less than the invoice. Some exchanges take their withdrawal fee out of the amount being sent, so 0.0495 ETH arrives instead of 0.05. To the processor that is an underpayment, and the order waits.
    • Paid after the invoice expired. The ETH amount was held for a limited time. A transfer that arrives later lands on a closed invoice, and someone has to sort it out by hand.
    • A token instead of ETH. A customer pays an ETH invoice in USDT on Ethereum. The address looks the same, so the wallet doesn't object, but a processor waiting for ETH may not credit the token automatically.
    A hand holding a phone with an exchange withdrawal list of Ethereum, Arbitrum and Base networks, a finger choosing Ethereum

    With stablecoins the network question gets sharper. USDT exists on Ethereum in a format called ERC-20, on TRON as TRC-20 and on BNB Chain as BEP-20, and the versions don't cross over: a transfer arrives only on the network it was sent on. If you plan to take USDT alongside ETH, decide up front which USDT network suits a business: ERC-20, TRC-20 or BEP-20.

    These failures are easier to prevent at checkout than to fix afterwards. Four habits help:

    • Say the network in words. Put "ETH, Ethereum network" next to the address, not only a logo, because a logo is easy to miss and easy to confuse with a layer 2.
    • Show the exact amount to send. Remind customers paying from an exchange that the exchange may take its withdrawal fee out of that amount, so they should check what will actually arrive.
    • Give the invoice enough time. A customer withdrawing from an exchange may wait for the exchange to process the withdrawal before the transfer even reaches the network.
    • Decide in advance what happens to a short or late payment. Accept it, ask for the difference or refund it, but pick one rule before the first case lands, not while an annoyed customer is waiting.

    Each habit takes a few minutes to set up, and each one saves a support conversation later. These fixes and others, network by network, are collected in how to reduce failed crypto payments at checkout.

    Should you keep the ETH or convert it?

    ETH is not a dollar: its price moves every minute, and sometimes a lot within a week. If a customer pays 0.02 ETH for a $50 order and ETH falls 10% before you sell, you have earned $45. If it rises, you have earned more. Either way, your revenue now depends on a market.

    There are three ways to handle that:

    • Keep the ETH. You take the price risk in both directions. That makes sense if you wanted to hold ETH anyway and your own bills don't arrive in dollars every month.
    • Convert on arrival. The processor swaps the ETH for a stablecoin as soon as the payment lands, and the dollar value of the order is fixed. Check how the processor prices that swap before you rely on it.
    • Take stablecoins next to ETH. Customers who already hold USDT or USDC pay in dollars directly, and nothing needs converting. They still need a little ETH to pay the gas on Ethereum.

    USDT and USDC are the two largest dollar stablecoins, and at checkout they behave the same way. The difference lies behind them: who issues each one, what backs it and where it is easier to spend or cash out. Here is how USDT and USDC compare for business payments.

    Ethereum itself keeps changing in ways that make paying easier. Its Pectra upgrade, switched on in May 2025, let ordinary wallet addresses opt in to smart contract features. One of the things that opens up is gasless payments, where an app or a service covers the gas for the customer.

    For a seller, that would remove one of the most awkward failures in stablecoin payments: a customer with USDT and no ETH. Wallets and processors adopt the feature at their own pace, though, so today that customer may still be stuck, and the gas advice above still applies.

    Layer 2 networks are the other shift. They have made ETH transfers cheap enough that a small purchase no longer carries a fee out of proportion to its price. A processor that accepts ETH on a layer 2 gives customers a cheaper way to pay, and in return you have one more network to name clearly on the checkout page.

    Which coins and networks to accept is a decision you will revisit as these changes land. If you are planning for the next year, it helps to see where stablecoins, regulation and checkout design are heading in 2026.

    How to get your money out of Ethereum

    ETH turns into money in your bank account through a sale: someone has to buy your ETH for dollars or euros. There are two usual routes:

    • Through a crypto exchange. You send the ETH to your exchange account, sell it for local currency and withdraw to your bank. Expect the exchange to verify your identity first, and to charge for the trade and sometimes for the bank withdrawal.
    • Through your processor's conversion. If the processor already converted the payment to a stablecoin, you hold dollars in crypto form. You can pay suppliers in them, or sell them on an exchange the same way, without the ETH price moving in between.

    What reaches your account is the order price minus every fee along the way:

    • The processor's percentage. It is taken from each successful payment, or added to the customer's price if the processor lets you pass it on.
    • The conversion spread. Swapping ETH for a stablecoin or for local money happens at a rate slightly worse than the market one, unless the fee already covers it.
    • The exchange's trading fee. Selling crypto for dollars or euros on an exchange costs a small percentage of the trade.
    • The bank withdrawal charge. Some exchanges charge a flat amount for sending money to your bank.

    These fees are built differently from service to service, so compare the whole chain rather than one headline number, and see how network fees, gas, gateway fees and checkout costs add up.

    How accepting ETH works with CryptumPay

    CryptumPay is a payment service that accepts ETH alongside USDT, which it takes on several networks. For a seller who wants ETH payments without holding ETH, these are the terms that matter:

    • A payment link from the console. You create an invoice in the CryptumPay console and send the link anywhere, with nothing to integrate and no code to write.
    • A checkout button on your site. One button opens the full CryptumPay checkout in a window on top of your page.
    • An API. It covers orders, deposits and payouts on CryptumPay's rails.
    • A project review before live payments. CryptumPay reviews every project before live payments are enabled, so you provide a website that shows what you do or sell.
    • The customer picks the coin and the network. In the CryptumPay payment window, the customer chooses the currency and then the network themselves. A coin may have a minimum amount.
    • Incoming coins become USDT. Whatever coin the customer pays in, CryptumPay converts it to USDT the moment it arrives, so you don't end up holding ETH after the payment.
    • Optional cover for rate differences. If you enable the project option to cover exchange rate differences when converting incoming payments to USDT, CryptumPay covers the difference between the moment the invoice is created and the moment it is paid. With that option on, the CryptumPay fee rises by 0.5 percentage points, and the customer has 15 minutes to pay before the invoice is cancelled.
    • Withdrawals whenever you want. You can withdraw your CryptumPay balance at any time, and there is no minimum withdrawal amount.
    • One fee per payment. CryptumPay charges 1% per successful payment, down to 0.5% at higher volumes, and you can pass the fee on to your customer.

    More on how the checkout and the console work is on the CryptumPay website.

    The short version

    Accepting ETH comes down to three decisions:

    • Where customers pay. A payment link, a button on your site, a plugin or an API, depending on what you sell through.
    • Which network you name. Say "Ethereum" in words on every invoice, so the money arrives where you are watching.
    • Whether you keep the ETH. Hold it and carry the price risk, or convert it to a stablecoin the moment it arrives.

    Make those three, send yourself one test payment and one withdrawal, and you are ready for the first real customer.

    Questions people ask next

    Can I accept Ethereum payments as a freelancer, without a company?

    On the network side, yes: anyone can create an Ethereum wallet and give clients its address, and Ethereum doesn't ask who you are. A payment processor is a different matter. It may ask you to verify your identity before you can withdraw, and some processors work only with registered businesses, so check its terms before you send clients a link.

    How long does an Ethereum transaction take if it gets stuck on "pending"?

    There is no fixed limit, because the wait depends on the fee. A transfer stays pending when the fee the customer's wallet offered is lower than the network's current base fee, for example after a sudden busy spell. It waits in the queue until the base fee drops or until the customer uses the wallet's speed-up option, which resends the same transfer with a higher fee. Until the transfer is in a block, nothing has arrived, so the order shouldn't be marked as paid.

    What is an ETH payment like for the customer who makes it?

    For the customer, an ETH payment is a transfer they send themselves, and all it takes is a wallet or an exchange account holding enough ETH to cover the price plus the network fee. They don't need an account with you or with your processor: they scan the QR code or copy the address, enter the amount and confirm. If they pay from an exchange, they should choose the Ethereum network in the withdrawal menu rather than a layer 2 listed next to it, and check that the exchange's own fee doesn't come out of the amount. If you are weighing whether to accept ETH on those networks too, here is how layer 2 networks such as Base, Arbitrum and Optimism work.

    Start accepting crypto payments

    Create an account and connect the checkout yourself, or talk to sales and we will plan the integration with you.