For Business
Accepting Bitcoin for Your Online Store
A practical guide for U.S. e-commerce businesses that want to add bitcoin as a payment option, covering tools, taxes, and setup steps.

Adding bitcoin as a checkout option is more straightforward than most store owners expect. The hard part is less about the technology and more about deciding how you want to handle the money once it arrives.
What you're actually choosing between
When a customer pays in bitcoin, two things can happen: you either hold the bitcoin yourself, or a payment processor converts it to USD before it ever touches your bank account. That single decision shapes everything else: your tax exposure, your volatility risk, and how much infrastructure you need to manage.
Holding bitcoin means you receive BTC directly into a wallet you control. The IRS treats each incoming payment as ordinary income at the fair market value on the day you received it, so you'll need to record the USD value at the time of each sale. If you later sell or spend that bitcoin at a higher price, you'll also owe capital gains tax on the difference.
Auto-converting to USD through a payment processor means you're paid in dollars, usually within one to two business days. Your tax accounting looks almost like a regular sale. You still report the USD value as income, but you sidestep the ongoing capital gains tracking that comes with holding crypto.
Neither approach is inherently better. It depends on whether you want exposure to bitcoin's price movement and how much bookkeeping complexity you can absorb.
Payment processor options for e-commerce
Several processors integrate directly with popular store platforms and handle the conversion automatically if you want it.
| Processor | Auto-convert to USD | Common integrations | Settlement |
|---|---|---|---|
| BTCPay Server | Optional (self-hosted) | WooCommerce, Shopify (via plugin) | You control it |
| OpenNode | Yes | WooCommerce, custom API | Bank transfer |
| Strike | Yes | WooCommerce, Shopify | Next business day |
| Coinbase Commerce | Optional | Shopify, WooCommerce, BigCommerce | Manual or auto |
BTCPay Server is worth mentioning specifically because it's open-source and free to run, which appeals to merchants who want zero processing fees. The tradeoff is that you host it yourself, either on a VPS or through a managed hosting service. For a small store owner without a technical background, a hosted processor is usually the more practical starting point.
This is a general category overview, not an endorsement of any specific product. Fees, features, and availability change frequently, so verify current terms directly with any service you're considering.
Setting up bitcoin checkout on common platforms
Shopify
Shopify doesn't natively support bitcoin, but several third-party apps in the Shopify App Store connect to bitcoin processors. The general steps: install the app, link your wallet address or processor account, and enable the payment method in your checkout settings. Some apps require you to disable Shopify Payments for bitcoin checkout to work as a manual payment method.
WooCommerce
WooCommerce has better native support for crypto through plugins. Most major bitcoin processors publish a WooCommerce plugin, and installation typically follows the same pattern: add the plugin, enter your API key, choose whether to auto-convert, and save. You can usually test with a small transaction before going live.
Headless or custom stores
If you're running a custom storefront, most processors offer REST APIs with JSON responses. You create an invoice on their end, redirect the customer to a payment page (or embed the widget), and listen for a webhook confirmation. The technical lift is modest if you're already comfortable with API integrations.
If you run a physical store alongside your online presence, the process for retail bitcoin acceptance is slightly different, mainly because you need a mobile-friendly point-of-sale flow rather than a checkout widget.
Tax and record-keeping basics
The IRS classifies bitcoin as property, not currency. That means every bitcoin payment you accept is a taxable event. You must record:
- The date of the sale
- The USD fair market value of the bitcoin at that moment
- The customer's payment amount in BTC
- Your cost basis if you intend to hold and later sell
If you auto-convert to USD through a processor, your 1099 or transaction statement from the processor covers most of what you need. If you hold bitcoin, you'll want dedicated crypto accounting software to track your cost basis per unit, because the IRS expects FIFO, LIFO, or specific-identification accounting when you eventually dispose of it.
FinCEN's rules also apply here. If your business handles more than $1,000 in crypto transactions on behalf of others, you may have money transmission obligations depending on your state. Most retail merchants accepting payment for goods don't hit this threshold in a way that triggers money transmitter licensing, but if you're doing high volume or acting as an intermediary, confirm your obligations with a legal or compliance professional.
Tax rates, thresholds, and reporting requirements change. Treat this section as an orientation, not a tax plan. A CPA familiar with crypto is worth consulting before you file.
What to display to customers
Clear communication at checkout reduces abandoned carts and support tickets. A few things that help:
- Show the BTC price prominently but also display the USD equivalent so customers know exactly what they're paying
- Use a short payment window (15 to 30 minutes) to reduce the effect of price swings between checkout and payment confirmation
- Set clear refund terms for bitcoin purchases, since reversing a crypto transaction is not like a credit card chargeback
- Add a brief note that bitcoin payments are final once confirmed on the blockchain
Some merchants add a small FAQ to their payment page explaining network confirmation times, since customers used to instant card payments may be surprised that bitcoin typically takes 10 to 60 minutes to fully confirm (though most processors accept payment after one confirmation, which usually comes in around 10 minutes).
For freelancers and service providers who want to accept bitcoin without a full e-commerce setup, the approach is a bit different. Getting paid in bitcoin as a freelancer covers the wallet-first workflow that works well for project-based billing, and invoicing clients in bitcoin goes deeper on how to structure those invoices properly.
FAQ
Do I need a separate bitcoin wallet if I use a payment processor?
It depends on the processor. Some (like BTCPay Server) require you to provide a wallet address that you control. Others custody the funds on your behalf and then send USD to your bank. If you go the custodial route, you're trusting the processor with your funds until settlement, similar to how Stripe holds card payments briefly before depositing them.
What happens if the bitcoin price drops between the customer paying and me converting?
With auto-convert processors, this typically isn't your problem. The processor locks in the USD rate at the time of payment and absorbs the short-term price risk. If you hold bitcoin yourself, the price you received is what matters for income reporting, regardless of what happens to the price afterward.
Can I accept bitcoin on Shopify without a plugin?
Shopify's native payment options don't include bitcoin. You'll need a third-party app or manual payment method. Some merchants use a "manual payment" method and handle bitcoin separately outside the checkout flow, though this creates a poor customer experience. A proper plugin integration handles the invoice and confirmation automatically.
Is bitcoin legal for U.S. businesses to accept?
Yes. There are no federal laws prohibiting a U.S. business from accepting bitcoin as payment for goods or services. You need to handle taxes correctly (the IRS issued guidance in 2014 and has updated it since), and certain financial businesses have additional FinCEN obligations, but ordinary retail or e-commerce merchants can accept bitcoin without special licenses in most states.
What's the minimum viable setup to test bitcoin payments?
The fastest way to test is to create a free account with a hosted processor like OpenNode or Coinbase Commerce, install their plugin on your store, and place a small test order. You can be running in under an hour. If you want to avoid processor fees from the start, BTCPay Server takes longer to configure but costs nothing per transaction once it's running.