Spaces:
Paused
Paused
| 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 | |