Hosted billing

Sage Router Billing

Use this page when checkout, plan activation, Stripe billing portal, manual or crypto settlement, invoice recovery, or generated sk_sage_* routing status is unclear.

Generated-key setup URL: https://app.sagerouter.dev/account.html?plan=pro&start=create_key. Hosted model endpoint: https://api.sagerouter.dev/v1.

1

Choose a plan

  • Lite, Pro, and Max are selected from pricing or the account page.
  • Plan links such as /account.html?plan=pro&start=checkout preserve the selected tier through sign-in.
  • Checkout buys routing, account, quota, analytics, and reliability infrastructure.
2

Finish checkout

  • Stripe checkout starts from the signed-in account page.
  • Email verification may be required before checkout, key creation, or manual payment intent creation.
  • Manual and crypto settlement are fallback paths when Stripe is unavailable or a separate activation is agreed.
3

Route with a generated key

  • Create a generated sk_sage_* key after sign-in.
  • Keys can exist before payment, but hosted model traffic is blocked until the account is active, trialing, or manually enabled.
  • Revoked generated keys stay revoked and must be replaced with a fresh key.

Activation states

What each billing state means for API routing.

The public edge enforces the same account state that the hosted account page shows. This keeps generated keys useful for setup while preventing unpaid or suspended accounts from routing model traffic.

Payment recovery: update the Stripe payment method, pay the invoice, or complete the agreed manual settlement before expecting hosted model traffic to resume.

StateCustomer actionAPI behavior
Signed in, no paid planChoose Lite, Pro, or Max and finish checkout or manual activation./v1/* returns guided 402 onboarding instead of provider traffic.
Active or trialingCreate or reuse an active sk_sage_* key and run the quickstart.Model traffic routes within quota, request-per-minute limits, and provider availability.
Past dueUpdate payment method or pay the invoice through Stripe portal.Routing can be blocked until payment recovery updates the account state.
Manual or crypto pendingComplete the agreed settlement and include the intent id in the memo/reference.Routing stays blocked until the operator marks the account active.
SuspendedResolve abuse, chargeback, provider-risk, or security review with support.Routing stays blocked. Payment recovery does not override operator suspension.

Stripe portal

Self-service billing after checkout.

After a Stripe customer is linked, the account page opens the Stripe billing portal for payment methods, invoices, cancellation, and subscription changes. Signed webhooks update the Sage Router customer record and plan quota.

  • Successful subscription create/update events enable active or trialing routing.
  • Failed or uncollectible invoices mark the account past due.
  • Later paid invoice events restore routing unless the account is operator-suspended.

Manual and crypto

Fallback settlement is not instant entitlement.

The account page can create a manual/crypto payment intent with amount, asset, network, address, and intent id. Treat this as a settlement instruction, not automatic API access.

  • Include the intent id in the payment memo or reference.
  • Routing starts only after operator confirmation or a configured processor marks the account active.
  • Do not send wallet private keys, seed phrases, provider credentials, prompts, raw responses, or generated API keys to support.

Safe recovery

What to send when billing or routing looks wrong.

Do not send prompts, workflow text, provider credentials, OAuth tokens, generated API keys, private keys, session cookies, raw provider responses, or customer data in public support channels.

  • Safe: account email, selected plan, timestamp, HTTP status, safe error class, request id, and non-secret key prefix.
  • For 401: confirm the key starts with sk_sage_ and is active in the account page.
  • For 402: use the response upgradeUrl, billingUrl, supportUrl, quota headers, and reset epoch to upgrade, recover payment, or request overflow review without sharing prompts or keys.
  • For 429: check current plan quota and request-per-minute limits.
  • For 503: check public status and include timestamp, request id, route profile, and safe model name only.