Billing & Plans
XnoleX offers a free Demo tier and two paid Pro tiers. Billing is powered by Stripe and supports monthly and annual payment cycles.
Available Plans
| Feature | Demo (Free) | Monthly Pro ($49/mo) | Yearly Pro ($470/yr) |
|---|---|---|---|
| Total Scans | 5 | 60 | 120 |
| Targets | 3 | Unlimited | Unlimited |
| Concurrent Scans | 1 | 3 | 5 |
| Reports | No | Yes | Yes |
| API Access | No | Read + Scan | Read + Scan |
| Email Alerts | No | Yes | Yes |
| Export | No | Yes | Yes |
| Priority Support | No | No | Yes |
Stripe Integration
All payment processing is handled through Stripe. XnoleX does not store any credit card information. Stripe manages the full checkout flow, subscription lifecycle, and webhook notifications.
14-Day Trial
Both paid plans include a 14-day trial period. During the trial, you have full access to all features of the selected tier. Charges begin after the trial period ends unless cancelled.
Upgrade & Downgrade
You can change your plan at any time from the Settings page. Changes are handled through Stripe with proration:
- Upgrade: You are charged the prorated difference for the remainder of the current billing period.
- Downgrade: The new tier takes effect at the start of the next billing period. No refund for the current period.
Cancellation
Subscription cancellation takes effect at the end of the current billing period. You retain access to all features until the period ends. After cancellation, your account reverts to the Demo tier with its associated limits.
Usage Tracking
Your current usage is tracked and can be queried via the API:
curl -H "Authorization: Bearer ACCESS_TOKEN" \
http://localhost:8000/api/v1/subscriptions/usageResponse:
{
"tier": "monthly",
"scans_used": 12,
"scans_limit": 60,
"targets_used": 5,
"targets_limit": -1,
"concurrent_limit": 3
}A -1 value for targets limit indicates unlimited targets.
Upgrade via API
Initiate a new subscription or upgrade through the API:
curl -X POST http://localhost:8000/api/v1/subscriptions/checkout \
-H "Authorization: Bearer ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"tier_slug": "monthly"
}'This returns a Stripe checkout URL. Redirect the user to complete payment. After successful payment, Stripe sends a webhook to activate the subscription.