Why Is My Crypto Card Declined? 9 Causes and Fixes
Why is my crypto card declined? Balance, holds, FX, prepaid blocks, 3D Secure or merchant rules: how to tell which one hit you and what fixes it.
In this article
If your crypto card is declined, the cause is almost never the crypto. It is usually one of four card-side reasons: the loaded balance doesn't cover the amount plus any hold or currency conversion, the merchant's fraud rules refuse prepaid or foreign-issued cards, a verification step such as 3D Secure or an address check failed, or the purchase hit a limit or a category the card program doesn't support. Card issuers decide approvals with automated systems that look at "spending habits, account balance, and card data including expiration date, address information, and CVC," per Stripe. The trick is working out which of the parties in the chain said no, because that decides who can fix it.
This guide walks through nine common causes, what each one looks like from your side of the checkout, and the fix for each.
Three different parties can stop a card payment, and the error message rarely tells you which one did.
- The issuer (the bank or program behind your card) approves or declines the authorization request. On a prepaid crypto card, that decision is made against the balance already loaded on the card.
- The merchant or its payment processor can block the payment before it ever reaches the issuer. Stripe's Radar, for example, lets merchants write rules that "block payments made with prepaid cards," per Stripe.
- The authentication step (3D Secure) can fail even when the issuer would have approved the purchase.
The message you see is often generic by design. Stripe notes that "card issuers categorize most declines as generic," and that "for privacy and security reasons, card issuers discuss the specifics of a decline only with their cardholders," per Stripe. Stripe also tells merchants to show its own fraud blocks to customers "in the same manner as generic_decline," per Stripe's decline codes. So "Your card was declined" can mean the issuer refused, the merchant refused, or a fraud model refused.
For the full path a payment takes, see what happens when you tap a crypto card.
This table is the shortcut. Match what happened to the most likely cause, then jump to that section.
| What you see | Most likely cause | Who can fix it |
|---|---|---|
| Declined, and your balance is close to the price | Balance doesn't cover amount + hold or FX conversion | You (top up) |
| Declined only at gas pumps, hotels or car rentals | Authorization hold larger than your balance, or prepaid not accepted | You (pay inside, or use another method) |
| Declined online, works in stores | Merchant blocks prepaid cards, or a card-country rule | Merchant (or switch store) |
| A code prompt appears and then checkout fails | 3D Secure challenge failed or expired | You (retry with a fresh code) |
| "Incorrect ZIP" or "incorrect address" | Billing address doesn't match the issuer's records | You (re-enter details) |
| Works for one-off purchases, fails on subscriptions or auto-pay | Merchant refuses prepaid cards for recurring billing | Merchant (or switch method) |
| Worked until a large purchase | Monthly limit or velocity limit reached | You (wait, or move to a higher tier) |
| Declined in one country or at one merchant type | Country restriction or unsupported merchant category | Issuer (contact support) |
| "Card not supported" or "transaction not allowed" | The card program doesn't allow this type of purchase | Issuer (contact support) |
The most common decline is also the least mysterious: insufficient funds. Stripe's description of the code is blunt: "The card has insufficient funds to complete the purchase," per Stripe.
On a prepaid crypto card it catches people for a specific reason. Your wallet may hold plenty of USDT or USDC, but the card can only spend what has been loaded onto it. Crypto sitting in your wallet is not card balance until a top-up completes.
Fix: top up first, and leave a margin. The next two causes explain why a balance that looks exactly right can still fall short.
A purchase in a currency other than your card's currency gets converted, and the conversion is not free. On SolCard, the FX spread is 1-2% on the Virtual card and 0-1.5% on Platinum (see fees).
Say your card holds $100.00 and you buy something priced at the equivalent of exactly $100.00 in euros at the network rate. With a 1.5% spread, the purchase costs $101.50 on your card. That is $1.50 more than your balance, so the issuer declines it.
The same math applies to anything near your limit. A rule of thumb: if you are paying in a foreign currency, keep at least 2-3% more on the card than the converted price.
Some checkouts and terminals also offer to charge you in your home currency instead. Visa says that option "includes exchange rate and additional fees" and that "the choice is yours in deciding to accept or decline the Dynamic Currency Conversion offer," per Visa.
Some merchants reserve more money than you are about to spend. Visa says that at "a hotel, gas station, or car rental," the business "may place a temporary hold on some money in your account," and that the hold "isn't a charge" but "sets aside that amount to make sure you have enough to cover the final bill," per Visa.
On a prepaid card, the hold has to fit inside your loaded balance. If it doesn't, the payment is declined even though the fuel or the room itself would have fit.
Fuel pumps are the classic case. ether.fi, which also issues a crypto card, tells its own cardholders they need at least $175 available to pay at the pump, and that "if your available balance is below $175, the transaction may be declined, even if you plan to buy less fuel," per ether.fi's help centre. The same page suggests paying inside the station when you know how much fuel you need.
Fix: pay inside instead of at the pump, keep a buffer above the expected hold, or use a different payment method for hotel deposits and car rentals. Prepaid cards in general often fail these hold-based authorizations, and SolCard does not guarantee hotel or car-rental holds either. Our guide to booking hotels with crypto covers the safer route: bookings paid in full upfront.
Holds also explain the "my balance is lower than it should be" confusion. A hold is released when the final amount posts, but Visa notes "it may take a few days for the money to become available again," per Visa.
Some merchants decline prepaid cards on purpose, regardless of balance. Payment processors make this a one-line setting. Stripe's rule syntax uses :card_funding: != 'prepaid' as a worked example, and its docs say merchants can use card attributes to "block payments made with prepaid cards," per Stripe.
From your side, this looks like a generic decline that repeats no matter how much you load. The card works everywhere else.
Some merchants restrict prepaid cards for one feature only. TikTok's ad platform, for example, states: "You can't use a prepaid card for automatic payment," per TikTok Ads Help. That is why a card can pay a one-off invoice at a merchant and still fail on that merchant's auto-pay.
Fix: there is no setting on your side that changes this. Check the merchant's payment-methods page, use a manual or one-off payment option if it has one, or pay a different way. We collected merchant-by-merchant behaviour in guides such as does OnlyFans accept prepaid cards.
Many online checkouts run 3D Secure, the step where your issuer may ask for a one-time code before approving. If the code doesn't arrive, expires, or is mistyped, the payment fails. Stripe's decline code for this case reads: "The card was declined because the transaction requires authentication such as 3D Secure," per Stripe.
Merchants can also refuse payments that did not complete 3D Secure at all, which means a missed code is a hard stop rather than a warning.
Fix: restart checkout to get a fresh code instead of waiting on an expired one, and make sure the inbox or phone the codes go to is one you can open. Our 3D Secure explainer covers how the challenge works on a crypto card.
Online checkouts often send the address you type to the issuer for comparison, a check called AVS (address verification). Stripe lists incorrect_zip ("The postal code is incorrect") and incorrect_address ("The address entered by the customer is incorrect") as separate decline codes, per Stripe. Merchants can also block on a failed check with rules like Block if :address_zip_check: in ('fail', 'not_provided'), per Stripe.
Prepaid card holders hit this more often because they don't always remember what address, if any, the card has on file.
Fix: use the billing address registered with your card account, exactly as it appears there, including the postal code. Also re-check the CVC and expiry, which Stripe lists as common causes alongside an incorrect card number, per Stripe.
Merchants can block or review cards issued in a country other than the one you are browsing from. Stripe's own example rule is Block if :card_country: != :ip_country:, which blocks payments "where the issuing country of the card doesn't match the country where the payment took place," per Stripe. Stripe also notes that customers using cards "issued in a different country than where you registered your Stripe account" may see "an increased rate of declines," per Stripe.
A card issued abroad is normal for a prepaid crypto card, so this rule catches crypto card users at some region-locked services, such as streaming and app stores. A VPN can make it worse, because it changes the IP country the merchant sees.
Fix: turn off the VPN and retry. If the service is region-locked to cards from your country, a card issued elsewhere may simply not work there.
Separately, card programs themselves have country restrictions. SolCard is available in most countries but not in a list of restricted ones (including Russia, Iran, Nigeria, Venezuela and others), and US residents can get the Virtual card only, not Platinum.
Cards have spending ceilings, and crossing one produces a decline. Stripe's card_velocity_exceeded code covers a customer who "has exceeded the balance, credit limit, or transaction amount limit available on their card," per Stripe.
Limits can be monthly, per transaction, or velocity-based. Issuers also flag bursts of activity: Stripe notes that suspected fraud "can be triggered by large purchases or a large volume of transactions over a short period of time," per Stripe.
On SolCard, the Virtual card has a $10,000 monthly limit, and Platinum has no monthly limit (see virtual cards). Anything that would take a Virtual card past $10,000 in a month won't go through.
Fix: wait for the limit to reset, split a large purchase across a sensible period, or move to a tier with a higher limit. Don't hammer the retry button: Stripe warns that issuers "might see creating additional retries as potential fraud," per Stripe.
Some declines are about what you are buying or how you are paying. Stripe's card_not_supported code reads "The card doesn't support this type of purchase," per Stripe's decline codes, and Stripe notes that "some card issuers might not allow purchases from certain countries or outside of their own," per Stripe.
The channel matters too. On SolCard, Apple Pay and Google Pay are available on Platinum only. A Virtual card can't be added to a phone wallet, so it is for online and in-app checkouts where you type the card number. Our Apple Pay crypto card guide covers the wallet setup in detail.
Fix: contact your card's support with the merchant name, amount and time. This is the one category where only the issuer can tell you what happened.
Work from cheapest to most expensive check:
- Read the exact error. "Incorrect ZIP", "authentication required" and "insufficient funds" each point to a fix you can make yourself.
- Check your available balance, not your total. Pending holds and foreign-currency conversion both eat into what you can actually spend.
- Try a small purchase at a different merchant. If it works, your card is fine and the first merchant's rules are the problem.
- Turn off your VPN and retry once.
- Look at your card's transaction history. Some programs show declined attempts with a reason.
- Contact your card's support with the merchant name, amount, currency and time. Issuers only discuss decline specifics with the cardholder, per Stripe.
At most everyday merchants, no: a prepaid Visa or Mastercard is processed like any other card on the same network. The gap shows up at a few specific places: merchants that block prepaid cards, region-locked services that check the card's issuing country, recurring billing that refuses prepaid cards, and hold-heavy merchants such as fuel pumps, hotels and car rentals.
If you know which of those you use, you can plan around them: keep a buffer on the card, avoid pay-at-pump and hotel deposits, and pay subscriptions where the merchant accepts prepaid cards. For background on how these cards work, see what is a crypto debit card.
SolCard is a prepaid Visa / Mastercard you top up from a crypto wallet with USDT, USDC, SOL and other tokens across Solana, Ethereum, Base, Polygon and more networks. It needs no bank account and no credit check, and it works anywhere Visa or Mastercard is accepted, online and in-store.
What that means for declines:
- Your balance is already dollars. Crypto converts when you top up, so you can see exactly what the card can spend before you pay.
- Two tiers, two sets of limits. The Virtual card has a $10,000 monthly limit, a 5% top-up fee and a 1-2% FX spread, and needs no ID. Platinum has no monthly limit, a 0% top-up fee and a 0-1.5% FX spread, and requires identity verification.
- Honest limitations. It is a prepaid card, so merchants that block prepaid cards will block it too. Hotel and car-rental holds are not guaranteed. Apple Pay and Google Pay are Platinum only, and Platinum is not available in the US.
The most likely reasons are a hold or conversion that pushes the amount over your balance, a merchant rule that blocks prepaid or foreign-issued cards, or a failed 3D Secure or address check. Check your available balance after pending holds, then try a small purchase at a different merchant to see whether the problem is the card or the store.
Online payments go through extra checks that in-store taps skip: 3D Secure, address verification and merchant fraud rules. Online merchants can also block prepaid cards or cards issued in another country with a single rule, per Stripe.
Pay-at-pump terminals place an authorization hold that can be much larger than the fuel you buy. ether.fi, for example, tells its cardholders that a balance below $175 may be declined at the pump, per ether.fi. Paying inside for a set amount avoids the large hold.
Often yes, but some merchants refuse prepaid cards for automatic or recurring payments while accepting them for one-off purchases. TikTok Ads, for example, says "You can't use a prepaid card for automatic payment," per TikTok. Our guide to paying subscriptions with crypto goes service by service.
It can. Some merchants block payments where the card's issuing country doesn't match the country of your IP address, using rules like :card_country: != :ip_country:, per Stripe. A VPN changes the IP country the merchant sees.
No. Retry once after fixing the obvious cause, then stop. Stripe warns that issuers "might see creating additional retries as potential fraud, which can result in increased declines for legitimate charges," per Stripe.
A declined crypto card is a card problem, not a crypto problem. Most declines come down to available balance (including holds and FX), a merchant rule against prepaid or foreign cards, a failed verification step, or a limit. The triage table above tells you which one you are looking at, and whether the fix is a top-up, a different checkout, or a message to support.
If you want a card where the spendable balance is already in dollars before you pay, you can compare SolCard's tiers or see how SolCard works.




