Safety & cost
Pricing reference
Every billable unit in OXYGEN, generated from the constants that charge for it.
Every unit OXYGEN charges for, generated from the constants the billing code reads. Prices that exist in code but sit behind a feature flag that is off by default are listed under Built, not currently charged rather than shown as live prices; per-operation provider prices are resolved per descriptor and are read with oxygen tools get <tool-id> --json.
| Unit | Value |
|---|
| 1 credit | $0.001 |
| $1.00 | 1,000 credits |
| Plan credits | $1.00 per 1,000 |
| Top-up credits | $1.25 per 1,000 |
| Plan | Monthly price | Included credits | Rollover cap | BYOK |
|---|
Starter (starter) | $99.00 | 99,000 | 99,000 | Yes |
Pro (pro) | $249.00 | 249,000 | 249,000 | Yes |
Team (team) | $749.00 | 749,000 | 749,000 | Yes |
Scale (scale) | Contact sales | 10,000,000 | 10,000,000 | Yes |
Enterprise (enterprise) | Contact sales | Custom | — | Yes |
| Item | Value |
|---|
| Trial length | 7 days |
| Trial credit grant | 20,000 credits |
| Onboarding walkthrough bonus | 1,000 credits |
| Past-due grace before entitlement stops | 7 days |
| Pack | Price | Credits |
|---|
10 | $10.00 | 8,000 |
25 | $25.00 | 20,000 |
100 | $100.00 | 80,000 |
250 | $250.00 | 200,000 |
A custom top-up runs from 8,000 credits to 1,000,000 credits in steps of 1,000. Purchased credits stack like plan grants and do not expire.
| Unit | Credits | USD | Notes |
|---|
| AI column, low reasoning effort | 15 | $0.015 | per cell |
| AI column, medium reasoning effort | 75 | $0.075 | per cell |
| AI column, high reasoning effort | 250 | $0.25 | per cell |
| AI column with web search | 35 | $0.035 | typical; 40 reserved per cell |
Copilot and Agent turns bill managed inference against the same credit balance, inside the session or run budget approved when they start. On a BYOK model credential the provider bills you directly and OXYGEN charges no credits.
| Unit | Credits | USD | Notes |
|---|
company_enrich_typical | 99 | $0.099 | per call, typical |
email_find_typical | 85 | $0.085 | per call, typical |
email_verify | 2.245 | $0.002245 | per call, typical |
linkedin_profile_scrape | 25.5 | $0.0255 | per call, typical |
page_scrape | 40 | $0.04 | per call, typical |
phone_find_typical | 990 | $0.99 | per call, typical |
web_search | 5 | $0.005 | per call, typical |
| Enriched row, all columns | 100 | $0.10 | typical blended cost |
These are the sheet's typical values. The price that actually bills is the one on the operation descriptor, which varies by provider and request shape — read it with oxygen tools get <tool-id> --json, or preview the exact request with a dry run before spending.
| Unit | Credits | USD | Notes |
|---|
| OXYGEN-sold managed mailbox | 3,000 | $3.00 | per mailbox per month |
| OXYGEN-registered domain | 13,050 | $13.05 | per domain per year, typical |
| Inbox-placement monitoring | 1,000 | $1.00 | per mailbox per month; includes 2 placement tests |
| Additional placement test | 166 | $0.166 | per test beyond the included allowance |
| Mailbox warmup | 3,000 | $3.00 | per mailbox per month |
| Dedicated egress IP | 15,000 | $15.00 | per IP per 30-day period |
| Email send | 0 | $0.00 | per message |
| Unit | Credits | USD | Notes |
|---|
| Connected LinkedIn account | 10,000 | $10.00 | per account per month — see Built, not currently charged |
| Connected WhatsApp number | 10,000 | $10.00 | per number per month — see Built, not currently charged |
LinkedIn comment_post | 0 | $0.00 | per action |
LinkedIn follow | 0 | $0.00 | per action |
LinkedIn inmail | 0 | $0.00 | per action |
LinkedIn invite | 0 | $0.00 | per action |
LinkedIn like_post | 0 | $0.00 | per action |
LinkedIn message | 0 | $0.00 | per action |
LinkedIn visit_profile | 0 | $0.00 | per action |
| WhatsApp message send | 0 | $0.00 | per message |
LinkedIn is priced as a pure connected-account seat: every individual action is 0 credits, so a sequence's LinkedIn steps never draw against its credit cap.
| Unit | Credits | USD | Notes |
|---|
| Voice number | 5,000 | $5.00 | per number per month |
| Talk time | 90 | $0.09 | per minute, counting both call legs |
| Connected call | 38 | $0.038 | per connected call, for answering-machine detection |
Voice settles on the telephony provider's status webhook after the call ends, so a connected call bills the per-call charge plus its talk time.
| Unit | Credits | USD | Notes |
|---|
| Workflow or automation action | 0.01 | $0.00001 | per action, settled in aggregate |
These prices exist in code behind a feature flag that is off unless explicitly set. Each reader requires the environment variable to be exactly true, so an unset or malformed value means no reservation and no charge.
| Rail | Price in code | Gate | Charged today |
|---|
Deliverability analytics (deliverability_unit) | 1,000 credits / month | CREDIT_COMMITMENTS_ENABLED + CREDIT_COMMITMENT_BILLING_KINDS | No |
Connected LinkedIn accounts (linkedin_account) | 10,000 credits / month | CREDIT_COMMITMENTS_ENABLED + CREDIT_COMMITMENT_BILLING_KINDS | No |
Warmup (mailbox_warmup) | 3,000 credits / month | CREDIT_COMMITMENTS_ENABLED + CREDIT_COMMITMENT_BILLING_KINDS | No |
OXYGEN-sold mailboxes (managed_mailbox) | 3,000 credits / month | CREDIT_COMMITMENTS_ENABLED + CREDIT_COMMITMENT_BILLING_KINDS | No |
Connected sending mailboxes (sending_mailbox) | 1,000 credits / month | CREDIT_COMMITMENTS_ENABLED + CREDIT_COMMITMENT_BILLING_KINDS | No |
Connected WhatsApp numbers (whatsapp_account) | 10,000 credits / month | CREDIT_COMMITMENTS_ENABLED + CREDIT_COMMITMENT_BILLING_KINDS | No |
| Connected LinkedIn account seat | 10,000 credits / month | LINKEDIN_SEAT_BILLING_ENABLED | No |
| Connected WhatsApp number seat | 10,000 credits / month | WHATSAPP_SEAT_BILLING_ENABLED | No |
Connecting a LinkedIn account or a WhatsApp number is free today. Managed mailboxes, warmup, and inbox-placement monitoring are sold today as recurring subscriptions carrying the prices listed above; the credit-commitment rail is a second, currently dark mechanism for the same resources, not an additional charge on top of them.
An autonomous trigger armed without an explicit cap is backstopped by a plan-tier default resolved when it fires. An explicit cap always wins.
| Guard | free | starter | pro | team | scale | enterprise |
|---|
| Trigger run ceiling (credits) | 500 | 5,000 | 10,000 | 25,000 | 250,000 | — |
| Table auto-run batch ceiling (credits) | 500 | 5,000 | 10,000 | 25,000 | 250,000 | — |
| BYOK column run max rows | — | 25,000 | 50,000 | 100,000 | 250,000 | — |
| BYOK provider calls per day | — | 10,000 | 25,000 | 50,000 | 200,000 | — |
A dash means no default ceiling for that tier. The org-daily budget guard warns at 25% and hard-blocks at 100% of the plan's monthly credits spent in one day, unless the org sets its own policy. BYOK daily call caps are monitoring thresholds and warn rather than stop a run unless OXYGEN_BYOK_DAILY_CAPS is set to enforce.
Every credit ledger entry carries one of these 18 categories. oxygen billing usage --json returns them.
| Category | What it records |
|---|
free | Free-tier allowance. |
trial | The 7-day trial grant. |
subscription | The monthly plan grant. |
purchase | A one-time credit top-up. |
managed_ai | AI columns, Copilot, and Agent inference on OXYGEN's model credentials. |
managed_enrichment | Provider enrichment and research calls on OXYGEN's credentials. |
managed_domain | OXYGEN-registered cold-email domains. |
managed_mailbox | Connected sending mailboxes. |
managed_inbox | OXYGEN-sold managed mailboxes. |
managed_warmup | Per-mailbox warmup cycles. |
managed_deliverability | Per-mailbox inbox-placement monitoring cycles. |
managed_seat | Recurring per-seat infrastructure (connected accounts, dedicated egress IPs). |
linkedin_action | Per-action LinkedIn charges wired at sequence dispatch. |
voice_call | Per-call voice charges settled on the telephony status webhook. |
automation | Aggregated workflow and automation action settlement. |
byok | Usage recorded against your own provider key. No OXYGEN credits are charged. |
admin | Staff adjustment. |
bonus | Product-earned one-off grant. |
| Type | What it records |
|---|
grant | Credits added by a plan, trial, purchase, or bonus. |
reserve | Credits held against an approved ceiling before a run executes. |
capture | The reservation settled at actual cost. |
release | The unused remainder of a reservation returned to the balance. |
refund | Credits returned after settlement. |
adjustment | A manual correction. |
byok_usage | Usage metered on your own key; no credits move. |
| Action | Why |
|---|
| Previews and dry runs | --mode dry_run and preview-by-default commands make no provider call and reserve nothing. |
| Sourcing and search plans | oxygen sourcing plan and oxygen search plan cost out the work without executing it. |
| Applying a blueprint | Creates a disabled workflow and its tables; nothing runs. |
| Sequence enrollment | Enrolling leads sends nothing — dispatch begins at oxygen sequences start. |
| Email and WhatsApp sends | 0 credits per message; sending infrastructure is priced per mailbox, not per send. |
| LinkedIn actions | Every per-action LinkedIn charge is 0 credits; LinkedIn is priced per connected account. |
| BYOK provider calls | Metered as byok_usage against your own key; no OXYGEN credits move. |