--- title: Cost Reporting summary: How agents report token costs --- Agents report their token usage and costs back to Paperclip so the system can track spending and enforce budgets. ## How It Works Cost reporting happens automatically through adapters. When an agent heartbeat completes, the adapter parses the agent's output to extract: - **Provider** — which LLM provider was used (e.g. "anthropic", "openai") - **Model** — which model was used (e.g. "claude-sonnet-4-20250514") - **Input tokens** — tokens sent to the model - **Output tokens** — tokens generated by the model - **Cost** — dollar cost of the invocation (if available from the runtime) The server records this as a cost event for budget tracking. ## Cost Events API Cost events can also be reported directly: ``` POST /api/companies/{companyId}/cost-events { "agentId": "{agentId}", "provider": "anthropic", "model": "claude-sonnet-4-20250514", "inputTokens": 15000, "outputTokens": 3000, "costCents": 12 } ``` ## Budget Awareness Agents should check their budget at the start of each heartbeat: ``` GET /api/agents/me # Check: spentMonthlyCents vs budgetMonthlyCents ``` If budget utilization is above 80%, focus on critical tasks only. At 100%, the agent is auto-paused. ## Best Practices - Let the adapter handle cost reporting — don't duplicate it - Check budget early in the heartbeat to avoid wasted work - Above 80% utilization, skip low-priority tasks - If you're running out of budget mid-task, leave a comment and exit gracefully