If you're shipping a customer-facing AI agent, every billable run has to make margin sense. Rev gives you per-agent cost caps, agent margin tracking, deferred outcome reconciliation, and Stripe-native monetization — no spreadsheet math, no surprise refunds when an agent run doesn't deliver.
Each one closes a margin gap that subscription tools and observability-only stacks can't. Wire them in once and your agent has commercial superpowers from the first run.
Set a hard ceiling on every agent task — base fee + token rate + outcome bonus. Over-cap runs are rejected before they bill, so unpredictable per-call agent spend stops being a surprise at the end of the month.
Every meter event records the customer charge and your cost side-by-side. The dashboard groups margin by agent_id, customer_id, and time window — see unit economics per agent before your worst task eats your month's margin.
Charge only when the agent outcome delivers: the customer acks the result, completes the task, accepts the draft. Failed or expired pending events automatically refund the bonus — the customer only pays when the agent delivered.
From API key to first billable agent outcome in under 15 minutes. SDK installs in one line, your agent services emit meter events, and the outcome pricing rules are configured from the dashboard — no multi-week billing migration project.
Out-of-the-box SDK in Node.js and Python. Configure the per-agent cap once; Rev rejects over-cap runs and reports the cost side-by-side with the outcome bonus.
// Configure a per-agent cost cap on the agent billing tier const tier = await rev.pricing.createTier({ agent_id: 'research-agent-v2', base_fee: 0.10, // $0.10 per agent run token_rate: 0.00003, // per token consumed outcome_bonus: 4.00, // $4.00 per task the user acks cost_cap_usd: 0.50, // per-agent run ceiling currency: 'USD', }); // Meter every agent run event — returns the OK billable event const event = await rev.meter.emit({ agent_id: 'research-agent-v2', customer_id: customer.id, tokens: inputTokens + outputTokens, outcome: 'pending', }); // Resolve the agent outcome — bonus posts on success, refunds on failure if (userAcked) { await rev.outcomes.resolve(event.id, 'success'); } if (taskFailed) { await rev.outcomes.resolve(event.id, 'failure'); }
Stripe metered billing, Helicone, and Langfuse observe or charge on schedule. They can't enforce per-task cost caps or reconcile a hindsight outcome. This is the gap Rev fills for AI agents.
| Capability | Rev | Stripe metered billing | Helicone | Langfuse |
|---|---|---|---|---|
| Outcome-based billing for AI agentsCharge only when the agent task reaches a real success milestone — user ack, completed deliverable, accepted draft | Built-in | Not supported | Observability only | Observability only |
| Per-task / per-agent cost capsHard ceiling per agent task — over-cap runs rejected before billing | Built-in | Not supported | Not supported | Not supported |
| Agent margin trackingPer-agent and per-customer margin dashboard showing token cost vs revenue | Built-in | Aggregate only | Cost only | Cost only |
| Deferred outcome resolutionPending → success/failure/expired with bonus reconciliation when the agent task closes | First-class | Not supported | Not supported | Not supported |
| Usage-based monetizationMetered agent usage aggregated per agent_id, customer_id, and time window | Built-in | Metered events | Token logs | Trace logs |
| Request-level traces & auditPer-agent usage traces with cost and outcome state for finance review |
Metered events
via Rev SDK
|
Per-event logs | Per-request traces | Per-request traces |
The common pattern: keep Stripe for charging, Helicone or Langfuse for trace observability, wire Rev for outcome-based metering. The services compose — Rev sits in front of charging as the pricing engine, and behind your agent runs as the per-task cost-cap layer.
Free tier, no Stripe required to start, dashboard updates the moment you resolve your first agent outcome. Built for agent builders that need outcome-based monetization wired to Stripe today.