Step-Based Billing
Step-based billing is the primary billing model. You are charged based on the number of steps executed during your runs. The specific rates per agentic step and cached step are determined by your contract with Cyberdesk.What is a Step?
There are two types of billable steps:Agentic Steps
Each time the AI agent makes a decision and takes action. This includes:
- Every agent iteration (reasoning + tool calls)
- Each focused action execution
- Each extraction prompt (after any LLM retries)
Cached Steps
Each time a previously-learned action is replayed from cache (trajectory replay). This includes:
- Every step executed from a matched trajectory
- Steps with
skip_cache_detectionenabled or disabled
Billing by Run Outcome
What gets billed depends on how your run completes:| Outcome | Steps Billed? | Description |
|---|---|---|
| Success | ✅ Yes | Run completed successfully |
| User Task Failed | ✅ Yes | Agent explicitly failed the task per your instructions |
| Cancelled | ✅ Yes | You cancelled the run mid-execution |
| Infrastructure Failure | ❌ No | Cyberdesk system error (e.g., worker crash, connection lost) |
Infrastructure failures are never billed. If our systems fail (worker crashes, connection timeouts, etc.), you won’t be charged for any usage from that run attempt.
Understanding “User Task Failed” vs “Infrastructure Failure”
When a run ends in error, the billing outcome depends on why it failed:User Task Failed (Billable)
User Task Failed (Billable)
The agent explicitly called
declare_task_failed because:- The task was impossible to complete (e.g., “file not found”)
- The application was in an unexpected state
- The user’s instructions led to a dead end
Infrastructure Failure (Not Billable)
Infrastructure Failure (Not Billable)
The run failed due to Cyberdesk system issues:
- Cyberdriver became unresponsive after multiple retries
- Worker crashed or lost connection
- Internal service errors
Run Retries
If you retry a failed run, billing accumulates across attempts:usage_metadata.
Viewing Usage Data
You can view your usage data in multiple ways through the Cyberdesk Dashboard.Individual Run Usage
On any run’s detail page, scroll down to the Run Message History section. You’ll see a Usage Data Summary card that displays:- Total agentic steps billed
- Total cached steps billed
- Billing outcome status (success, cancelled, etc.)
Aggregated Usage Across Runs
On the Runs table page, select multiple runs using the checkboxes. The toolbar will automatically display the accumulated totals:- Total agentic steps billed across selected runs
- Total cached steps billed across selected runs
API Access
Every run includes ausage_metadata field with detailed billing information:
individual_tries_metadata with per-attempt details.
Coming Soon
A more robust usage dashboard with historical trends, cost projections, and detailed analytics is coming soon!FAQ
What if I cancel a run partway through?
What if I cancel a run partway through?
You’ll be billed for any steps that were executed before cancellation.
Do retries within a step count as multiple steps?
Do retries within a step count as multiple steps?
No. If an LLM call fails and retries internally, it still counts as one agentic step. You’re only charged once the step completes (successfully or not).
Are cached steps cheaper than agentic steps?
Are cached steps cheaper than agentic steps?
Yes. Cached steps replay previously-learned actions without invoking the AI, making them faster and cheaper.
How do I know if a failure was infrastructure vs user-related?
How do I know if a failure was infrastructure vs user-related?
Where can I see my total usage?
Where can I see my total usage?
Visit the Cyberdesk Dashboard to view your usage. You can see individual run usage in the run detail page, or select multiple runs in the runs table to see aggregated totals.
Run-Based Billing (Legacy)
In the legacy model, you are charged a flat fee per completed run, regardless of the number of steps.How It Works
Arun_completed billing event is recorded when:
- A run completes with status
success - A run completes with status
errordue to explicit task failure (user-initiated viadeclare_task_failed)
run_completed event is not recorded when:
- The run is cancelled
- The run fails due to infrastructure issues
Legacy Usage Metadata
Legacy runs include additional fields inusage_metadata:
total_run_completed_billed field indicates whether the run completion was billed (1) or not (0).