Accept Ethereum (ETH) for digital goods
Keys, files, templates, access: the customer pays on the payment page and your server delivers the product via webhook — no manager involved.
How well Ethereum (ETH) fits digital goods
As an extra option · Fit 20%Enable it for customers who hold this coin, but pick another one as the main method.
Pros
- Transfers confirm quickly, so the customer does not wait on the checkout page.
Keep in mind
- The network fee is noticeable: for small orders add a cheaper network to the checkout, such as BEP-20, TON or Solana.
- The coin’s price moves: set the price in USD and the amount is converted at the rate fixed when the invoice is created.
- Network
- Ethereum
- Coins
- ETH, USDT, USDC
- Addresses
- 0x…, per payment or per customer
- Notifications
- HMAC-signed webhooks
Automatic delivery
The product goes to the customer the moment the payment is confirmed.
No double delivery
Every event is signed and has an id, so it’s easy to make processing idempotent.
ETH and tokens together
One Ethereum address accepts both ETH and USDT/USDC — the customer picks the coin.
Speed matters for digital goods: the customer wants the key right away. Moonvex credits the payment after confirmation by two network nodes and sends the webhook immediately.
ETH suits customers who received it as income or hold it long term and don’t want to swap into a stablecoin before paying.
Recommended coin set for digital goods
To cover most customers, enable on the checkout page: USDT BEP-20, USDT on TON, USDT and USDC on Solana. The customer picks the network, and every payment lands on one project balance.
One request to create a payment
The response contains the address, the exact amount and a link to a ready-made payment page. Status updates arrive via HMAC-signed webhooks.
curl https://api.moonvex.org/v1/payments \ -H "Authorization: Bearer $MOONVEX_SECRET_KEY" \ -H "Idempotency-Key: $(uuidgen)" \ -d '{"orderId":"key-steam-9932","amount":"15","currency":"USD","asset":"ETH","network":"ETHEREUM"}'
FAQ
Which currency should the price be in when customers pay in Ethereum (ETH)?
Set the price in USD with Ethereum (ETH) as the payment coin: Moonvex converts the amount and fixes the rate when the invoice is created.
Do I need a website?
No: you can sell through Telegram, Discord or payment links.
Are L2s (Arbitrum, Base) supported?
Not yet: Moonvex accepts payments on Ethereum mainnet, BNB Smart Chain, TRON, Solana, TON and Bitcoin.
How do I avoid delivering twice?
Store the webhook event id and skip repeats — Moonvex may retry delivery.
Is there an SDK?
Yes, the official Node.js SDK @moonvex/node, plus a REST API for any language.
Other coins for digital goods
Ethereum (ETH) for other use cases
Compare Ethereum (ETH) with others
Start accepting payments today
An account and your first project in a minute, no monthly fee.