Accept Crypto Payments on Your Website: the Non-Custodial Playbook
By Peptide-Pay Team · Published 2026年4月23日

The "accept crypto payments on my website" search is dominated by three kinds of results: custodial processors who take 1.5–2% and hold your funds (BitPay, Coinbase Commerce), self-hosted open-source projects that require you to run a node (BTCPay Server), and aggregators that are hostile to restricted-category merchants (NowPayments, CoinPayments, who will quietly off-board peptide / nutra / SARMs accounts within weeks). None of those are built for a solo dev launching a peptide or research- compound shop in 2026 who needs card + crypto combined, non-custodial settlement, and no MCC 5122 bans. This guide walks through what "accept crypto payments" actually means in 2026, why non-custodial is the only sensible default for peptide shops, and how Peptide-Pay ships card + USDC checkout at 3% flat, no LLC, no rolling reserve, in under ten minutes of integration.
Three flavors of "accept crypto payments" in 2026
The first decision when adding crypto checkout to a website is not technical — it's who holds the money. Three patterns dominate:
- Custodial processors (BitPay, Coinbase Commerce, NowPayments): the processor receives the crypto into their wallet, converts to USD (or holds crypto), and later withdraws to your bank. Fees 1–2% + spread. You get a merchant dashboard, chargeback support, and 1099-K tax forms. You lose: self-custody, resistance to de-platforming (they can off-board you at will), and merchant-account-adjacent underwriting (some require KYB on new accounts).
- Self-hosted (BTCPay Server, LightningTipBot): you run a Bitcoin full node, your customer pays BTC or Lightning, you receive directly to a wallet you control. 0% fees but you carry the entire infra burden — node uptime, Lightning channel management, fiat off-ramp on your side. Only realistic for a tiny subset of crypto-native merchants.
- Non-custodial orchestrators (Peptide-Pay): the processor does not custody funds at any step. Your customer pays with a card or wallet; a licensed crypto on-ramp converts fiat to USDC; the USDC settles on-chain via a splitter contract that forwards the net amount to a wallet you personally control. The processor takes a flat fee from the splitter and never touches the principal. No merchant-account underwriting, no deplatforming risk on your funds.
For a peptide / nutra / SARMs shop in 2026, (1) will eventually off-board you because NowPayments and CoinPayments quietly classify peptides as high-risk regardless of what their signup form said. (2) is operationally infeasible for a solo dev. (3) — non-custodial orchestrator — is the only pattern that survives both your merchant vertical and the scaling of your order volume.
Why stablecoins (USDC) beat Bitcoin for ecommerce checkout
Ecommerce checkout has two hard requirements: price stability (the merchant's $50 invoice must still be $50 when it settles) and settlement finality within the order-fulfillment window (hours, not days). Bitcoin fails both. A BTC-denominated invoice that was $50 when the customer clicked "Pay" can be $48 by the time the transaction confirms, and BTC confirmation times run 10–60 minutes in typical conditions. Lightning fixes the speed problem but not the volatility one.
USDC is a dollar-pegged stablecoin backed 1:1 by US Treasuries and cash held by Circle Internet Financial. On Polygon (Matic's EVM chain) it settles in under 2 seconds at transaction fees of fractions of a cent. For a merchant, that means: $50 invoice → $50 USDC landing in your wallet 60 seconds after the buyer hits "Pay" → you ship the order the same hour. There is no price-exposure window and no 10-minute confirmation wait.
The trick: letting buyers pay with Apple Pay while you settle in USDC
The 2025–2026 advance that made crypto checkout viable for mainstream ecommerce was the emergence of hosted crypto on-ramps with embedded card acceptance: Moonpay, Transak, Revolut Ramp, Mercuryo, Banxa, and Binance Connect all let a buyer pay with Apple Pay / Google Pay / Visa / Mastercard / SEPA / Bancontact, convert that fiat to USDC, and ship the USDC to any Polygon address in one flow. The buyer never manages a wallet, never sees "seed phrase", never installs MetaMask. They tap Apple Pay, they get a confirmation email, done.
Peptide-Pay sits one layer above those on-ramps as a router. A single checkout session routes to the cheapest on-ramp per buyer geography + payment method, aggregates the quotes, settles to your wallet, and reports a single webhook event. From the buyer's perspective the flow is indistinguishable from any card checkout. From the merchant's perspective, USDC shows up in a wallet they personally own.
// npm install github:kinerette/peptide-pay-sdk
import { PeptidePay } from 'peptide-pay';
const pp = new PeptidePay(process.env.PEPTIDEPAY_API_KEY!);
// Create a crypto-settled checkout that accepts cards + Apple Pay + USDC.
const session = await pp.checkout.sessions.create({
amount_cents: 4999, // $49.99
currency: 'USD',
success_url: 'https://myshop.com/thanks',
cancel_url: 'https://myshop.com/cart',
webhook_url: 'https://myshop.com/api/pp-webhook',
// Optional — route settlement to a specific wallet
// wallet: '0x742d35Cc...' // defaults to your account's primary wallet
});
// session.url is a hosted checkout the buyer lands on.
// When payment clears, USDC arrives on Polygon in ~60 seconds.Peptide-Pay vs other ways to accept crypto
If you're comparing options, the five practical axes for a peptide or restricted-vertical merchant are: custody model, fee, ability to accept cards (not just crypto), peptide-vertical policy, and onboarding time.
| Processor | Custody | Fee | Accepts cards? | Accepts peptides? | Onboarding |
|---|---|---|---|---|---|
| BitPay | Custodial | 1% + spread | Card-to-BTC only | No — TOS bans | 1–2 weeks |
| Coinbase Commerce | Custodial | 1% + spread | Card-to-crypto via on-ramp | No — off-boards peptides | Days |
| NowPayments | Custodial | 0.5–1% | Card-to-crypto via on-ramp | Quiet off-board common | Hours to days |
| BTCPay Server | Non-custodial | 0% + node costs | No — crypto only | Yes if you self-host | 1–4 weeks setup |
| Peptide-Pay | Non-custodial | 3% flat | Yes (Apple Pay, Visa, MC, SEPA) | Yes — built for it | Same-day, 15 min |
Peptide-Pay's 3% is higher than BitPay's 1%, but the numbers aren't comparable: BitPay won't accept your peptide shop at all, and BTCPay won't let your buyers pay with Apple Pay. The question a peptide merchant is solving isn't "cheapest crypto fee" — it's "how do I ship a working checkout my buyers will actually convert on, without getting off-boarded, without custodial risk, without an LLC". The answer is 3% to a non-custodial orchestrator. For full fee math see /fees.
Why non-custodial matters specifically for peptide / restricted merchants
Custodial crypto processors carry the same deplatforming risk as Stripe: the moment their compliance team reviews your merchant descriptor and spots "peptide", your funds become their property until they decide to release them. BitPay, Coinbase Commerce, NowPayments, and CoinPayments all have public track records of freezing peptide-adjacent merchant balances. The freeze windows are 30–180 days.
Non-custodial removes that vector entirely. USDC settles directly from the on-ramp to a wallet whose private key you personally hold. If Peptide-Pay disappears tomorrow, every dollar already in your wallet is still yours. If the on-ramp de-lists us, we add the next one (six are in rotation). Your funds are never in the path of a compliance team that could freeze them.
Three integration paths for accepting crypto on your site
- Payment link (zero code): sign up, generate a link, paste into any
<a href="…">. Works on Squarespace, Wix, Webflow, Framer, Lovable-generated sites, v0 sites, Bolt sites, Cursor-generated sites — any platform that renders an anchor tag. 60 seconds. - WooCommerce plugin: download the zip, upload under Plugins → Add New → Upload, paste API key + wallet. 3 minutes. Your WooCommerce checkout now has a "Pay with card or crypto" option.
- API / SDK:
npm install github:kinerette/peptide-pay-sdk, callpp.checkout.sessions.create(...), redirect the buyer to the returned URL. Stripe-compatible SDK shape so any LLM pair programmer writes correct code on the first try. See Integrate and Docs.
Summary
"Accept crypto payments" in 2026 should not mean asking your buyers to install MetaMask. It means a hosted checkout that accepts Apple Pay + card + SEPA + USDC, converts everything to USDC automatically, and settles into a wallet you control — non-custodially. For peptide, nutra, SARMs, and other restricted verticals, non-custodial is the only architecture that doesn't eventually freeze your funds. Peptide-Pay delivers exactly that at 3% flat, no LLC required, no rolling reserve, same-day go-live. Read more: Payment Processor for Peptides, Stripe Alternative for Peptides, and How it Works.
Developer questions, straight answers.
What does non-custodial mean for crypto payments?
Do I need to know anything about crypto to accept crypto payments?
Can I accept crypto payments without KYC?
What happens if USDC de-pegs or Circle collapses?
How is accepting crypto different from accepting cards via Stripe?
Related guides

ペプチド向け決済処理業者:開発者ガイド(2026年版)
なぜStripeがペプチドショップをBANするのか、MCC 5122ルーティングが実際にどう機能するのか、そしてカード + Apple Pay + USDCのための10分のドロップイン統合。

ペプチド&nutra向けStripe代替:2026年移行ガイド
Stripeはペプチドを自動的に拒否します — 特にLLCのないソロデベロッパー。2026年の移行:フラット3%、Stripe互換SDK、即日稼働。

MCC 5122決済処理業者:ペプチドショップ向け2026年ルーティングガイド
MCC 5122はペプチドショップをすべての主要PSPからBANさせます。2026年の代替:カードをMCC 6051暗号資産オンランプ経由でフラット3%でルーティング。
Ready to integrate Peptide-Pay?
Paste your Polygon wallet, drop in the SDK, done. No LLC required, no rolling reserve, same-day go-live — 3% flat.