Pricing & Usage
This document explains how costs are calculated per scan build, how tokens are tracked, and what LLM models are available for use.
Cost Components
Every build accumulates costs across four distinct categories. The total cost for a build is the sum of all four:
Total Cost = LLM Cost + Cloudflare Workers Cost + R2 Storage Cost + Browser Cost1. LLM Cost
The LLM cost covers AI inference — the tokens consumed when the scanner sends prompts to and receives responses from the chosen language model.
LLM cost is broken into up to four sub-components:
| Sub-component | Formula |
|---|---|
| Input cost | (prompt_tokens / 1,000,000) × input_rate |
| Output cost | (completion_tokens / 1,000,000) × output_rate |
| Cache write cost | (cache_write_tokens / 1,000,000) × cache_write_rate (Claude models only) |
| Cache read cost | (cache_read_tokens / 1,000,000) × cache_read_rate (Claude models only) |
LLM Cost = Input Cost + Output Cost + Cache Write Cost + Cache Read CostAll rates are per 1 million tokens and vary by model (see Supported Models & Pricing below).
Prompt caching (cache write / cache read) is only available on Anthropic Claude models. For all other models, cache costs are $0.
2. Cloudflare Workers Cost
The Cloudflare Workers cost covers CPU execution time used by the scanner worker during a build.
| Rate | Formula |
|---|---|
| $0.02 per 1M CPU milliseconds | (cf_workers_duration_ms × 0.02) / 1,000,000 |
cf_workers_duration_ms is the total CPU wall-clock time the Cloudflare Worker was active during the build.
3. R2 Storage Cost
The R2 cost covers object storage operations and storage space for scan artifacts (raw findings, reports, etc.).
| Component | Rate | Estimate |
|---|---|---|
| Class A ops (PUT/writes) | $0.36 per 1M ops | ~(api_calls × 2 + 3) ops per build |
| Storage | $0.015 per GB/month | ~25 MB per build |
r2_ops = (api_calls × 2) + 3
r2_cost = (r2_ops / 1,000,000) × 0.36 + (25 / 1024) × 0.015The + 3 accounts for fixed operations per build: ingestion, normalization write, and report generation.
4. Browser Cost
Browser cost applies only when Cloudflare Browser Rendering is used (e.g., for DAST / web scanning). It has two parts:
Browser Runtime
| Component | Rate |
|---|---|
| Session duration | $0.09 per hour |
| Concurrent browser (daily amortized) | $0.066 per day |
cf_browser_run_cost = (browser_duration_sec / 3600) × 0.09 + 0.066Browser LLM
The same input/output rates as the main LLM apply to tokens consumed during browser-assisted AI analysis.
browser_llm_cost = (browser_prompt_tokens / 1M) × input_rate
+ (browser_completion_tokens / 1M) × output_rateTotal Browser Cost = Browser Runtime Cost + Browser LLM CostIf the browser was not used in a build, all browser costs are $0.
Token Tracking
Each build records the following token fields:
| Field | Description |
|---|---|
prompt_tokens | Tokens sent to the model (input / prompt) |
completion_tokens | Tokens generated by the model (output) |
total_tokens | Sum of prompt + completion tokens |
cache_write_tokens | Tokens written to the prompt cache (Claude only) |
cache_read_tokens | Tokens read from the prompt cache (Claude only) |
api_calls | Number of LLM API calls made during the build |
Token counts are reported by the LLM API and aggregated across all calls in a single build. Monthly totals are accumulated per organization in the usage_monthly collection.
Credits & Limits
Usage limits are enforced at the organization level per calendar month.
AI Credits (Builds)
| Setting | Default |
|---|---|
| Builds per month | 20 |
Each completed build consumes 1 AI credit. If your organization has exhausted its monthly credit limit, new enrichment runs will be blocked until the next billing cycle or until additional credits are purchased.
Credit ledger value is stored as:
total_credits = llm_total_cost × 2.5Runtime Minutes
| Setting | Default | Overage Rate |
|---|---|---|
| Runtime per month | 3,000 minutes | $0.05 / minute |
runtime_duration_ms tracks cumulative Cloudflare Worker CPU time across all builds in the month. Exceeding the runtime limit blocks new scanner runs.
Monthly Aggregation
Per organization, the following fields are aggregated in the usage_monthly collection (reset each calendar month):
| Field | What it accumulates |
|---|---|
total_tokens | All prompt + completion tokens across builds |
total_llm_cost | LLM cost (main + browser LLM) |
total_cf_cost | CF Workers + R2 + CF Browser runtime |
total_cost | Grand total across all cost components |
total_credits | Credit ledger (LLM cost × 2.5) |
runtime_duration_ms | Total CF Workers CPU time |
total_builds | Number of completed builds |
Supported Models & Pricing
All prices are per 1 million tokens (USD).
OpenAI
GPT-5 Family
| Model | Input | Output |
|---|---|---|
gpt-5 | $0.625 | $5.00 |
gpt-5-mini | $0.25 | $2.00 |
gpt-5-nano | $0.05 | $0.40 |
GPT-5.x Family
| Model | Input | Output |
|---|---|---|
gpt-5.1 | $1.25 | $10.00 |
gpt-5.2 | $1.75 | $14.00 |
gpt-5.4 | $2.50 | $15.00 |
gpt-5.4-mini | $0.75 | $4.50 |
gpt-5.4-nano | $0.20 | $1.25 |
GPT-4.1 Family
| Model | Input | Output |
|---|---|---|
gpt-4.1 | $2.00 | $8.00 |
gpt-4.1-mini | $0.40 | $1.60 |
gpt-4.1-nano | $0.05 | $0.20 |
GPT-4o Family
| Model | Input | Output |
|---|---|---|
gpt-4o | $2.50 | $10.00 |
gpt-4o-mini | $0.15 | $0.60 |
