Billing & Subscriptions

Manage your Xerotier.ai subscription, purchase credits, view invoices, and control your billing through the integrated Stripe payment system.

Overview

Xerotier.ai uses Stripe for payment processing. Your project's billing is managed through the billing dashboard at /billing, which provides subscription management, credit purchases, invoice history, and access to the Stripe customer portal.

Billing is tied to your project, not your individual user account. Project owners manage billing settings and subscriptions on behalf of their team.

For detailed usage tracking, per-request analytics, and uptime billing data, see Usage Tracking & Billing.

Owner Required: Only project owners can access billing settings. If you need to manage billing, ask a project owner to grant you the owner role. See Teams & User Management for details on roles.

Subscription Plans

Xerotier.ai offers tiered subscription plans that determine your project's capabilities and resource limits. Visit /billing/plans to compare available plans.

Each plan includes:

  • Account tier: Free or Premium, which affects default quotas and storage limits
  • Resource quotas: Maximum requests per minute, concurrent requests, and burst limits
  • Storage allocation: 4 GB for free tier, 500 GB for premium tier (overridable per project)
  • Included credits: Monthly credit allocation for per-token inference billing

See Service Tiers for a detailed comparison of plan features and limits.

Checkout Flow

To subscribe or upgrade your plan:

  1. Navigate to /billing/plans and select your desired plan
  2. Click the subscribe button to initiate a Stripe checkout session
  3. Complete payment in the Stripe-hosted checkout page
  4. You are redirected to the success page upon completion

After successful checkout:

  • Your project's account tier is updated immediately
  • New resource quotas take effect right away
  • Storage limits are updated to match the new plan
  • A Stripe customer ID is associated with your project for future billing

Checkout Cancellation: If you cancel the Stripe checkout before completing payment, no changes are made to your subscription. You can restart the checkout process at any time.

Managing Your Subscription

The billing overview page at /billing shows your current plan, credit balance, and billing status.

Stripe Customer Portal

For detailed billing management, access the Stripe customer portal via /billing/portal. The portal allows you to:

  • Update payment methods (credit card, bank account)
  • Change billing information (name, address, tax ID)
  • View and download past invoices
  • Manage your subscription directly

Checking Your Subscription

Retrieve your current billing overview to see your plan, credit balance, and billing status.

curl
curl https://xerotier.ai/billing \ -H "Authorization: Bearer xero_my-project_abc123"
Python
import requests headers = {"Authorization": "Bearer xero_my-project_abc123"} response = requests.get( "https://xerotier.ai/billing", headers=headers ) billing = response.json() print(f"Plan: {billing.get('accountTier')}") print(f"Credits: {billing.get('creditsBalance')}")
Node.js
const response = await fetch( "https://xerotier.ai/billing", { headers: { "Authorization": "Bearer xero_my-project_abc123" } } ); const billing = await response.json(); console.log(`Plan: ${billing.accountTier}`); console.log(`Credits: ${billing.creditsBalance}`);

Cancelling Your Subscription

curl
curl -X POST https://xerotier.ai/billing/cancel \ -H "Authorization: Bearer xero_my-project_abc123" \ -H "X-CSRF-Token: your-csrf-token"
Python
import requests headers = { "Authorization": "Bearer xero_my-project_abc123", "X-CSRF-Token": "your-csrf-token" } response = requests.post( "https://xerotier.ai/billing/cancel", headers=headers ) print(response.json())
Node.js
const response = await fetch( "https://xerotier.ai/billing/cancel", { method: "POST", headers: { "Authorization": "Bearer xero_my-project_abc123", "X-CSRF-Token": "your-csrf-token" } } ); const data = await response.json(); console.log(data);

Billing Routes

Endpoint Method Description
/billing GET Billing overview page
/billing/plans GET Plan selection and comparison
/billing/invoices GET Invoice history
/billing/checkout POST Create a Stripe checkout session
/billing/credits POST Purchase additional credits
/billing/cancel POST Cancel subscription
/billing/reactivate POST Reactivate cancelled subscription
/billing/portal POST Open Stripe customer portal

Credits

Credits are the currency used for per-token inference billing on shared agents. Your project's credit balance is shown on the billing overview page and the usage dashboard.

How Credits Work

  • Each inference request on a shared agent deducts from your credit balance based on token count and model pricing
  • Credits are tracked at the project level as creditsBalance
  • XIM node usage does not consume credits (it uses hourly billing instead)

Purchasing Credits

Purchase additional credits via POST /billing/credits. Credits are added to your project balance immediately after successful payment through Stripe.

curl
curl -X POST https://xerotier.ai/billing/credits \ -H "Authorization: Bearer xero_my-project_abc123" \ -H "Content-Type: application/json" \ -H "X-CSRF-Token: your-csrf-token" \ -d '{"amount": 5000}'
Python
import requests headers = { "Authorization": "Bearer xero_my-project_abc123", "Content-Type": "application/json", "X-CSRF-Token": "your-csrf-token" } response = requests.post( "https://xerotier.ai/billing/credits", headers=headers, json={"amount": 5000} ) print(response.json())
Node.js
const response = await fetch( "https://xerotier.ai/billing/credits", { method: "POST", headers: { "Authorization": "Bearer xero_my-project_abc123", "Content-Type": "application/json", "X-CSRF-Token": "your-csrf-token" }, body: JSON.stringify({ amount: 5000 }) } ); const data = await response.json(); console.log(data);

Delinquent Projects

If your project's credit balance reaches zero and you continue to use shared agents, the project may be marked as delinquent. Delinquent projects:

  • Are flagged with isDelinquent: true and a delinquentAt timestamp
  • May have reduced service or suspended endpoints
  • Can be restored by purchasing additional credits or upgrading your plan

Invoices

View your invoice history at /billing/invoices. Invoices are generated by Stripe and include:

  • Subscription charges
  • Credit purchases
  • Payment status and date

For detailed invoice management (downloading PDFs, updating billing details), use the Stripe customer portal.

Cancellation & Reactivation

Cancelling Your Subscription

Cancel your subscription via POST /billing/cancel. When you cancel:

  • Your subscription remains active until the end of the current billing period
  • Existing credit balance is preserved
  • After the period ends, your project reverts to the free tier
  • Free tier quotas and storage limits apply (4 GB storage, reduced rate limits)

Reactivating Your Subscription

If you cancelled but the billing period has not yet ended, you can reactivate via POST /billing/reactivate. Reactivation restores your previous plan settings immediately.

After Period Ends: If the billing period has already ended after cancellation, you will need to go through the checkout flow again to start a new subscription.

Frequently Asked Questions

Who can manage billing?

Only project owners can access billing pages and make changes. Team members with the "member" role do not have access to billing settings. See Teams & User Management for details.

What payment methods are accepted?

Xerotier.ai uses Stripe for payments. Stripe supports credit cards, debit cards, and other payment methods depending on your region. Manage your payment methods through the Stripe customer portal.

Do credits expire?

Credit expiration policies depend on your subscription plan. Check the plan details on the billing page for specific terms.

What happens when my credits run out?

When your credit balance reaches zero, shared agent inference requests may be rejected. XIM nodes are not affected as they use hourly billing. Purchase additional credits or upgrade your plan to restore service.

Can I get a refund?

Refund requests are handled through Stripe. Contact support for refund inquiries.