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:
- Navigate to
/billing/plansand select your desired plan - Click the subscribe button to initiate a Stripe checkout session
- Complete payment in the Stripe-hosted checkout page
- 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 https://xerotier.ai/billing \
-H "Authorization: Bearer xero_my-project_abc123"
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')}")
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 -X POST https://xerotier.ai/billing/cancel \
-H "Authorization: Bearer xero_my-project_abc123" \
-H "X-CSRF-Token: your-csrf-token"
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())
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 -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}'
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())
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: trueand adelinquentAttimestamp - 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.