Billing & Auth
Credits, not subscriptions. Top up your balance, set spend limits, and only pay for what you use. AI costs are metered per token, everything else is flat.
Credit System
Brokr uses a pay-per-use credit system. You top up your balance, and features debit from it. No monthly subscriptions, no surprise bills.
AI usage is metered per token with per-model pricing:
| Provider | Input (per 1M tokens) | Output (per 1M tokens) |
|---|---|---|
| Deepseek | $0.35 | $1.43 |
| OpenAI | $3.13 | $12.50 |
| Anthropic | $3.75 | $18.75 |
Top Up & Auto-Reload
Add credits from the CLI or dashboard. Stripe Checkout handles payment. Set auto-reload to automatically top up when your balance drops below a threshold.
# Top up $25 (default)brokr topup# Top up a custom amount ($5 - $1,000)brokr topup 100# Check balancebrokr balance# Manage payment methodsbrokr billing
Spend Limits
Set global and per-stack spend limits to prevent runaway costs. Monthly caps reset on the 1st. When a limit is hit, requests are rejected with a clear error — no silent failures.
Roles
| Role | Can do |
|---|---|
| Owner | Everything — create stacks, deploy, manage billing, invite members, delete. |
| Builder | Create stacks, deploy, manage capabilities. No billing access. |
| Bankroller | Billing and spend limits only. Cannot create or deploy. |
CLI Authentication
brokr link account opens a browser-based GitHub OAuth flow. On success, a JWT is written to ~/.brokr/credentials.json. The token is long-lived (30-day maxAge) and automatically refreshed.
brokr link account# Opens browser → GitHub OAuth → writes ~/.brokr/credentials.json# ✓ Logged in as you@example.combrokr whoami# you@example.com
Machine Identity
Anonymous users get a machine identity — a UUID stored in ~/.brokr/machine.json. This identity is sent as X-Machine-Id and used to track temporary stacks.
When you log in, Brokr cross-references your GitHub repos against machine-created stacks and auto-claims matches. Machine identity is ignored when a real session exists.
Stack Lifecycle
Stacks move through a defined lifecycle: temporary → claimed → active → deleted. Authenticated users skip the temporary/claim steps — their stacks start as claimed.
| State | Description |
|---|---|
temporary | Ephemeral, expires after 7 days unless claimed. A .brokr file with a claim code is written to the project directory. |
claimed | Linked to your account. Permanent. Storage migrated from temp to prod. |
active | All requested capabilities are provisioned and running. |
deleted | Permanently removed. Resources and provider accounts deallocated. |
Run brokr claim to claim a temporary stack, or brokr link account to auto-claim all matching stacks.