Skip to main content
Crypto payments allow customers to pay using cryptocurrencies from anywhere in the world. Transactions are billed in USD, so you receive fiat currency while customers pay with their preferred crypto wallet.

Why Offer Crypto?

Global Reach

Accept payments from any country — no banking infrastructure required on the customer’s side.

No Chargebacks

Crypto transactions are irreversible, eliminating chargeback fraud entirely.

USD Settlement

You receive USD — no need to manage crypto volatility or wallets.

Overview

DetailValue
Billing CurrencyUSD
Supported CountriesAny
SubscriptionsNo
Min Amount$0.50
SettlementUSD

How It Works

Customer Experience

  1. Customer selects Crypto at checkout
  2. A wallet address and QR code are displayed with the amount in crypto
  3. Customer sends the exact amount from their crypto wallet
  4. Transaction is confirmed on the blockchain
  5. Customer is redirected to the success page
Crypto payments are billed in USD. The crypto amount displayed at checkout reflects the real-time exchange rate at the time of payment.

Supported Currencies & Networks

CurrencyNetworks
USDCEthereum, Solana, Polygon, Base
USDPEthereum, Solana
USDGEthereum

Configuration

const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'prod_123', quantity: 1 }],
  allowed_payment_method_types: ['crypto', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});

API Method Type

TypeMethodCountry
cryptoCryptoAny

Testing

1

Enable test mode

Use your Dodo Payments test API keys.
2

Create a test checkout

Create a checkout session with crypto in the allowed payment methods.
3

Complete the test flow

Follow the simulated crypto payment flow in the test environment.

Best Practices

Not all customers have crypto wallets. Always include credit and debit as fallback payment methods.
Blockchain confirmations can take minutes depending on the network. Ensure your checkout communicates this to customers.
Crypto payments may occasionally differ slightly from the exact amount due to network fees. Monitor webhooks for payment status updates.

Troubleshooting

Check:
  1. crypto included in allowed_payment_method_types?
  2. Transaction amount meets minimum ($0.50)?
Solution: Verify the payment method type is correctly passed in your API request.
Cause: Blockchain confirmation times vary. Some networks take longer than others.Solution: Wait for webhook confirmation. Do not treat the payment as failed until the confirmation window has passed.
Cause: Crypto exchange rates fluctuate between the time the payment is initiated and when it’s sent.Solution: Monitor webhooks for the final confirmed amount. Small discrepancies are handled automatically.

Payment Methods Overview

See all supported payment methods.

Checkout Guide

Complete checkout implementation guide.

Webhooks

Handle payment confirmations asynchronously.

Testing Process

Complete testing guide for all payment methods.
Last modified on March 27, 2026