Billing & Plans
RedStick AI offers tiered plans with per-seat pricing and usage-based limits.
Plans#
| Feature | Free | Pro | Team | Business |
|---|---|---|---|---|
| Max seats | 1 | 1 | Unlimited | Unlimited |
| Max projects | 1 | Unlimited | Unlimited | Unlimited |
| Concurrent Runs | 1 | 2 | 3/user (tenant max 30) | 5/user (tenant max 75) |
| Max services | 1 | 5 | Unlimited | Unlimited |
| Preview idle timeout | 15 min | 30 min | 2 hours | 2 hours |
| Max execution time | 30 min | 2 hours | 24 hours | 24 hours |
| Notification retention | 30 d | 90 d | 180 d | 365 d |
| Admin RBAC (role management) | — | — | — | Yes |
| Seat price (monthly) | $0 | $19/seat | $39/seat | $79/seat |
| Seat price (annual) | $0 | $16/seat | $32/seat | $64/seat |
View available plans from the Team & Billing page in the sidebar.
Compute-minute metering#
Every Run consumes compute-minutes — active execution seconds
(excluding time the Run spends paused in AWAITING_APPROVAL or
AWAITING_USER states) accumulated from RUNNING to terminal
(completed / failed / cancelled), rounded up to the next full minute.
Pauses for human approval are not billed. Each plan includes a
per-user monthly bundle:
Free-tier billing period: Free accounts do not use a calendar month. Your compute-minute quota resets on the same day-of-month you signed up (the signup anchor), rolling forward each month with end-of-month capping (e.g., a Jan 31 signup anchors to Feb 28/29). The reset date is shown in the Compute minutes meter tooltip on the Team & Billing page.
| Plan | Included compute-minutes / user / month |
|---|---|
| Free | 60 |
| Pro | 500 |
| Team | 1,500 / seat |
| Business | 5,000 / seat |
Once you cross 80% of your bundle, a dismissible warning banner appears in the app. At 100%, you enter overage territory.
By default the overage budget is $0.00 (a hard-stop): new Runs are
rejected at create time with a PlanLimitError(limit_type="overage_budget_exceeded")
and a banner prompts you to raise the budget or upgrade. Workspace
owners can set a non-zero overage budget on the Team & Billing page
to allow additional usage up to a capped dollar amount per period.
Overage (minutes accrued beyond the bundle) bills via Stripe metered billing — it appears as a separate line item on your next invoice alongside seat fees. Overage is not available on the Free plan: when the free bundle is exhausted, new Runs are blocked until the next period reset. Overage rates for paid plans:
| Plan | Overage rate |
|---|---|
| Pro | $0.02 / minute |
| Team | $0.02 / minute |
| Business | $0.01 / minute (volume discount) |
Admins can grant extra minutes, raise per-user bundles (quota override), or reset a user's period counters from the admin console — each action is recorded in the audit log. These operations are per-user, not tenant-wide.
Billing Cycle#
Subscriptions can be billed monthly or annually. Annual billing typically offers a discount. Existing paid subscribers can switch between cycles directly from the Team & Billing page (the "Switch to annual/monthly billing" link in the cost panel) without going through a new checkout. A prorated credit for the remainder of the current period is applied automatically on the next invoice.
Subscription Management#
Only workspace owners can manage billing.
Viewing Status#
The Team & Billing page shows your current plan, usage meters, and team membership. The top strip displays:
- Current plan name, billing cycle, and next billing date
- Live usage meters: compute minutes, concurrent Runs, seats, projects
- Computed seat cost (seat price × seat count × billing cycle)
- Overage budget progress (paid plans only)
Tabs below the strip provide Members, Invitations, and Invoices views.
Upgrading#
Click Upgrade to [Plan] to start a Stripe checkout session. A modal lets you choose the billing cycle before redirecting to Stripe's hosted checkout page. Existing paid subscribers can change plans directly (upgrades take immediate effect; downgrades between paid tiers are deferred to the next billing anchor). When a paid-tier downgrade is pending, an amber banner at the top of the billing strip shows the target plan and effective date, and a Cancel downgrade button lets you revert the request before it takes effect.
Managing Payment Method#
On the Invoices tab, click Manage billing to open the Stripe customer portal where you can:
- Update payment methods
- View billing history
- Download invoices
Canceling#
Cancel your subscription from the billing page (takes effect at period end). You can reactivate before the period ends.
Downgrading#
Downgrade from the billing page. For paid-tier-to-paid-tier downgrades (e.g., Business → Team), the change is deferred to the next billing anchor. For downgrades to the Free plan, the system validates that your current usage is within free tier limits (projects ≤ 1, services ≤ 1, seats ≤ 1) before allowing the change. If any limit would be exceeded, the API returns the specific violations so you can clean up first.
Overage Budget#
Workspace owners on paid plans can cap per-period overage spend from the Team & Billing page (the "Overage budget" card, visible on all paid plans). Setting the budget to $0.00 (the default) is a hard-stop: once the included bundle is exhausted, new Runs are blocked and the warning banner prompts you to raise the budget or upgrade. Setting a positive value allows up to that many dollars of overage per period; the app warns at 80% and blocks at 100%.
Admins can override the budget per-tenant from the admin console; the card shows a notice when an admin override is active.
Invoices#
View payment history from the billing page. Each invoice row shows:
- Date (invoice creation date)
- Amount due
- Payment status
- View link to the Stripe-hosted invoice page
Troubleshooting#
"Overage budget exhausted" banner / Runs blocked after bundle is reached The default overage budget is $0.00 (hard-stop). Go to Team & Billing and raise the overage budget, or upgrade to a plan with a larger bundle. Admins can also override the budget from the admin console.
Downgrade to Free blocked The system checks that you have ≤ 1 project, ≤ 1 service, and ≤ 1 seat before allowing the downgrade. Archive or remove resources that exceed the free tier limits.
Checkout redirects back with ?canceled=true
You cancelled at the Stripe checkout page. No changes were made. Click
Upgrade again to retry.
Past Due / Locked state Payments are retried automatically. Use Manage billing on the Invoices tab to update your payment method. A Locked account can be unlocked by an admin or restored automatically on successful payment.
Subscription States#
Active ⇄ Past Due → Locked
↓ ↓ ↓
Canceled Canceled Canceled
↑
Active ← Locked- Active — Normal operation
- Past Due — Payment failed, grace period active (returns to Active on successful payment)
- Locked — Account restricted due to unpaid balance (can return to Active via admin unlock or payment)
- Canceled — Subscription ended (terminal state)
- Paused — Billing suspended by an admin (separate from the status enum above). A paused account blocks access identically to Locked; access is restored when an admin resumes billing.