OXYGENOxygen/ Docs
Safety & cost

Billing & credits

Credits, lifecycle, managed vs BYOK, subscriptions.

A credit is the unit Oxygen meters paid work in. One credit ≈ one paid provider call or AI column output. Credits are scoped to one organization.

Credit lifecycle

StateTrigger
GrantedPlan refill or top-up
ReservedA run starts; estimated cost held against balance
CapturedRun item succeeds with cost > 0
ReleasedRun item fails before billing; reservation returned

oxygen billing balance returns available and reserved.

Managed vs BYOK

ModeWho paysWhat it covers
ManagedOxygen creditsOxygen holds the provider API key. Default for enrichment providers.
BYOKYou pay the provider directlyYou connect your own provider account. Required for CRMs, outbound sequencers, LinkedIn.

oxygen integrations list --json shows the mode per provider. See Integrations.

Reading balance and usage

oxygen billing balance --json
oxygen billing usage --limit 50 --json

Usage entries include run, provider, tool, credit, and timestamp fields when available. Group by provider or by day:

oxygen billing usage --limit 200 --json | jq '.data.entries | group_by(.provider) | map({provider: .[0].provider, total: (map(.credits) | add)})'

The web app at oxygen-agent.com/billing renders the same data with charts.

Cost estimation

Before running anything paid:

oxygen tools get <tool-id> --json | jq '.estimated_credits_per_call'
oxygen columns run <table-id> <column-key> --limit 1 --json
oxygen workflows templates preflight <template-id> --input-json '{...}' --mode dry_run --json

Spend caps enforce predictability per run.

What's free

ActionCosts credits
tables query, rows history, cells inspectNo
tools search, tools get, integrations listNo
dry_run or smoke_test of any tool/column/workflowNo
context profile get/update, assets *No
columns add, tables rename, schema changesNo
oxygen onboarding startNo for the CLI command itself
Any live AI/tool/enrichment column runYes (per call)

Failure billing

Failure pointCredit treatment
Pre-billing (auth, validation, 429 before charge)Released
Post-billing (provider charged then returned error)Captured
Partial provider cascadeCaptured for paid attempts only

Subscriptions

Plans are managed through Stripe. Manage at oxygen-agent.com/subscribe. Plan changes apply at the next billing cycle by default; prorated upgrades available mid-cycle.

Each org has its own subscription and credit balance. Agencies running many client orgs see one balance per org.

On this page