fix(quotas): tighten Team/Enterprise daily preview caps to stay profitable
All checks were successful
Deploy to Production / deploy (push) Successful in 52s

The earlier caps (Team 150/day, Enterprise 1000/day) used Sonnet/Opus pricing
that put max-usage above the tier's monthly revenue — a Bot with a Team
subscription could out-cost €199 in Anthropic spend. Drop to 50/day Team
and 200/day Enterprise; both now keep ~55-65% margin even when maxed.

Pricing page Team feature line updated to match (150 -> 50). Build caps
loosened slightly less since the 24h cache TTL makes most builds cache-hits.

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
This commit is contained in:
Marco Sadjadi 2026-05-24 00:14:07 +02:00
parent bc174c1302
commit defb4186b4
2 changed files with 17 additions and 6 deletions

View File

@ -35,17 +35,28 @@ export async function checkDailyLimit(
} }
// Per-tier daily limits on the two LLM-priced actions. // Per-tier daily limits on the two LLM-priced actions.
// Preview = ~€0.002-0.015/call · Build = ~€0.005-0.22/call. // Preview = ~€0.002-0.115/call (model-dependent) · Build = ~€0.005-0.22/call.
//
// Caps are set so that even a max-usage power-user stays profitable at the
// tier's price point. Critical for Team/Enterprise where Sonnet/Opus tokens
// add up fast — a runaway Bot with a Team subscription could otherwise
// out-cost the €199 monthly revenue. Math (max-case):
// Pro: 40 prev × €0.020 × 30 = €24/mo → margin €25 (~50%)
// Team: 50 prev × €0.058 × 30 = €87/mo → margin €112 (~56%)
// Enterprise: 200 prev × €0.060 × 30 = €360/mo → margin €639 (~64%)
// Build caps are looser because the 24h cache TTL means most builds are
// cache-HITS (no LLM call) — the cap is mostly about runner-port / hosting
// budget, not token cost.
export const PREVIEW_DAILY_LIMIT: Record<Plan, number> = { export const PREVIEW_DAILY_LIMIT: Record<Plan, number> = {
hobby: 5, hobby: 5,
pro: 40, pro: 40,
team: 150, team: 50,
enterprise: 1000, enterprise: 200,
}; };
export const BUILD_DAILY_LIMIT: Record<Plan, number> = { export const BUILD_DAILY_LIMIT: Record<Plan, number> = {
hobby: 3, hobby: 3,
pro: 20, pro: 20,
team: 100, team: 30,
enterprise: 500, enterprise: 100,
}; };

View File

@ -55,7 +55,7 @@ const TIERS = [
features: [ features: [
'25 MCP servers', '25 MCP servers',
'10M tool calls / month', '10M tool calls / month',
'150 prompt analyses / day', '50 prompt analyses / day',
'RBAC + extended audit log', 'RBAC + extended audit log',
'99.9% uptime SLA', '99.9% uptime SLA',
'Shared Slack channel support', 'Shared Slack channel support',