Integration guide · 8 min read

MCC 6051: Crypto On-Ramps and the Merchant Category Code That Saves Peptide Shops

By Peptide-Pay Team · Published 23 de abril de 2026

Split-screen developer dashboard showing Visa authorization data: left half highlights MCC 5122 (“Drugs, Druggists’ Sundries”) in red with a “DECLINED” overlay, right half shows the same amount routed through MCC 6051 (“Quasi-Cash / Cryptocurrency”) in green with an “APPROVED” overlay and a USDC settlement hash — the network-level view of peptide payment routing.

MCC 6051 is the Merchant Category Code that Visa and Mastercard assign to "Non-Financial Institutions — Foreign Currency, Non-Fiat Currency (for example: Cryptocurrency), Money Orders (Not Money Transfer), Account Funding (not Stored Value Load), Travelers Cheques, and Debt Repayment". In 2026, it is the single most important MCC for any founder selling a restricted category— peptides, research compounds, nutra, SARMs, kratom, kava — because it is what your customer's card statement reads when payment flows through a crypto on-ramp instead of a direct merchant gateway. This guide explains what MCC 6051 is, why it matters for peptide shops, how Visa's 2020 reclassification reshaped the card/crypto boundary, and how Peptide-Pay uses it to deliver card + Apple Pay + SEPA checkout at 3% flat, no LLC, no reserve, same-day go-live.

What is MCC 6051?

Every card transaction in the Visa, Mastercard, and Amex networks carries a four-digit Merchant Category Code. The MCC classifies the merchant, not the purchase — a convenience store (MCC 5411) selling you a lottery ticket is still MCC 5411 to the network, even though the lottery itself sits under a different code when bought directly. MCC 6051 covers the specific sub-category of "Quasi-Cash Merchants" selling non-fiat currency, wire transfers, money orders, travelers cheques, and — since 2020 — cryptocurrency on-ramps. Coinbase, Kraken, Binance US, Moonpay, Revolut's crypto purchase flow, Transak, and Mercuryo all route under MCC 6051.

The official Visa Merchant Data Standards Manual defines 6051 as covering "non-financial institutions that provide non-fiat currency (for example, cryptocurrency) for monetary value, as well as account funding, money orders (not money transfer), travelers cheques, and debt repayment". For the 2020 revision, Visa explicitly added the parenthetical "(for example, cryptocurrency)" to end years of ambiguity around whether Coinbase should code under 6012 (financial institution), 6010 (manual cash), or 6051. The answer, as of 2020, is 6051 — universally.

Why MCC 6051 matters for peptide shops

The short answer: MCC 6051 is the card-safe MCC for a restricted-category merchant. The long answer requires understanding what happens when your customer hits the "Pay $50 for BPC-157" button:

  1. Direct gateway (Stripe, Square, Mollie): the transaction is coded under yourMCC. For peptide shops that's almost always MCC 5122 ("Drugs, Druggists' Sundries") or 5912 ("Drug Stores and Pharmacies"). Both are on every mainstream PSP's restricted-business list. See our MCC 5122 routing guide for the full ban mechanics.
  2. Crypto on-ramp (MCC 6051):your customer's card is charged by the on-ramp provider — Moonpay, Transak, Mercuryo, Banxa, Revolut Ramp, or Binance Connect. The on-ramp provider's MCC is 6051. The resulting card authorization reads USDC PURCHASE · MOONPAYon the buyer's statement. The peptide shop never appears on the card network at all — it only appears on the Polygon / Ethereum blockchain, which no card network monitors.
  3. Outcome:the buyer gets a clean statement line that looks like a routine crypto purchase. The merchant gets USDC settled on-chain. Stripe Radar / PayPal's risk engine / Visa's MCC 5122 scrutiny never enter the picture because no 5122 transaction ever existed.

MCC 6051 vs 6010, 6012, 7995: the full cluster

Crypto-adjacent MCCs are a moving target. The 2020 Visa reclassification moved most card-funded crypto purchases from the grab-bag 6012/6010 codes into the purpose-built 6051. Here's how the cluster looks in 2026:

MCCDescriptionTypical merchantsCard network restrictions
6051Non-Financial Institutions / Quasi-Cash / CryptoCoinbase, Moonpay, Transak, Revolut RampIssuer-dependent — some banks block, most allow. Flagged as cash-advance on some cards.
6010Manual Cash DisbursementsBank teller cash withdrawalRarely relevant for online crypto in 2026.
6012Financial Institutions — Merchandise, ServicesLicensed banks & fintechsMoved out of crypto in 2020. Rare for crypto.
7995Gambling / Betting / Casino GamingCasinos, sportsbooksHard-blocked by US issuers. Never use for crypto.
5122Drugs, Druggists’ SundriesPharmacies, drug wholesalersPeptide shops auto-routed here — banned by Stripe, PayPal, Square, Adyen.
5912Drug Stores and PharmaciesRetail pharmaciesSimilar restrictions to 5122. Prescription drug wording triggers ban.

How the on-ramp layer actually works

A crypto on-ramp is a regulated fintech that sells cryptocurrency to retail buyers using fiat rails. Moonpay is FinCEN-registered with money transmitter licenses in 45 US states. Transak is UK-FCA registered. Revolut Ramp rides Revolut's EMI license. Banxa, Mercuryo, and Binance Connect have analogous licensing stacks. When your customer hits Peptide-Pay checkout, the SDK opens a hosted on-ramp iframe (the router auto-selects the cheapest on-ramp by geography and payment method), the customer confirms the card charge to that on-ramp, and the on-ramp pushes USDC to your wallet via a splitter contract.

From the card network's perspective, exactly one thing happened: the customer bought USDC from a licensed MCC 6051 merchant. There is no MCC 5122 authorization, no peptide descriptor, no restricted-business flag. The peptide merchant exists only on Polygon, where there is no MCC system at all.

What your backend sees when an MCC 6051 payment settlestypescript
// Peptide-Pay webhook payload — fires when USDC settles on-chain.
// npm install github:kinerette/peptide-pay-sdk
{
  "event": "checkout.session.completed",
  "session_id": "cs_01HXQ8WY9JZVRP3...",
  "amount_cents": 5000,              // $50.00 the customer paid
  "net_amount_cents": 4850,          // After 3% peptide-pay fee
  "settlement_currency": "USDC",
  "settlement_chain": "polygon",
  "settlement_tx":
    "0xe4d9a7c2f8b1...",
  "onramp_provider": "moonpay",      // whichever on-ramp the buyer picked
  "onramp_mcc": "6051",              // always 6051 for card-funded crypto buy
  "wallet_destination": "0x742d35Cc6635C0532925a3b8440dB8E...",
  "metadata": { "order_id": "ord_8821" }
}

Implications for a peptide or nutra merchant

Four practical consequences flow from routing under MCC 6051 instead of MCC 5122:

  • No MCC-5122 ban.You aren't processing under 5122, so Stripe / PayPal / Adyen's 5122 block never triggers. This is why indie devs ship peptide checkouts same-day through Peptide-Pay.
  • Higher authorization rates than 5122. Issuer banks approve far more 6051 authorizations than 5122 ones because the fraud-risk profile differs. Exact uplift varies by geography but commonly 8–20 percentage points.
  • Chargeback shifts to the on-ramp. The card authorization is between buyer and on-ramp. If the buyer disputes, the on-ramp handles the dispute and covers the card-network loss. Your merchant-side chargeback history stays at zero.
  • Some issuer banks classify 6051 as cash-advance. A small share of US credit cards treat 6051 purchases as cash-advance (higher APR, no rewards). Your checkout UI should disclose this — the Peptide-Pay hosted checkout shows a one-line notice by default.

Getting started with MCC 6051 routing

You do not configure MCC 6051 yourself. When you integrate Peptide-Pay, the routing is automatic — our router picks the cheapest on-ramp per transaction (Moonpay, Transak, Revolut Ramp, Mercuryo, Banxa, or Binance Connect), and every on-ramp in the router is already MCC 6051 on Visa / Mastercard. The merchant-side integration is three steps:

  1. Sign up at peptide-pay.com/signup and paste a Polygon USDC wallet address. No LLC, no bank statements, no processing history.
  2. Install the WooCommerce plugin or copy the API integration snippet. The SDK shape is Stripe-compatible; LLM pair-programmers emit correct code on the first try.
  3. Ship. First live USDC settlement typically lands under 15 minutes from signup. See /fees for the full flat-3% cost breakdown.

Summary

MCC 6051 is not an obscure technicality — it is the entire reason card-funded checkout works for peptide shops in 2026. By routing card authorizations through a licensed MCC 6051 on-ramp and settling in USDC on Polygon, Peptide-Pay lets peptide/nutra/SARMs/kratom founders accept cards at 3% flat without touching the restricted MCC 5122 code, without clearing high-risk PSP underwriting, and without forming an LLC first. For the routing diagram of why that works at the network level, read MCC 5122 explained; for the full merchant guide, read Payment Processor for Peptides.

FAQ

Developer questions, straight answers.

What is MCC 6051?
MCC 6051 is the Visa / Mastercard Merchant Category Code for “Non-Financial Institutions — Foreign Currency, Non-Fiat Currency (for example: Cryptocurrency), Money Orders, Account Funding, Travelers Cheques, and Debt Repayment”. In 2026 it is the primary code used by card-funded cryptocurrency on-ramps — Moonpay, Transak, Coinbase, Revolut Ramp, Mercuryo, and Binance Connect all operate as MCC 6051 merchants. Visa explicitly added the cryptocurrency example text to the code’s definition in the 2020 Merchant Data Standards Manual revision.
Is MCC 6051 the same as cash advance?
No, but a handful of US credit card issuers treat 6051 authorizations the same way they treat cash advances (higher APR, no rewards points, immediate interest accrual). This is issuer-dependent, not a Visa-wide rule. Debit cards and most non-US cards do not apply cash-advance treatment. Peptide-Pay’s hosted checkout surfaces a single-line disclosure when a card looks likely to be treated as cash advance, so buyers can choose a debit card or a different on-ramp if that matters to them.
Why do peptide shops use MCC 6051 instead of MCC 5122?
Peptide shops don’t “use” MCC 6051 — they route around MCC 5122 by having their customers pay a licensed crypto on-ramp (which is MCC 6051), then receiving USDC settlement on-chain. The peptide merchant itself never appears on the card network, so neither MCC 5122 nor the restricted-business bans that come with it ever activate. This is the core mechanism behind Peptide-Pay: cards go to the on-ramp, USDC goes to the merchant, Stripe’s 5122 block is irrelevant.
Does MCC 6051 increase chargeback risk for merchants?
The opposite. In an MCC 6051 routed transaction, the card authorization is between the buyer and the on-ramp provider — not between the buyer and the peptide merchant. If the buyer later disputes the card charge, the chargeback lands with the on-ramp, who underwrites it. The on-chain USDC leg is final and non-reversible. Your merchant-side chargeback history stays at zero, which is one of the main reasons new peptide merchants with zero processing history can go live immediately.
Can I apply for an MCC 6051 code for my peptide shop?
No, and you shouldn’t. MCC 6051 is assigned by acquirers to licensed crypto on-ramps — fintechs with money-transmitter licenses in the geographies they operate in. Applying as a peptide shop would require years of crypto-business licensing with no relationship to your actual business. Peptide-Pay connects you to existing MCC 6051 on-ramps automatically; no licensing, incorporation, or merchant-account application on your side. You bring a Polygon wallet and an API key; the rest is plumbing.
Keep reading

Related guides

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.