Billing
Billing
AFA pricing tiers, usage metering, and Stripe billing.
Billing
AFA uses a tiered pricing model with Stripe for payment processing. Usage is metered per analysis and enhancement, with per-tier quotas and rate limits.
Tiers at a glance
| Community | Developer | Team | Enterprise | |
|---|---|---|---|---|
| Monthly | Free | $99 | $499 | Custom |
| Annual | Free | $79.20/mo | $399.20/mo | Custom |
| Analyses/mo | 200 | 2,000 | 10,000 | 50,000 |
| Enhancements/mo | 0 | 50 | 250 | 2,000 |
All paid tiers save 20% with annual billing.
See Tier Comparison for the full breakdown including features, rate limits, overage pricing, and repo limits.
How billing works
- Sign up at portal.undercurrentholdings.com -- starts on Community (free)
- Upgrade via Stripe checkout (monthly or annual)
- Usage tracked per analysis and enhancement call
- Quota enforced -- Community tier is hard-capped; paid tiers allow overage
Usage metering
Every analyze and enhance call (API, CLI, or GitHub App) is recorded in the metering database. You can check your usage:
- Portal: AFA > Account page
- API:
GET /v1/customer/usage - GitHub App: quota status shown in PR comments when nearing limits
Overage
| Tier | Analysis overage | Enhancement overage | Hard cap? |
|---|---|---|---|
| Community | N/A | N/A | Yes (blocked) |
| Developer | $0.05/analysis | $0.50/enhancement | No |
| Team | $0.04/analysis | $0.40/enhancement | No |
| Enterprise | N/A | N/A | No (SLA) |
Community tier is hard-capped: when you hit 200 analyses, further requests are blocked until the next billing cycle. Paid tiers allow overage at the rates above.
Stripe integration
- Checkout sessions created via
POST /billing/checkout - Webhooks handle
checkout.session.completed,customer.subscription.updated,customer.subscription.deleted, andinvoice.payment_failed - Stripe webhooks auto-provision Unkey API keys on checkout and update rate limits on tier changes
- Enterprise tier is not available through self-serve checkout (contact sales)