> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dodopayments.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Stablecoins

> Accept stablecoin payments from customers worldwide, except India, on USD checkouts. Learn about supported stablecoins, networks, limits, and configuration.

Let customers anywhere except India pay with a stablecoin from their crypto wallet. Stablecoin payments are billed in USD, so you receive fiat currency while the customer pays with the stablecoin and network they choose.

## Why Offer Stablecoins?

<CardGroup cols={3}>
  <Card title="Global Reach" icon="globe">
    Accept payments from customers in any supported country, including customers who don't have a card.
  </Card>

  <Card title="No Chargebacks" icon="shield-check">
    Stablecoin payments have no dispute process, so they can't turn into chargebacks.
  </Card>

  <Card title="USD Settlement" icon="dollar-sign">
    You receive USD, so you don't hold crypto or manage price volatility.
  </Card>
</CardGroup>

## Overview

| Detail | Value |
| :- | :- |
| **Billing Currency** | USD |
| **Supported Countries** | Global (except India) |
| **Subscriptions** | No |
| **Min Amount** | \$0.50 |
| **Max Amount** | \$10,000 |
| **Settlement** | USD |

## How It Works

```mermaid theme={null}
sequenceDiagram
    participant Customer
    participant Checkout
    participant Dodo
    participant StablecoinProcessor
    participant Blockchain

    Customer->>Checkout: Select Stablecoins
    Checkout->>Dodo: Create payment
    Dodo->>StablecoinProcessor: Generate payment request
    Checkout->>StablecoinProcessor: Redirect customer to payment page
    Customer->>StablecoinProcessor: Connect wallet, pick token and network
    Customer->>Blockchain: Send stablecoins from wallet
    Blockchain->>StablecoinProcessor: Transaction confirmed
    StablecoinProcessor->>Dodo: Payment confirmed (USD)
```

## Customer Experience

1. The customer selects **Stablecoins** at checkout and submits the order.
2. Checkout redirects the customer to the stablecoin provider's payment page.
3. The customer connects a crypto wallet and chooses a stablecoin and network.
4. The customer approves the transfer, and the blockchain confirms the transaction.
5. The customer is redirected to your success page.

<Info>
  Stablecoin payments are billed in USD. The stablecoin amount on the payment page is calculated from the USD price at the time of payment.
</Info>

## Supported Currencies & Networks

The customer can pay with these stablecoins:

| Currency | Networks |
| :- | :- |
| **USDC** | Ethereum, Solana, Polygon, Base, Tempo |
| **USDP** | Ethereum, Solana |
| **USDG** | Ethereum |

All three stablecoins are available to customers everywhere except India.

## Configuration

```javascript theme={null}
const session = await client.checkoutSessions.create({
  product_cart: [{ product_id: 'pdt_123', quantity: 1 }],
  allowed_payment_method_types: ['crypto_currency', 'credit', 'debit'],
  return_url: 'https://example.com/success'
});
```

Stablecoins appear only when the billing currency is USD, the billing country is not India, the checkout is a one-time payment, and the amount is from \$0.50 to \$10,000. If Adaptive Currency bills the customer in a local currency, stablecoins don't appear.

## API Method Type

| Type | Method | Country |
| :- | :- | :- |
| `crypto_currency` | Stablecoins | Global (except India) |

## Testing

<Steps>
  <Step title="Enable test mode">
    Turn off the **Live Mode** switch in the dashboard sidebar, and use API keys created in test mode.
  </Step>

  <Step title="Create a test checkout">
    Create a one-time USD checkout session with `crypto_currency` in `allowed_payment_method_types`.
  </Step>

  <Step title="Complete the test flow">
    Select **Stablecoins**, and complete the test payment on the provider's payment page with test tokens, such as USDC on the Polygon Amoy test network. Your test wallet also needs the network's own test token, such as POL, to pay the transaction cost.
  </Step>
</Steps>

## Best Practices

<AccordionGroup>
  <Accordion title="Always include card fallbacks">
    Not every customer has a stablecoin wallet. Include `credit` and `debit` as fallback payment methods.
  </Accordion>

  <Accordion title="Set clear expectations on confirmation time">
    Blockchain confirmation can take minutes, depending on the network. Tell customers that the payment may not confirm immediately.
  </Accordion>

  <Accordion title="Use webhooks for payment status">
    The hosted payment page shows the customer the exact amount to send. Use webhooks for payment status updates instead of the redirect to your success page.
  </Accordion>
</AccordionGroup>

## Troubleshooting

<AccordionGroup>
  <Accordion title="Stablecoins not appearing at checkout">
    **Check:**

    1. Is `crypto_currency` included in `allowed_payment_method_types`?
    2. Is the amount from \$0.50 to \$10,000?
    3. Is the billing currency USD, and the billing country not India?
    4. Is this a one-time payment? Stablecoins are not offered on subscriptions.

    **Solution:** Check the payment method type, billing currency, and billing country in your API request.
  </Accordion>

  <Accordion title="Payment not confirming">
    **Cause:** Blockchain confirmation times vary. Some networks take longer than others.

    **Solution:** Wait for the webhook. Don't treat the payment as failed until you receive `payment.failed`.
  </Accordion>
</AccordionGroup>

## Related Pages

<CardGroup cols={2}>
  <Card title="Payment Methods Overview" icon="credit-card" href="/features/payment-methods">
    See all supported payment methods.
  </Card>

  <Card title="Checkout Guide" icon="book" href="/developer-resources/checkout-session">
    Complete checkout implementation guide.
  </Card>

  <Card title="Webhooks" icon="webhook" href="/developer-resources/webhooks">
    Handle payment confirmations asynchronously.
  </Card>

  <Card title="Testing Process" icon="flask" href="/miscellaneous/testing-process">
    Complete testing guide for all payment methods.
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.