Stripe Crypto Payments: A Complete Guide to Web3 Integration

Stripe crypto payments have reshaped how businesses handle digital assets. What started as a tentative experiment in 2022 has grown into a full product suite that covers stablecoin acceptance, fiat-to-crypto onramps, USDC payouts, stablecoin financial accounts, and even recurring crypto billing. For businesses that already run on Stripe, adding a crypto payment gateway no longer requires stitching together third-party services or learning blockchain infrastructure from scratch. The Stripe crypto API lets you accept crypto payments using the same PaymentIntent workflow you already know, and Stripe web3 tools make it possible to embed onramps and wallet-based checkout into dApps with minimal code. This guide breaks down every feature Stripe ships today, how to integrate each one, and where the platform falls short.
Stripe crypto payments is an umbrella term for the collection of crypto and stablecoin products built into the Stripe platform. Rather than building a standalone crypto payment gateway, Stripe embedded its crypto features directly into the existing payments infrastructure. That means if you already accept card payments through Stripe, you can add stablecoin acceptance with a few lines of configuration.
The product suite currently includes:
- Pay with Crypto -- Accept stablecoin payments at checkout via Payment Links, Checkout, Elements, or the Payment Intents API.
- Fiat-to-Crypto Onramp -- An embeddable or hosted widget that lets users purchase crypto directly from your app or dApp.
- Stablecoin Payouts -- Send payouts in USDC to connected accounts through Stripe Connect.
- Stablecoin Financial Accounts -- Hold, convert, and send stablecoin balances globally, powered by Bridge (a Stripe acquisition).
- Stablecoin Subscriptions -- Recurring billing using crypto wallets, with smart-contract-based authorization.
- Crypto.com Partnership -- A direct integration that lets Crypto.com users spend their crypto holdings at Stripe-powered merchants.
The design philosophy is consistent across all of these: Stripe handles compliance, fraud detection, and settlement, while merchants interact with the same APIs and dashboard they use for traditional payments.
Stripe's fiat-to-crypto onramp lets platforms embed a crypto purchasing flow directly into their product. Users can buy crypto with a credit card, debit card, bank transfer, Apple Pay, or Google Pay, and receive tokens in their wallet without leaving your site.
There are two integration paths:
- Embedded onramp -- A customizable widget you mount inside your app. Ideal for wallets, DEXs, NFT platforms, and dApps that want full control over the user experience.
- Stripe-hosted onramp -- A prebuilt frontend hosted at crypto.link.com. You redirect users there instead of embedding anything. Faster to ship, less customization.
Behind the scenes, Stripe partners with Zero Hash to source the crypto. Stripe never holds or possesses the tokens being purchased. Identity verification, fraud screening, and payment processing are all handled by Stripe, which means platforms using the onramp do not need to integrate separate KYC or compliance providers.
Users who save their payment and identity information to Link get a one-click checkout experience on future purchases across any Link-enabled surface.
The onramp is currently available to users who are US residents. Stripe reviews onramp applications within 48 hours.
Stripe supports USDC payouts through Connect, allowing platforms and marketplaces to pay out connected accounts in stablecoins instead of fiat. The platform balance stays in fiat currency while Stripe handles the conversion and delivery.
Stablecoin Financial Accounts go further. Launched in over 101 countries, these accounts let businesses receive payments, hold stablecoin balances, convert between currencies, and send funds globally. They are powered by Bridge, which Stripe acquired in 2024 for $1.1 billion.
Key capabilities of Financial Accounts include:
- Hold balances in USDC or USDB (Bridge's infrastructure stablecoin)
- Set up automatic recurring transfers from a payments balance to the financial account
- Withdraw to an external bank account or crypto wallet
- Pay out to other people or businesses using bank account or wallet details
- Issue stablecoin-backed prepaid cards (virtual or physical) for connected accounts
For businesses in countries with volatile local currencies, stablecoin financial accounts offer a practical way to hold dollar-denominated balances and transact globally without traditional banking friction.
Stripe's Pay with Crypto feature allows merchants to accept stablecoins directly at checkout. When a customer selects the crypto payment option, they are redirected to crypto.stripe.com to connect their wallet, choose a token and network, and confirm the transaction. The payment settles in the merchant's Stripe balance in USD.
Supported stablecoins for merchant payments include:
- USDC on Ethereum, Solana, Polygon, and Base
- USDP on Ethereum and Solana
- USDG on Ethereum
You can accept stablecoin payments through Payment Links, Checkout, Elements, or the Payment Intents API. If you use Stripe's front-end products, Stripe automatically determines which payment methods to show based on the customer's context.
A significant advantage over traditional card payments: stablecoin transactions require wallet authentication, which means the risk of fraud and chargebacks is substantially lower. Refunds are returned as stablecoins to the customer's original wallet.
Starting in January 2026, the Crypto.com partnership extended this further. Crypto.com users can now spend their crypto holdings directly at Stripe-powered merchants. The integration appears as a payment option in Stripe's Optimized Checkout Suite. Users scan a QR code, confirm in the Crypto.com app, and pay with their crypto balance. Stripe converts the payment to the merchant's local currency for settlement.
The embedded onramp widget is purpose-built for web3 applications. It represents one of the most practical paths toward mainstream web3 payments adoption. Wallet providers, DeFi protocols, and blockchain games can embed the onramp to let users fund their wallets without leaving the app.
Notable integrations include Brave (the privacy-focused browser), Audius (blockchain music streaming), and 1inch (decentralized finance aggregator). The widget supports full branding customization so it blends into the host application's design.
For recurring business models, Stripe launched subscription support for stablecoin payments. A custom smart contract enables customers to save their crypto wallet as a payment method and authorize it to send recurring payments without re-signing each transaction. This is compatible with over 400 supported wallets.
This feature is particularly relevant for AI companies and SaaS businesses. According to Stripe, some AI companies have seen approximately 20% of their payment volume shift to stablecoins, which settle near-instantaneously and cost less per transaction than card payments.
Adding stablecoin acceptance to an existing Stripe integration is straightforward. The crypto payment method works through the same PaymentIntent API used for card payments.
In your Stripe Dashboard, go to Settings > Payments > Payment methods and request the Crypto payment method. Stripe reviews requests and activates the method after approval.
On your server, create a PaymentIntent and include crypto in the list of payment method types:
// server.js (Node.js)
const stripe = require("stripe")(process.env.STRIPE_SECRET_KEY);
const paymentIntent = await stripe.paymentIntents.create({
amount: 5000,
currency: "usd",
payment_method_types: ["crypto"],
});
res.json({ clientSecret: paymentIntent.client_secret });
Use Stripe.js to handle the redirect to the crypto payment flow:
<script src="https://js.stripe.com/v3/"></script>
const stripe = Stripe("pk_live_YOUR_PUBLISHABLE_KEY");
const { error } = await stripe.confirmPayment({
clientSecret,
confirmParams: {
return_url: "https://yoursite.com/payment-complete",
},
});
When the customer selects crypto at checkout, Stripe redirects them to crypto.stripe.com to connect their wallet and complete the transaction. After payment, they return to your return_url.
The onramp uses a separate API surface. Create a CryptoOnrampSession on your server and mount the widget on the client:
// server.js -- Create an onramp session
app.post("/create-onramp-session", async (req, res) => {
const response = await fetch(
"https://api.stripe.com/v1/crypto/onramp_sessions",
{
method: "POST",
headers: {
Authorization: `Bearer ${process.env.STRIPE_SECRET_KEY}`,
"Content-Type": "application/x-www-form-urlencoded",
},
body: new URLSearchParams({
"wallet_addresses[solana]": req.body.walletAddress,
destination_currency: "usdc",
destination_network: "solana",
}),
}
);
const session = await response.json();
res.json({ clientSecret: session.client_secret });
});
// client.js -- Mount the onramp widget
import { loadStripeOnramp } from "@stripe/crypto";
const stripeOnramp = await loadStripeOnramp("pk_live_YOUR_PUBLISHABLE_KEY");
const response = await fetch("/create-onramp-session", { method: "POST" });
const { clientSecret } = await response.json();
const session = stripeOnramp.createSession({ clientSecret });
session.mount("#onramp-element");
Note that the CryptoOnrampSession endpoint is not yet natively supported in Stripe's Node.js SDK, so you call it directly via HTTP as shown above.
Stripe is not the only option for accepting crypto payments. Dedicated crypto payment gateways like BitPay, NOWPayments, and CoinGate have been in this space longer. Here is how they compare:
| Feature | Stripe | BitPay | NOWPayments |
|---|---|---|---|
| Supported tokens | USDC, USDP, USDG (stablecoins only) | BTC, ETH, XRP, DOGE, stablecoins, 15+ | 300+ cryptocurrencies |
| Settlement | USD (fiat) by default | Fiat or crypto | Fiat or crypto |
| Checkout experience | Native Stripe Checkout / Elements | Hosted invoice page | Hosted or embedded widget |
| Fees | 1.5% per transaction | 1% per transaction | 0.5%--1% per transaction |
| Subscriptions | Yes (smart contract-based) | Limited | Yes |
| Existing Stripe users | Zero migration needed | Separate integration | Separate integration |
| Fraud protection | Stripe Radar (built-in) | Basic | Basic |
| Geographic availability | 100+ countries | 229 countries | 200+ countries |
| KYC handling | Stripe manages all KYC | Merchant KYC required | Varies |
When to use Stripe: You already use Stripe for payments and want to add stablecoin acceptance without a separate provider. You prefer fiat settlement. You value the integrated fraud detection and compliance layer.
When to use a dedicated gateway: You need to accept Bitcoin, Ethereum, or other non-stablecoin tokens. You want to settle in crypto rather than fiat. You serve markets where Stripe is not available.
Stripe supports different chains and tokens depending on the product:
| Product | Supported Chains | Supported Tokens |
|---|---|---|
| Pay with Crypto | Ethereum, Solana, Polygon, Base | USDC, USDP, USDG |
| Fiat-to-Crypto Onramp | Ethereum, Solana, Polygon, Base, and others | USDC, ETH, SOL, and others (varies by region) |
| Financial Accounts | Arbitrum, Avalanche, Base, Ethereum, Optimism, Polygon, Solana, Stellar | USDC, USDB |
| Stablecoin Payouts | Multiple (via Bridge) | USDC |
The broadest chain support is in Financial Accounts, which covers eight networks. Pay with Crypto is more limited, supporting four chains with three stablecoin tokens.
Notably absent from Stripe's merchant payment product: Bitcoin, Ethereum (as a payment token), and USDT (Tether). Stripe has made a deliberate choice to focus on regulated, dollar-pegged stablecoins for merchant payments rather than volatile assets.
Stripe's crypto offering is strong for stablecoin-based use cases, but it has clear boundaries.
Stablecoins only for merchant payments. You cannot accept BTC, ETH, SOL, or any volatile cryptocurrency through Stripe's Pay with Crypto feature. If your customers want to pay with Bitcoin, you need a different provider or a crypto debit card solution that handles the conversion on the user's side.
US-centric availability for some features. While stablecoin payments work in 100+ countries, the fiat-to-crypto onramp is currently limited to US residents. Stablecoin payouts via Connect are also US-only for now. Geographic availability is uneven across the product suite.
Higher fees than raw blockchain transactions. Stripe charges 1.5% for stablecoin payments. Sending USDC on Base costs fractions of a cent on-chain. The 1.5% covers Stripe's compliance, fraud detection, and settlement infrastructure, but it is a significant markup over native blockchain costs.
Transaction limits. Stablecoin payments are capped at $10,000 per transaction. For high-value B2B payments, this may be restrictive.
No self-custody. Stripe manages the entire flow. Merchants never touch crypto directly. If you want to settle in crypto or maintain on-chain custody, Stripe is not the right fit.
Regulatory uncertainty. MiCA in Europe, evolving SEC guidance in the US, and FCA requirements in the UK all create access asymmetries. Features available today may shift as regulations develop.
Stripe's crypto products are best suited for specific use cases:
Existing Stripe merchants who want to add stablecoin acceptance with minimal effort. If you already process cards through Stripe, adding crypto is a configuration change, not a new integration.
SaaS and subscription businesses that want to offer stablecoin billing. The smart-contract-based recurring payment authorization is a meaningful advantage over competitors that require manual re-authorization.
Platforms and marketplaces that need to pay out globally. Stablecoin Financial Accounts in 101 countries, combined with USDC payouts via Connect, make cross-border settlement faster and cheaper than traditional wire transfers.
Web3 applications that need a fiat-to-crypto onramp. The embedded or hosted onramp widget handles KYC, payments, and fraud so your team can focus on the product.
Businesses that want fiat settlement. Stripe converts all stablecoin payments to USD automatically. If your accounting, treasury, and operations run on fiat, Stripe keeps things simple.
For users who hold crypto and want to spend it at physical or online merchants directly, a different approach may work better. A crypto debit card like SolCard converts crypto to a USD balance at the time of deposit, letting you spend across the Visa and Mastercard networks at merchants that do not integrate any crypto payment gateways at all.
No. Stripe's Pay with Crypto feature supports stablecoins only -- specifically USDC, USDP, and USDG. Stripe stopped accepting Bitcoin as a payment method in 2018 and has not reintroduced it. Their current strategy focuses on stablecoins for merchant payments.
Stripe charges 1.5% per stablecoin transaction. This is lower than the standard card processing fee of 2.9% + 30 cents but significantly higher than raw on-chain transaction costs. There are no additional gateway fees.
It depends on the product. Pay with Crypto supports Ethereum, Solana, Polygon, and Base. Financial Accounts support eight chains including Arbitrum, Avalanche, Optimism, and Stellar in addition to the four above. The fiat-to-crypto onramp supports a varying set of chains and tokens.
For merchant payments, stablecoin transactions settle in USD in your Stripe balance by default. However, with Stablecoin Financial Accounts, you can hold balances in USDC or USDB and manage them directly. Stablecoin payouts through Connect also deliver USDC to connected accounts.
Stablecoin payments (accepting payments from customers) work in over 100 countries. However, some features are more restricted. The fiat-to-crypto onramp is currently US-only. Stablecoin payouts through Connect are limited to US platforms sending to individuals in supported countries. Financial Accounts are available in 101 countries. Check Stripe's regional availability page for the latest details on your specific market.

