Lifecycle states
A subscription moves through the following states:- Active — the customer has a valid subscription and receives the entitlements attached to the plan.
- Pending plan change — the current paid access is still live, but a future downgrade or renewal-boundary change has already been scheduled.
- Needs attention — renewal or billing has failed and requires follow-up from the customer.
- Cancelled — future billing has stopped. Downstream access should be updated from the latest entitlement state or webhook events.
Always treat the entitlement resolution result and webhook events as the authoritative source of access state — not the last client-side screen the customer saw.
How subscriptions are activated
You can activate a subscription in two ways: ViaArcenEmbed — when a customer completes a checkout flow in the published billing surface, the subscription is activated automatically.
Via client.activateSubscription() — activate programmatically from your server using the Node SDK. This is useful for provisioning flows where you need to activate a subscription outside of the standard UI.
paymentAccount is an EVM address, a Stellar account, or a Solana base58 address depending on the chain.
Supported operations
Auto-renewal
ArcenPay handles automated renewal processing. You do not need to implement renewal logic yourself. When a renewal succeeds or fails, ArcenPay emits webhook events that you can use to update your application state.Accepted vs verified vs applied
ArcenPay treats recurring billing changes as lifecycle requests:- Accepted: the request was recorded and has a durable
transitionId. - Verified: required on-chain billing actions have enough confirmations.
- Applied: the ledger, subscription state, invoices, and webhooks all reflect the final result.
Downgrade scheduled, Pending verification, or Pending recovery instead of pretending the final billing outcome already happened.
Key webhook events
Checking subscription access
Use the React SDK for UI gating and the Node SDK for authoritative server-side checks.Next steps
- Feature entitlements and flags — check what access a subscription grants at both the React and server layers.
- Sessions and access tokens — mint short-lived tokens for server-controlled embed surfaces.

