Skip to main content

Best Crypto Payment APIs 2026: Coinbase Commerce vs BitPay vs NOWPayments vs Strike

·APIScout Team
crypto paymentsbitcoin paymentscoinbase commercebitpaynowpaymentsstrikelightning networkcryptocurrency api

Crypto Payments Have a Real Use Case in 2026

For businesses with international customers, crypto payments solve a genuine problem: cross-border payments via traditional rails incur 3-5% in fees and take 1-5 business days to settle. Cryptocurrency payments settle in minutes, with fees as low as 0.5%, and without the chargebacks that card payments create for merchants.

In 2026, four crypto payment APIs represent distinct approaches: Coinbase Commerce (automatic USDC stablecoin conversion, brand trust), BitPay (enterprise fiat settlement, 38 currencies), NOWPayments (300+ cryptocurrencies, lowest fees), and Strike (Bitcoin Lightning Network, near-instant near-zero-fee settlements).

TL;DR

NOWPayments wins on fee rate (0.5%) and cryptocurrency breadth (300+) — best for merchants who want to accept the widest range of crypto. Coinbase Commerce is the most user-friendly — automatic USDC conversion eliminates volatility risk for merchants. BitPay is the enterprise choice — direct bank settlement in fiat, 38 supported currencies, used by Microsoft and AMC. Strike is the Bitcoin-native choice — Lightning Network payments with near-zero fees and instant settlement.

Key Takeaways

  • NOWPayments charges 0.5% per transaction for same-coin settlements — the lowest fee among major crypto payment processors.
  • Coinbase Commerce charges 1% with automatic conversion to USDC — merchants receive stable value without crypto volatility exposure.
  • BitPay charges 1% and settles directly to bank accounts in USD, EUR, and 36 other fiat currencies — no crypto custody required.
  • Strike uses the Bitcoin Lightning Network — settlement in seconds for near-zero fees (sub-cent for most transactions).
  • Crypto payments have no chargeback risk — once a transaction is confirmed, it cannot be reversed. For merchants with high chargeback rates, this alone justifies crypto acceptance.
  • Volatility is the main risk — unless you use USDC settlement (Coinbase Commerce) or immediate fiat conversion (BitPay), you hold crypto price risk during settlement.
  • Lightning Network adoption increased significantly in 2025-2026 — for Bitcoin-accepting merchants, Lightning is now the practical choice.

Pricing Comparison

PlatformFeeSettlementCryptocurrencies
NOWPayments0.5% (same coin) / 1% (auto-convert)Crypto or stablecoin300+
Coinbase Commerce1%USDC or crypto10+
BitPay1%Fiat (USD, EUR, 36+) or cryptoBTC, ETH, USDC, 10+
Strike~0.3% or flatBTC or USDBitcoin only

NOWPayments

Best for: Maximum crypto coverage, lowest fees, non-custodial control, international merchants

NOWPayments supports over 300 cryptocurrencies — by far the broadest acceptance of any payment processor. The platform is non-custodial: funds flow directly to your wallet, NOWPayments never holds your assets. The 0.5% fee for same-coin settlements is the lowest in the market.

Pricing

TypeFee
Same-coin payment0.5%
Auto-conversion to different crypto~1%
Fiat settlementCustom

API Integration

import requests

# Create a payment
response = requests.post(
    "https://api.nowpayments.io/v1/payment",
    headers={
        "x-api-key": "your-nowpayments-api-key",
        "Content-Type": "application/json",
    },
    json={
        "price_amount": 99.99,
        "price_currency": "usd",
        "pay_currency": "btc",       # Accept Bitcoin
        "ipn_callback_url": "https://your-site.com/webhooks/nowpayments",
        "order_id": "order_12345",
        "order_description": "Pro Plan - Annual Subscription",
    },
)

payment = response.json()
print(f"Pay to: {payment['pay_address']}")
print(f"Amount: {payment['pay_amount']} BTC")
print(f"Payment ID: {payment['payment_id']}")

IPN (Instant Payment Notification) Webhook

from flask import Flask, request
import hmac
import hashlib

app = Flask(__name__)

@app.route("/webhooks/nowpayments", methods=["POST"])
def nowpayments_webhook():
    # Verify webhook signature
    sig_header = request.headers.get("x-nowpayments-sig", "")
    payload = request.get_data()

    expected_sig = hmac.new(
        IPN_SECRET.encode(), payload, hashlib.sha512
    ).hexdigest()

    if not hmac.compare_digest(sig_header, expected_sig):
        return "Invalid signature", 403

    data = request.json

    if data["payment_status"] == "finished":
        # Payment confirmed — activate subscription
        activate_order(data["order_id"])
        print(f"Payment confirmed: {data['payment_id']}, {data['actually_paid']} {data['pay_currency']}")

    return "OK"

NOWPayments Widget

<!-- Drop-in payment widget -->
<script src="https://nowpayments.io/embeds/payment-widget/v1/widget.js"></script>
<div class="nowpayments-widget"
     data-api-key="your-api-key"
     data-amount="99.99"
     data-currency="usd"
     data-payment-id="order_12345">
</div>

When to Choose NOWPayments

Merchants wanting maximum cryptocurrency coverage (300+ coins), international businesses selling to crypto-native audiences, non-custodial merchants who want to hold their own keys, or any merchant for whom the 0.5% same-coin fee vs 1% competitor difference matters at volume.

Coinbase Commerce

Best for: Brand trust, USDC stablecoin settlement, US merchants, easiest integration

Coinbase Commerce benefits from Coinbase's brand recognition — the most trusted crypto brand among mainstream consumers. The automatic USDC conversion option eliminates volatility: a $99.99 transaction paid in Bitcoin is automatically converted to $99.99 USDC, giving merchants stable value without crypto price exposure.

Pricing

  • Fee: 1% per transaction
  • Settlement: USDC, USD, or crypto
  • Supported currencies: Bitcoin, Ethereum, USDC, Litecoin, Bitcoin Cash, DAI, and others (10+)

Integration

// Coinbase Commerce hosted checkout
const Coinbase = require("coinbase-commerce-node");
const { Checkout } = Coinbase.resources;

Coinbase.Client.init("your-api-key");

// Create a charge (one-time payment link)
const charge = await Checkout.create({
  name: "Pro Plan - Annual",
  description: "Annual subscription to Pro tier",
  local_price: {
    amount: "199.00",
    currency: "USD",
  },
  pricing_type: "fixed_price",
  metadata: {
    user_id: "user_123",
    plan: "pro_annual",
  },
  redirect_url: "https://your-site.com/welcome",
  cancel_url: "https://your-site.com/checkout",
});

// Redirect user to charge.hosted_url
console.log(`Pay here: ${charge.hosted_url}`);

Webhook Handling

const express = require("express");
const { Webhook } = require("coinbase-commerce-node");

app.post("/webhooks/coinbase", express.raw({ type: "application/json" }), (req, res) => {
  const event = Webhook.verifyEventBody(
    req.body,
    req.headers["x-cc-webhook-signature"],
    process.env.COINBASE_WEBHOOK_SECRET
  );

  if (event.type === "charge:confirmed") {
    const { metadata } = event.data;
    activateSubscription(metadata.user_id, metadata.plan);
  }

  res.sendStatus(200);
});

When to Choose Coinbase Commerce

Merchants who want USDC settlement to eliminate volatility, US-based businesses where Coinbase's brand recognition increases conversion, teams that want the simplest integration with strong brand trust, or merchants primarily accepting popular cryptocurrencies (Bitcoin, Ethereum, USDC).

BitPay

Best for: Enterprise merchants, direct fiat bank settlement, large transaction volumes

BitPay is the enterprise crypto payment processor — used by Microsoft, AT&T, AMC, and thousands of large businesses. The key feature: automatic conversion to fiat at the time of payment and direct bank deposit. Merchants never hold crypto — they receive USD or EUR in their bank account.

Pricing

  • Fee: 1% per transaction
  • Settlement: Direct bank deposit in 38 fiat currencies
  • Supported cryptos: Bitcoin, Ethereum, USDC, Litecoin, XRP, USDT, and more
  • Chargeback protection: Crypto payments are irreversible — no chargebacks

Enterprise Integration

// BitPay PHP SDK
require 'vendor/autoload.php';

$client = new BitPaySDK\Client(
    BitPaySDK\Environment::PROD,
    $privateKey,
    $tokens
);

// Create an invoice
$invoice = new BitPaySDK\Model\Invoice\Invoice(99.99, "USD");
$invoice->setOrderId("order_12345");
$invoice->setFullNotifications(true);
$invoice->setNotificationURL("https://your-site.com/webhooks/bitpay");
$invoice->setRedirectURL("https://your-site.com/success");

$basicInvoice = $client->createInvoice($invoice);
echo "Pay here: " . $basicInvoice->getURL();

When to Choose BitPay

Enterprise merchants that need direct fiat settlement (no crypto custody), businesses in sectors with high chargebacks (software, gaming, adult content), large transaction volumes where the 1% fee on fiat settlement is the lowest cost crypto-to-fiat path, or global businesses needing settlement in 38+ currencies.

Strike

Best for: Bitcoin Lightning Network, instant settlement, near-zero fees, Bitcoin-native businesses

Strike is built on the Bitcoin Lightning Network — a Layer 2 payment protocol enabling near-instant Bitcoin transactions with fees measured in satoshis (fractions of a cent). For merchants who want Bitcoin-specific payments with the lowest possible fees and instant settlement, Strike is the architecture.

Lightning Network Advantages

FeatureOn-chain BitcoinLightning (Strike)
Settlement time10-60 minutesSeconds
Fee$1-$20+ per tx<$0.01 per tx
ScalabilityLimitedHigh throughput
ReversibilityIrreversibleIrreversible

Strike API Integration

import requests

# Create a payment request (Lightning invoice)
response = requests.post(
    "https://api.strike.me/v1/invoices",
    headers={
        "Authorization": f"Bearer {STRIKE_API_KEY}",
        "Content-Type": "application/json",
    },
    json={
        "amount": {"currency": "USD", "amount": "99.99"},
        "description": "Pro Plan subscription",
    },
)

invoice = response.json()

# Generate Lightning payment request
quote_response = requests.post(
    f"https://api.strike.me/v1/invoices/{invoice['invoiceId']}/quote",
    headers={"Authorization": f"Bearer {STRIKE_API_KEY}"},
)

quote = quote_response.json()
lightning_invoice = quote["lnInvoice"]  # User pays this with any Lightning wallet

When to Choose Strike

Bitcoin-first businesses, merchants selling to Lightning-enabled users, applications that want instant settlement without exchange rate risk (USD-pegged Lightning), or developers building Bitcoin-native products.

Decision Framework

ScenarioRecommended
Maximum crypto coverageNOWPayments (300+ coins)
Lowest transaction feesNOWPayments (0.5%)
Automatic USDC settlementCoinbase Commerce
Direct bank fiat settlementBitPay
Enterprise, high volumeBitPay
Bitcoin Lightning paymentsStrike
Brand trust with customersCoinbase Commerce
Non-custodial, hold your keysNOWPayments
No chargebacks (high-risk merchant)Any crypto processor

Verdict

NOWPayments is the right choice for merchants who want the broadest crypto coverage at the lowest fees. The 0.5% same-coin rate and 300+ currencies make it the most flexible option for crypto-native merchants.

Coinbase Commerce is the recommended starting point for most US merchants — the brand recognition increases customer confidence, the 1% fee is standard, and automatic USDC conversion eliminates volatility risk.

BitPay is the enterprise choice when you need direct fiat bank settlement with no crypto exposure. The fiat settlement removes all crypto complexity from accounting and finance teams.

Strike is the Bitcoin Lightning choice for forward-thinking merchants who want instant, near-free settlements and are ready to accept Bitcoin specifically.


Compare crypto payment API pricing, supported currencies, and integration documentation at APIScout — find the right cryptocurrency payment platform for your business.

Comments