Guide

Stablecoin payments for subscriptions

How to bill subscriptions in stablecoins when the customer sends each payment themselves: one payment per period, reminders, a grace period and what happens when a renewal is missed.

A card can be charged automatically each month. A stablecoin transfer cannot: the customer sends it. Qvard does not offer automatic recurring debits, so a subscription is a series of payments the customer approves each period. This guide shows how to design billing around that, and where it is a better fit than you might expect.

One payment per period

For each billing period, create a payment with a POST to https://api.qvard.com/api/v1/payment. Make the id unique per subscription and period, for example sub-1042-2026-11, and set price to the plan price in US dollars. Send the redirectUrl to the customer by email.

The same id returns the existing payment, so a resent reminder points to the same link instead of creating a duplicate. When the payment is completed, Qvard sends a webhook with that id; your handler extends the subscription by one period. A code example is in crypto payments for SaaS.

Reminders and grace

Because nothing is charged automatically, reminders are your retention tool. A pattern that works for many businesses (a suggestion, not a Qvard feature):

  1. send the payment link a few days before the period ends;
  2. send one more reminder on the due date;
  3. keep access for a short grace period after it;
  4. then pause the subscription and keep the data for easy reactivation.

Tell customers that the rate on the payment page is fixed for one hour, so they should pay when they open the link.

Where this fits well

Pushed payments suit some subscriptions better than card auto-debit:

  • Annual or quarterly plans, where one payment a year is natural and you can offer a discount for paying upfront.
  • B2B customers who approve every payment through their own process anyway.
  • Customers abroad whose cards fail on recurring charges.

They suit worse a cheap monthly consumer plan where friction at every renewal costs you subscribers. In that case offer crypto as an option beside cards, not instead of them.

Operations and cost

Treat a missed renewal as normal. Do not fail silently: show the payment link in the account, keep your handler safe to run twice and answer exactly HTTP 200. For short payments (the partial status) the webhook is not sent; extend nothing until the difference arrives. See how to handle USDT underpayments.

There is no subscription fee from Qvard. The commission is individual to your project and, per the pricing page, starts at 1% and can go down to 0.1%. Withdrawal to your own wallet costs the network fee only.

FAQ

Can Qvard charge customers automatically every month?

No. A crypto transfer is sent by the customer. You create a new payment each period and the customer approves it.

How do I avoid duplicate payments for one period?

Use one id per subscription and period. Repeating the request with the same id returns the existing payment.

Are annual plans a good fit?

Yes. One payment a year means little friction, and you can offer a discount for paying upfront.

Related articles

Related articles