Billing & Auth
Pay per use
No subscriptions

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:

ProviderInput (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.

bash
# Top up $25 (default)
brokr topup
# Top up a custom amount ($5 - $1,000)
brokr topup 100
# Check balance
brokr balance
# Manage payment methods
brokr 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

RoleCan do
OwnerEverything — create stacks, deploy, manage billing, invite members, delete.
BuilderCreate stacks, deploy, manage capabilities. No billing access.
BankrollerBilling 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.

bash
brokr link account
# Opens browser → GitHub OAuth → writes ~/.brokr/credentials.json
# ✓ Logged in as you@example.com
brokr 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.

StateDescription
temporaryEphemeral, expires after 7 days unless claimed. A .brokr file with a claim code is written to the project directory.
claimedLinked to your account. Permanent. Storage migrated from temp to prod.
activeAll requested capabilities are provisioned and running.
deletedPermanently removed. Resources and provider accounts deallocated.

Run brokr claim to claim a temporary stack, or brokr link account to auto-claim all matching stacks.