Recurring Crypto Payments: How Stablecoin Subscriptions Work and How to Build Them (2026)

Recurring Crypto Payments: How Stablecoin Subscriptions Work and How to Build Them (2026)

On 14 October 2025, Stripe launched stablecoin payments for subscriptions. Its smart contract lets a buyer save a wallet and pay each month with no new signature. A year later, in October 2026, Stripe’s docs still ask firms to request access. So recurring crypto payments are real, but most firms still have to build or pick the tools.

That gap is why forum threads still say it can’t be done. In August 2025, an app maker on Reddit asked how to bill users in crypto each month. The top reply said it would need “perpetual access” to the wallet. That is no longer true. Today, a buyer signs one capped permission they can revoke, and your system pulls the fee on each due date.

This guide shows how that works on Ethereum, layer 2s and Solana. It covers which standard to use, what to do when a renewal fails, the parts you need, the rules, and what a build costs in 2026.

In this guide:

  • No wallet access needed: the customer signs a limit, such as 20 USDC every 30 days for 12 months, and can revoke it at any time.
  • Five ways to pull a payment: ERC-20 approve, ERC-2612 permit, ERC-3009 signed transfers, smart account limits (ERC-4337 and EIP-7702) and Solana token delegates.
  • Failed renewals are cheap to handle: checking a balance on-chain costs no gas, so you can check daily and pull only when funds land.
  • Stripe is the easy route if it fits: USDC only, US businesses first, a US$10,000 cap per payment and a 1.5% fee.
  • Your own system: published 2026 agency cost guides put a gateway at $20,000 to $60,000 white label and $40,000 to $100,000 custom.

What Are Recurring Crypto Payments and How Do They Work?

Recurring crypto payments are fees a firm takes from a buyer’s wallet on a set date, such as each month. They do the same job as a card on file. The difference is how the money moves.

Cards are pull payments. The merchant asks the bank for the money, and the bank pays. Most blockchains are push payments. Only the wallet owner can send funds, and each transfer needs their signature. That is why early crypto billing meant emailing an invoice every month and hoping the customer paid.

There are now three ways around this:

  • Pull with a permission: the customer signs once to let a contract take up to a set amount. This is how Stripe, Coinbase and MetaMask do it.
  • Invoice and remind: you send a payment link each cycle and the customer pushes the payment. It works with any coin, including Bitcoin, but expect more missed renewals.
  • Prepay a term: the customer pays for 6 or 12 months up front, often at a discount. This was the fix the Reddit thread suggested, and it still suits Bitcoin buyers.

The first option is the one that feels like a real subscription. Here is how one renewal flows.

Flow diagram of how a recurring crypto payment renews each month, from the customer signing a capped USDC permission to the scheduler check, relayer pull, token transfer and ledger update

The key point is that the limit lives on-chain. Your contract can’t take more than the customer allowed, faster than they allowed, or after the end date. And the customer can cancel from their wallet without asking you.

The Five Standards Behind Crypto Subscriptions

Which tool you use depends on two things: the customer’s wallet and the token. Each status below was checked at eips.ethereum.org on 16 October 2026.

Method Status (16 Oct 2026) What the customer signs Re-sign each month? Best for
ERC-20 approve Final One on-chain approval, with gas No Any ERC-20, including USDT
ERC-2612 permit / Permit2 ERC-2612 Final; Permit2 is a Uniswap contract One off-chain signature No USDC and other permit tokens
ERC-3009 signed transfer Draft One signature per payment Yes, or pre-sign a batch USDC with no standing allowance
Smart account permission ERC-4337 and EIP-7702 Final; ERC-7715 Draft One permission with a period No Coinbase and MetaMask smart accounts
Solana SPL delegate SPL Token program One approval of a delegate No USDC and USDT on Solana

1. ERC-20 Approve and TransferFrom

ERC-20 has always had a pull feature. The owner calls `approve` to let a spender take up to a set amount. The spender then calls `transferFrom` when a payment is due. Your billing contract is the spender, and it checks the schedule before each pull.

The catch is the amount. Many apps ask for an “unlimited” approval to save the buyer a step. Never do this for billing. Ask for the plan price times the term, such as 240 USDC for 12 months at 20 USDC. That way, a bug or a hack in your contract can’t drain more than that. Also, an approval costs gas, and it does not reset each month.

2. ERC-2612 Permit and Permit2

ERC-2612 lets the buyer set that same limit with a free signature, so no transaction is needed. Your relayer submits it, so the customer needs no gas token. Circle confirms that USDC supports permit, ERC-3009 and Permit2.

Not every token has permit. For those, Uniswap’s Permit2 works with any ERC-20. The customer approves Permit2 once per token. After that, it can give your contract a limit with both an amount and an end date, which suits a fixed-term plan.

3. ERC-3009 Transfer With Authorization

ERC-3009 is still a Draft, but USDC has used it for years. It creates no allowance at all. Instead, each signature moves one exact amount, and only inside a time window set by `validAfter` and `validBefore`.

This allows a neat trick. The customer can pre-sign 12 transfers, each valid only in its own month. Your system holds them and submits one per cycle. Nonces are random, so they can be used in any order, and the customer can void one with `cancelAuthorization`. Use `receiveWithAuthorization` when your contract makes the call. That stops anyone who sees the signature from sending it before you do.

4. Smart Accounts: ERC-4337, EIP-7702 and Session Keys

ERC-4337 turned wallets into smart contracts that can run their own rules. EIP-7702, live on Ethereum since 7 May 2025, lets a normal wallet add that smart code while keeping the same address. Both are Final.

A smart account can grant a session key or a spend permission: a key your app holds that can do only one narrow job. For billing, that job is “send up to 20 USDC to this merchant every 30 days until this date.” Two live examples:

  • Coinbase: Spend Permissions set a token, an allowance, a period in seconds, a start and an end. The allowance resets each period, and subscriptions are a listed use case. It runs on Base, Ethereum and four more chains, such as Polygon.
  • MetaMask: Advanced Permissions use ERC-7715, still a Draft. Periodic token limits work in the main extension from version 13.23.0. The user needs a MetaMask smart account and can revoke under “Dapp connections.”

This is the best user experience today. The customer sees a clear limit in their own wallet, and the period resets on its own. The downside is reach. It only works for customers on wallets that support it, so keep a fallback.

5. Solana Token Delegates

Solana has no ERC-20, but its token program has a similar tool. The SPL Token docs say an owner can use `Approve` to let a delegate move “up to the amount they’ve been delegated,” and can end it with `Revoke`.

Two limits shape the design. First, a token account holds one delegate at a time, so a new app’s approval replaces yours. Second, the amount does not reset each month. So set the delegate to your program, cap it at the full term, and let the program enforce the schedule. Treat a missing delegate as a cancel, and ask the customer to sign again.

Decision tree for choosing a recurring crypto payment method: smart account spend permission, capped ERC-2612 or Permit2 allowance, Solana SPL delegate, or invoice and prepaid term for Bitcoin

Skip two older subscription standards you may see in search: ERC-1337 and ERC-5643 are both marked Stagnant.

The Architecture of a Recurring Crypto Billing System

A working subscription system is much more than a smart contract. Most of the work sits off-chain. These are the parts you need:

  • Plans and prices: trials, seats, upgrades and tax. Price in dollars and bill in stablecoins.
  • Sign-up flow: links the wallet, shows the exact limit and asks for the right kind of permission.
  • Billing contract: stores each plan’s amount, period and end date, and refuses any pull that breaks them. This is the part to audit.
  • Scheduler: finds each renewal that is due. Use your own job queue or a network such as Chainlink Automation or Gelato.
  • Relayer and paymaster: sends the pull and pays the gas, so the customer never needs ETH or SOL.
  • Chain watcher: confirms each transfer before an invoice is marked paid.
  • Ledger and webhooks: records each payment once, even if an event comes twice, then tells your app to extend access.
  • Dunning service: reminders, checks and grace periods, covered in the next section.
  • Checks and payouts: address screening, records, and payouts in local money if the merchant wants them.

Webhooks also answer a common forum request. Group owners who take USDC by hand want a Discord or Telegram role to switch on and off by itself. A paid invoice adds the role, and a cancel removes it.

For one-time checkout, see our guide on how to integrate a crypto payment gateway. And wallet-as-a-service can give new users a smart account at sign-up.

How to Handle Failed Recurring Crypto Payments

Cards fail for many reasons, and Stripe retries them for you. Its recommended default is 8 tries within 2 weeks. Crypto renewals fail for fewer, clearer reasons, and each one has its own fix:

  • Balance too low: the most common case. Send a top-up link with the exact amount, token and chain.
  • Allowance used up or revoked: ask for a new permission. A revoke usually means the customer wants to cancel.
  • Permission expired: the term ended. Ask them to renew with one signature.
  • Address frozen: issuers such as Circle and Tether can freeze an address. Stop pulling and review it.

The good news is that checks are free. Reading a balance or allowance on-chain costs no gas. So you never need a “retry” that fails and costs money. Check first, and pull only when the money is there.

Dunning timeline for a failed recurring crypto payment, from a balance check five days before renewal to a grace period, paused access and cancellation, with common causes of failure

Also, plan for the lack of chargebacks. Stripe’s stablecoin docs say there are no disputes, and refunds go back to the first wallet. So publish a clear refund policy.

Launch Stablecoin Subscriptions on Your Own Gateway

Recurring Crypto Payment Development — done right.

  • Capped permissions: Spend permissions, ERC-2612 permit, Permit2 and Solana delegates, each with a clear limit and end date
  • Billing engine: Plans, trials, upgrades, scheduler and relayer with paymaster-covered gas
  • Dunning built in: Free on-chain balance checks, reminders, grace periods and webhook-driven access control
  • Merchant tools: Ledger, signed webhooks, address screening and optional fiat payouts

Built on a tested crypto payment gateway base, with audited smart contracts.

Book a Free Demo to see how recurring stablecoin billing can run inside your own brand.

Build, White Label or Use a Processor?

You have three main routes. The right one depends on your volume, your markets and how much control you need.

Route Good fit Watch out for Typical cost
Stripe stablecoin subscriptions US SaaS already on Stripe Billing Preview access, USDC only, US$10,000 cap per payment 1.5% per payment
White label gateway with a billing module Firms that want their own brand and rules fast Check which standards and chains it supports $20,000 to $60,000
Custom build Payment firms, platforms and high volume Longer build, audit and upkeep $40,000 to $100,000; $100,000 to $300,000+ from scratch

Cost ranges come from published 2026 agency cost guides for crypto payment gateways. What drives cost: the number of chains and permission types, whether you hold funds, fiat payouts, the audit and compliance tools.

A Worked Example

Say you run a SaaS tool at $20 a month, and 1,000 customers want to pay in USDC.

  • Cards: at Stripe’s standard US price of 2.9% + 30 cents, each charge costs $0.88. That is $880 a month.
  • Stripe stablecoin: at 1.5%, each charge costs $0.30. That is $300 a month, or $3,600 a year.
  • Your own system: no percentage fee. You pay gas for 1,000 pulls a month, plus hosting and upkeep.

At this size, saving $3,600 a year does not pay back a $20,000+ build. Your own system makes sense when you bill far more, sell outside the US, need USDT or more chains, or sell billing to other merchants.

How to Launch Stablecoin Subscriptions in 7 Steps

  1. Pick tokens and chains. Start with USDC on one or two low-fee networks, such as Base, Polygon or Solana. Add USDT where your buyers hold it.
  2. Choose your permission types. Use spend permissions for smart account users, permit or Permit2 for normal EVM wallets, and delegates on Solana. Keep invoice links as a fallback.
  3. Set the limits. Cap each permission at the plan price, the period and the term. Leave room for tax, but never ask for an unlimited amount.
  4. Build and audit the contract. Keep it small: check the amount, the period and the end date, then move funds. Get an outside audit before mainnet. Our smart contract development team builds and tests these contracts.
  5. Wire the off-chain parts. Connect the scheduler, relayer, chain watcher, ledger, webhooks and dunning to your billing system.
  6. Test on testnet. Run every path: a new plan, a renewal, a top-up, a revoke, an upgrade and a refund.
  7. Launch with a small group. Offer crypto next to cards first, watch failed renewals, then roll it out.

Coinsclone publishes 6 to 9 weeks for a standard crypto payment gateway, and 10 to 14 weeks with conversion and payouts. Recurring billing adds scope on top, so set the timeline in scoping.

Rules That Apply to Recurring Crypto Payments

The rules turn on one question: do you ever hold the buyer’s money? A contract that pays the merchant straight from the buyer’s wallet carries less risk than a gateway that holds funds. Still, check each market.

  • United States: firms that move value for others often register with FinCEN as a money services business, and most states add their own licence.
  • European Union: under MiCA, firms that hold or transfer crypto for clients need a licence. The transition periods ended by 1 July 2026 at the latest.
  • Stablecoin issuers: the US GENIUS Act, signed on 18 July 2025, sets rules for issuers and takes effect by 18 January 2027 at the latest. So favour coins from licensed issuers.
  • Auto-renew laws: these apply however the buyer pays. Show the price, the period and how to cancel before they sign.
  • Phone apps: paid features inside an iPhone app fall under Apple’s App Store rules. Since May 2025, US apps may link out to web checkout, so a crypto plan usually lives on your site.

For more on the gateway side, see our guide to the stablecoin payment gateway.

Common Mistakes to Avoid

These are the traps that show up again and again in forum threads and vendor guides:

  • Unlimited approvals: they turn a small bug into a full drain. Cap every permission.
  • Billing in volatile coins: a monthly BTC or ETH charge changes value every day. Price in dollars and pull stablecoins.
  • Phishing look-alikes: scammers also use permit signatures to drain wallets. Show your contract address and limit clearly, so your requests look nothing like a scam.
  • One chain only: buyers hold USDC on many networks, so a pull on the wrong one fails. Support the two or three they use most.
  • Buyer pays gas: if they must hold ETH or SOL, many renewals fail. Pay the gas for them.

How to Choose a Partner and Prepare for a Scoping Call

A good partner should explain which permission types they will build and why, show audited contracts, and walk you through a failed renewal from start to finish. Ask what they have shipped beyond one-time checkout.

Before the call, prepare:

  • Your plans, prices and billing periods
  • The tokens and chains your customers hold
  • Expected subscribers in year one and year two
  • Whether merchants need payouts in local money
  • Target markets, and any licence you hold or plan to apply for
  • How paid status should unlock your product

Coinsclone has been building crypto products since 2018 and has delivered 350+ platforms for 200+ clients across 20 industries. To add this to your own gateway, our crypto payment gateway team can scope it with you.

Frequently Asked Questions

Can you do recurring payments with crypto?

Yes. The customer signs a capped permission once, and a contract pulls the fee on each due date. Stripe, Coinbase and MetaMask all offer this today for stablecoins such as USDC. For coins with no permission feature, such as Bitcoin, you send an invoice each cycle or sell a prepaid term.

Does a crypto subscription give the merchant access to my whole wallet?

No. A well-built subscription only lets the merchant take a set amount, on a set schedule, until an end date. The limit is enforced on-chain, so the merchant can’t take more. You can also revoke it from your wallet at any time.

Can I accept Bitcoin for recurring payments?

Not as an automatic pull. Bitcoin has no approval feature, so every payment needs the owner to send it. Most businesses send a payment link each cycle, or sell 6 or 12 months up front. For hands-off billing, ask buyers to pay in a stablecoin.

How do I cancel a recurring crypto payment?

Cancel in the merchant’s app, and also revoke the permission in your wallet. In MetaMask, these sit under “Dapp connections.” Other wallets have a similar page, and a revoke tool can clear old token approvals. Once revoked, the next pull fails.

Does Stripe support stablecoin subscriptions?

Yes, but as a preview. Stripe launched it in October 2025 for US firms, with USDC on Base and Polygon. As of October 2026, its docs still ask firms to request access. Funds land in your Stripe balance in local money, with a US$10,000 cap per payment.

What happens if the wallet doesn’t have enough funds?

The pull fails and no money moves. A good system checks the balance a few days before renewal and sends a reminder. If the renewal still fails, it keeps checking during a short grace period, then pauses access until the customer tops up.

Who pays the gas fees on recurring crypto payments?

Usually the merchant or the payment provider. A relayer sends each pull, and a paymaster can cover the gas, so the customer needs no ETH or SOL. The customer may pay gas once for a first approval, unless the token supports a free signature such as permit.

Can I automate crypto subscriptions for a private Discord or Telegram group?

Yes. Connect your billing webhooks to a bot that manages roles. A paid renewal keeps the role, and a cancel, revoke or missed grace period removes it. This replaces the checks many group owners still do by hand.

Can you set up recurring payments on Solana?

Yes. The SPL Token program lets an owner approve a delegate to move tokens up to a set amount. Your program becomes the delegate and pulls once per period. Note that each token account holds one delegate at a time, so another app’s approval can replace yours.