Add Ethereum checkout to any website or product in minutes. Direct settlement to the ETH wallet you control, 1% flat fee, no custody, no monthly costs. Also supports ERC20 stablecoins like USDT and USDC.
Ethereum is the second-largest cryptocurrency and the most widely used blockchain for smart contracts and tokens. Accepting ETH payments gives you access to a massive user base of crypto-native customers, DeFi users, and NFT buyers.
CryptoPayCheckout lets you accept ETH along with any ERC20 token — including USDT-ERC20, USDC-ERC20, and 1,000+ other tokens. The flow is simple: customer checks out, we generate a unique Ethereum address, the customer pays, we wait for 12 confirmations, and we forward the funds to your wallet.
You pay a flat 1% service fee on each transaction. No monthly subscription, no volume commitment, no custody of your funds. The only additional cost is the standard Ethereum gas fee required to forward the settlement transaction — you can pass that on to your customer in Settings if you prefer.
ETH is forwarded directly to your wallet. We never hold your funds beyond settlement.
Accept native ETH, USDT-ERC20, USDC-ERC20, and any other ERC20 token via ChangeNOW swap.
No tiered pricing, no monthly minimums, no setup fees. Just one transparent rate.
Email signup, add wallet, start accepting. No business verification, no passport photos.
HMAC-signed POST callbacks the moment an ETH payment confirms on-chain.
REST API, payment links, embed buttons. Integrate in any stack — we are language-agnostic.
Create a payment with a single API call. We handle blockchain monitoring, confirmations, exchange rate pricing, and automatic settlement to your wallet. Get notified via webhook when the payment confirms.
Read the full docsconst res = await fetch('https://cryptopaycheckout.com/api/v1/payment/create', {
method: 'POST',
headers: {
'X-API-Key': YOUR_API_KEY,
'Content-Type': 'application/json'
},
body: JSON.stringify({
amount: 299.00,
currency: 'ETH', // or USDT_ERC20, USDC_ERC20
order_id: 'order_12345'
})
})
const { checkout_url, tx_id } = await res.json()
window.location = checkout_url