Skip to content

Lifecycle ​

How a USDC subscription moves from create → activate → renew → fail/retry → cancel, and which webhooks fire.

Happy path ​

Subscription state machine ​

Invoice status flow ​

First charge vs renewals ​

StepAPICharges?
CreatecreateSubscriptionNo. Opens first invoice.
ActivateactivateSubscriptionYes. Completes mandate and pays the first open invoice.
Complete onlycompleteSubscriptionNo. Mandate only; you charge later.
RenewalchargeInvoice or Autlantic workerYes, for later open invoices.

Do not call chargeInvoice on the same invoice immediately after a successful activateSubscription.

Webhook timeline (typical) ​

OrderEventMeaning
1subscription.createdIncomplete subscription stored
2invoice.createdFirst (or renewal) invoice opened
3subscription.activatedMandate active after activate
4invoice.paidCharge succeeded
—invoice.payment_failedCharge failed; see retries
—subscription.past_dueAutomatic retries exhausted
—subscription.updatedPlan / amount / metadata changes
—invoice.refunded / invoice.voidedMoney returned or invoice canceled
—subscription.canceledSubscription ended

Full verify guide: Webhooks.