Billing & plans
OctopusLab charges on a daily token-bucket model: each plan refills AI credits at UTC midnight; unused credits don't roll over. That gives you a hard upper bound on what the AI can spend in a day, no matter how chatty.
Plans
- Free — $0 / 200 credits per day. Builder + audits work; AI generation is rate-limited. No custom domains, no team.
- Starter — $20 / 20 000 credits per day. Custom domains, BYOK (anthropic / openai / ollama keys), 1 teammate.
- Pro — $50 / 60 000 credits per day. Up to 10 teammates, audits with findings history, priority build queue.
- Scale — $199 / 250 000 credits per day. Higher concurrency on sandboxes, hard cap configurable, support SLA.
Where credits go
Every metered event lands in usage_events with a kind tag. The Billing tab on /app/billing breaks today's burn into:
- AI tokens — inference for chat + code generation. Dominates on most orgs.
- Build minutes — sandbox CPU for compiling. Charged per second aggregated to nearest minute.
- Function invocations — when your project starts shipping serverless functions (Cache Components, route handlers), every invocation counts.
- Storage — bytes-months at rest in your project's R2 / Postgres branches.
Payment providers
Three checkout providers are wired in v1:
- xRocket Pay — Telegram-native crypto. Fastest checkout, especially for users already in TON / Telegram. Instant on-chain confirmation.
- NOWPayments — USDC / USDT / BTC on any chain. Same lane as xRocket but with HMAC-SHA-512 IPN verification + a wider provider list.
- Stripe / ЮKassa — global cards + Russian acquiring. Roadmap; the UI shows them as "not connected" until the keys land.
Invoices
Every paid invoice lands in /app/billing with date, period, provider, amount, status. The next invoice block computes the upcoming charge date as last paid period_end + 1 month so you always see what's coming. Receipts / VAT chits land once the provider exposes them (Stripe and ЮKassa do; xRocket / NOWPayments return the on-chain tx id instead).
Hard cost cap
On Pro / Scale you can set hard_cap_usd per organization. When today's spend hits it, AI generation pauses for the rest of the day and resumes after the UTC reset. The cap is independent of the credit bucket — useful if you want a dollar ceiling instead of a token ceiling.
BYOK
Starter and above can plug in their own BYOK keys (Anthropic, OpenAI, local Ollama). When BYOK is enabled for a model, those calls are charged to your provider — OctopusLab's credit meter only ticks for the infra (sandbox, build, etc.). BYOK tokens are encrypted at-rest with AES-256-GCM; the plaintext never reaches the client after creation.