Hosted · /billing
Billing & license
Per-seat subscription, monthly or annual. Stripe-billed at the team level. License keys are signed JWTs the hosted issuer mints; each bound desktop carries one with a 30-day TTL. Soft grace if a renewal fails — the team rollup keeps streaming for 7 days while you sort the card out.
See it in motion
Where to find it
- Hosted:
https://repoops.ai/billing(owner / admin only). - Stripe: Each team has a Stripe customer + subscription. Card management via the Stripe customer portal.
- License key: Signed JWT, minted on subscription start, refreshed on each binding tick. 30-day TTL = soft expiry.
- Admin console: Seats used vs. paid, expiring keys, over-plan indicator, at
/team.
What it does for you
One subscription, every developer.Per-seat pricing. Add a developer = bump the seat count = next invoice picks it up. No per-developer setup beyond the binding flow.
Soft grace, not a kill switch.If a renewal fails, you have 7 days. The hosted rollup keeps streaming. License-key issuance pauses (new bindings can't complete) but existing ones don't go dark mid-day.
License keys verify offline.Each desktop's license is a signed JWT it can verify without phoning home. Means a brief Vercel outage doesn't freeze the dashboard.
Configure
Mostly hands-off after sign-up. A few things to know:
- Plan — Team ($20–30/seat/mo) vs. Cloud ($35–50/seat/mo, adds hosted retention + SSO).
- Billing period — monthly or annual (annual gets the lower price).
- Seat count — auto-bumps as bindings exceed paid count; over-plan indicator on the admin console.
- Card — manage in the Stripe customer portal (link from /billing).
- Tax — handled by Stripe Tax (when enabled; pending decision Q-001).
Use it well
Pre-buy seats for the team you're hiring into.
Cheaper than over-plan rates. Audit the admin console at the start of each month.Watch the expiring-keys list weekly.
Keys expire 30 days after issuance; the streamer re-mints automatically while the desktop is online. A key showing > 25 days = the desktop hasn't synced recently.Use annual billing for stable team sizes.
Save 15–20%; lock in the rate. Use monthly while sizing the team.If a renewal fails, fix the card in the 7-day grace.
The 7-day soft grace is generous, not infinite. After day 7, license issuance pauses; bindings start to expire one by one as their JWTs hit 30 days.