Skip to content
Accept Ethereum

Accept Ethereum payments

Ether, and USDT and USDC on Ethereum. Paid in about 2.5 minutes, for 0.5% per payment.

Ethereum is where much of the world's crypto sits, and many customers would rather pay from it than move coins first. CoinsFlow is an Ethereum payment gateway for Ether and for USDT and USDC on Ethereum: a payment is seen in its first block, paid after about 2.5 minutes, and withdrawable about 4 minutes later. It costs 0.5% per payment.

The honest part: network fees

On Ethereum, your customer pays the network fee for sending, in ETH, on top of the invoice. It varies with how busy the network is and can come to several dollars, and a token transfer (USDT, USDC) costs more than sending plain ETH. That makes Ethereum a fine network for larger payments, and a poor one for a $3 order. For USDT and USDC, BNB Smart Chain is the cheaper way: the same tokens, cents or less to send, paid in about 15 seconds. Most merchants offer both and let the customer pick.

How it works

  1. Create an invoice on Ethereum (ethereum) in ETH, USDT or USDC, priced in the coin or in US dollars: one API call from your shop, or a few clicks in the dashboard.
  2. Your customer opens the payment page: a fresh 0x… address, the exact amount, a QR code, and the network, named, so a token is not sent on the wrong chain.
  3. We see the payment in its first block, about 12 seconds after it is sent, and the payment page tells your customer it is on its way.
  4. At 12 confirmations, about 2.5 minutes, it is paid: your server gets the signed invoice.paid webhook, and the money is in your balance.
  5. At 32 confirmations it is final and withdrawable: to your own wallet on Ethereum, by hand or automatically.

Ethereum on CoinsFlow, in numbers

Coins on EthereumETH, and USDT and USDC as ERC-20 tokens
Payment seenin its first block, about 12 seconds after your customer sends it
Paid12 confirmations, about 2.5 minutes
Final, and withdrawable32 confirmations, about 4 minutes after that
Customer’s network feepaid in ETH; it varies, and a token transfer costs more than plain ETH
Our fee0.5% of each payment
Addressa fresh 0x… address for each invoice
Invoice open for3 days, or up to 7 if you ask; a late payment is still credited
Smallest withdrawal0.0002 ETH, 1 USDT, 1 USDC

A $200 order paid in Ether, in numbers

Price$200.00, asked in ETH at the current price, rounded up to 6 decimals
Payment seenin its first block: invoice.detected
Paidat 12 confirmations, about 2.5 minutes: invoice.paid
Our fee$1.00 (0.5%), taken in ETH when it is credited
Customer’s network feepaid in ETH on top of the invoice; it can come to several dollars when the network is busy
In your balanceabout $199 worth of ETH, withdrawable about 4 minutes later

Read from our own node

Payments are read from an Ethereum node we run ourselves, like every network we take. Nobody else's API decides whether you were paid.

An Ethereum payment API in one call

One request makes the invoice, here in cURL, Node.js and Python. There is no SDK to install. For USDT or USDC on Ethereum, change asset.

POST /v1/invoices
curl https://api.coinsflow.app/v1/invoices \
  -H "Authorization: Bearer $COINSFLOW_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: order-1042" \
  -d '{"chain":"ethereum","asset":"ETH","priceAmount":"200.00","orderId":"order-1042"}'

Send your customer to the paymentUrl in the answer, and fulfil the order on the invoice.paid webhook. To try it with no money first, add "test": true to the body and simulate the payment. Every field is in the API docs.

Questions

How much does my customer pay in Ethereum network fees?

It depends on how busy the network is when they send. It is paid in ETH, on top of the invoice, and it can come to several dollars; sending USDT or USDC costs more than sending plain ETH. The fee is the network’s, not ours: our 0.5% is taken from the payment, not added to it.

Is there a cheaper way to take USDT or USDC?

Yes: BNB Smart Chain. The same tokens cost your customer cents or less to send there, and a payment is paid in about 15 seconds. Offer both networks, or price in dollars and leave the coin out so your customer picks on the payment page.

When can I withdraw an Ethereum payment?

Once it is final, at 32 confirmations: about 4 minutes after it was paid. invoice.settled tells your server. Withdrawals go to your own address on Ethereum, by hand or automatically; the smallest is 0.0002 ETH, 1 USDT or 1 USDC.

Can I price in dollars and be paid in Ether?

Yes. Give priceAmount in US dollars. The payment page asks for the ETH amount at the current price, rounded up to 6 decimals, and brings it up to date once an hour until it is paid. For USDT and USDC a dollar is a dollar: $49.99 asks for 49.99 tokens.

What if my customer sends too little or too much?

Within 0.5% it counts as paid. If less arrives, your customer can send the rest to the same address, or you can accept what came as payment in full. If more arrives, all of it is credited to you.

Guides