Use this file to discover all available pages before exploring further.
Stablecoin Subscriptions is StablePay’s product for recurring stablecoin billing. It helps merchants manage the full subscription lifecycle: creating subscriptions, completing initial wallet authorization, charging automatically by billing cycle, handling renewal failures and retries, canceling subscriptions, and synchronizing business state through webhooks.The product is different from Stablecoin Checkout. Checkout is for one-time payments. Subscriptions are for repeat billing. The customer first completes an on-session wallet authorization in StablePay Hosted Checkout. StablePay then creates invoices for each billing cycle and attempts off-session renewal charges using the saved authorization.
Automatic recovery after a failed renewal is called dunning. Renewal payments can fail because of wallet balance, authorization, network, or compliance conditions. When the latest amount due cannot be charged, StablePay can move the subscription to past_due, send webhooks, and apply the default retry strategy.Default retry timing:
Retry
Timing
1
5 minutes after failure
2
30 minutes after failure
3
2 hours after failure
4
20 hours after failure
If any retry succeeds, the invoice becomes paid, the subscription can return to active, and the next billing cycle continues. If all retries fail, the subscription automatically becomes canceled and no new billing cycles are generated.Merchants should avoid notifying customers on every retry failure. A better pattern is to send one balance or wallet reminder after the first failure, then apply your product policy for grace periods, feature restrictions, or temporary continued access.
The current billing period remains valid. The subscription becomes canceled when the period ends.
Show that the subscription will end at period end, then remove entitlement after current_period_end.
Cancel now
The subscription ends immediately.
End entitlement immediately or enter your refund / support workflow.
Cancel-at-period-end usually updates cancellation fields first, such as cancel_at_period_end=true. The subscription is not actually ended until subscription.canceled is received. Merchants should not treat subscription.updated as final cancellation.
Webhooks are the source of truth for subscription integrations. Use subscription.id and event_id for idempotency, and apply the latest object from the webhook payload to avoid state rollback from out-of-order events.
Start with “start now and charge immediately” to validate conversion, customer support load, webhook processing, and reconciliation. Add trial after activation and renewal handling are stable. Add “start now and charge later” only when the business needs aligned billing dates or future first-charge behavior.
Merchants adding stablecoin billing to existing card subscriptions
Offer StablePay as a parallel subscription payment option instead of replacing existing card subscriptions directly. When a customer chooses to switch, create a new StablePay subscription and set the original card subscription to cancel at period end to avoid charging twice for the same entitlement.
Stablecoin Subscriptions currently support creating subscriptions in USD, with stablecoin charging and settlement in USDT / USDC. Subscription flows can support wallets such as MetaMask, Binance Wallet, OKX Wallet, and WalletConnect, and networks such as Ethereum, BNB Smart Chain, and Solana.StablePay Subscriptions Checkout does not support scan-to-address or copy-address transfer payment. Recurring billing requires the customer to authorize future charges through a supported connected-wallet flow.Actual availability can vary by merchant configuration, environment, and compliance requirements. For complete coverage, see Supported Wallets, Supported Networks, and Currencies & Auto Currency Conversion.
Initial wallet authorization is required before automatic renewal charges can occur.
Subscriptions Checkout supports connected-wallet authorization only and does not support QR/address transfer payment.
subscription.created does not mean the customer has authorized or paid. Grant final paid access from webhook outcomes.
subscription.active means the subscription is in a renewable state, but invoice.paid is the more direct signal that money was received for a billing period.
Refunds happen against payments, not directly against subscription objects.
Webhooks should be treated as the source of truth for entitlement, service access, and internal billing state.