COVERAGE

Every place your AI spend comes from.

Ottto reconciles usage from coding agents, cloud model providers, and gateways - subscriptions, API keys, and cloud bills, all in one number.

Free to start · no credit card · local runtime plus connected accounts
Coding agents

Where developers actually spend.

Every supported agent, account, and machine - read from local transcript metadata, live telemetry, and connected-account evidence, then labeled and reconciled. No proxy in the request path. Built by engineers for engineers.

Claude Code Claude Code
subscription + API
Pro / Max capacityTeam and Enterprise seatsAPI token and cache pricing
Codex Codex
ChatGPT + usage
ChatGPT plan inclusionBusiness Codex usageAPI model rates
Cursor Cursor
included + on-demand
Pro / Pro+ / UltraTeams and EnterpriseOn-demand usage
Pi Pi
route evidence
Local setupModel routeBilling channel
Clouds, APIs & gateways

The bill side of the ledger.

Cloud model providers and pay-as-you-go APIs get pulled in too, so a Bedrock line item and a Claude Max seat land in the same total - not two dashboards.

aws AWS
CUR + Cost Explorer
Cost Explorer + CUR 2.0CloudWatch + invocation logsAWS Marketplace LLMs
AWS

AWS AI spend can land in Bedrock, SageMaker AI, EC2/GPU, ECS/EKS/Lambda gateways, logs, storage, data transfer, and Marketplace charges.

Cost Explorer is the primary bill view, but default Bedrock can be coarse. Per-model split needs usage type or Application Inference Profiles with cost-allocation tags.

CUR 2.0 is the finest cost path: per-model rows, token direction, cache read/write, service tier, region, tags, and IAM principal when enabled.

CloudWatch and invocation logs show tokens/calls without dollars; Budgets and Cost Anomaly Detection alert on spend. Some LLMs are first-party Bedrock, others are AWS Marketplace.

GCP Vertex AI GCP Vertex AI
cloud billing
Billing Reports + BigQueryMonitoring + LoggingProject / labels / SKU
GCP Vertex AI

Vertex cost can be Gemini, partner models, endpoints, projects, BigQuery billing export, cache storage, grounding extras, and labels.

Cloud Billing Reports show service, SKU, project, and label totals; BigQuery export is the granular SQL path over SKU-level rows.

Cloud Monitoring shows token/request counts by model and publisher; Cloud Logging carries call metadata, not the bill.

Budgets, alerts, quotas, project, region, endpoint, and partner-model attribution stay in cloud billing. Ottto reconciles that with model usage.

Anthropic API Anthropic API
token selectors
Input and output5m / 1h cache writesCache hits and batch
Anthropic API

Claude API pricing is selector-heavy. A cache read is not an input token, and a 1h cache write is not a 5m cache write.

Batch, data residency, service tier, model family, and long-context behavior can change the right rate for the same apparent session.

Ottto preserves those selectors so a Claude Code session and an Anthropic API invoice can meet in the same cost story.

OpenAI API OpenAI API
models + credits
Model ratesFast / reasoning selectorsCredits and batch
OpenAI API

OpenAI API pricing changes by model and processing mode, including cached input, batch discounts, and data-residency modifiers.

A personal user or an organization can have ChatGPT seats, Codex usage, credit balances, and API keys, each with a different billing path.

Fast-mode behavior, reasoning-effort choices, cached input, and output tokens can make two similar-looking turns land at different effective rates.

Ottto separates those paths first, then reconciles them so Codex and OpenAI API spend are comparable without being confused.

Gemini Gemini
API + Vertex
Free and paid tiersCaching storageSearch and Maps grounding
Gemini

Gemini spans free and paid API tiers, Vertex paths, context caching, thinking/output tokens, audio/video/image inputs, and grounding fees.

Gemini pricing varies by model, modality, token direction, context cache storage, and whether grounding with Google Search or Maps is involved.

Gemini API and Vertex AI are different cost paths even when the model name looks familiar.

Ottto keeps the Google route, project, billing channel, and model pricing evidence visible so estimates do not hide the selector complexity.

Why this gets hard

Every source has its own billing maze. Each source looks like a single label until you manage it: plan windows, seats, credits, API token rates, marketplace invoices, cloud billing exports, monitoring logs. Keeping up is tiresome because the evidence is fragmented. We all increase our AI usage all the time, using it for more and more purposes, but because we add agents bottom up, it comes with operational complexity we need to manage.

One daemon. Every source.

Subscriptions, API keys, and cloud bills across Claude Code, Codex, Cursor, Pi and your clouds - reconciled into one number you can trust, with source labels still visible.

Free to start · no credit card · Apple Silicon · macOS Sonoma+