nozle
    nozle

    AI & agentic billing | Nozle

    A seat doesn't ship work. A run does.

    Meter every model call, tool call, and outcome as events. Price per token, per tool, per outcome — or all three on the same agent. One ledger your engineers, your CFO, and your customer can all read.

    Five moves from first token to invoice line. All five run on every run.

    Each step the agent takes is metered, attributed to a customer, priced under your plan, billed, and scored for margin — automatically, in that order.

    Pipelineingest → attribute → price → bill → insight
    1. 01
      Ingest every step
      Model calls, tool calls, retrievals, embeddings — captured as events. OpenAI and Anthropic tokens are auto-captured by the SDK wrappers or the LLM proxy.
    2. 02
      Attribute to a customer
      Every event lands on one customer. Cost events link to the feature event that caused them, and retries with the same transaction ID never double-count.
    3. 03
      Price the run
      Token, tool call, outcome — or any combination — as charges on one plan. Override prices per customer without touching the pipeline.
    4. 04
      Bill the line
      Usage rolls up into invoice lines by metric. Stripe or Razorpay collects; credit notes and dunning handle the rest.
    5. 05
      Score the margin
      Revenue, cost, and gross margin by customer, model, and metric. Negative-margin customers surface before they turn into a negative-margin cohort.

    A seat is a person. A run is the work. Bill the work.

    Seats were built for users who log in. Agents don't log in — they spawn, fan out, retry, and resolve. The unit of value moved. Pricing has to move with it.

    Seat pricing, agent workloadflat price · blind to the work · margin is a guess
    Day 1
    10 seats sold
    Day 14
    1 power user, 92% of COGS
    Day 30
    cohort goes negative
    ACME · AGENT
    $500 MRR · $1,820 COGS · −264% gross
    MISPRICED
    What never reaches the invoice
    the run, the tools, the outcome.
    SEAT-ONLY
    Run-level economicstoken · tool · outcome — on one customer
    T+0s
    run starts
    T+12s
    outcome resolved
    Next
    rated and margin-scored
    ACME · AGENT
    $0.42 priced · $0.18 COGS · +57% gross
    HEALTHY
    What ships to every system
    one event stream, one invoice, one margin view.
    RUN-Q3-114

    Four parts. One run priced, billed, and scored.

    The ledger that records the work, the rule that prices it, the entitlements that contain it, and the alerts that catch it the moment it drifts.

    AGENT · acme · research_agent
    resolved · 7 steps
    Agent revenue · research_agent · live
    —$0.42+57% gross
    Customer
    acme · enterprise
    Agent
    research_agent · v3
    Steps
    4 model · 2 tool · 1 outcome
    COGS
    $0.18 (openai · anthropic · serp)

    Same run: 1 outcome ($0.42), 27.4k tokens ($0.39), or 6 tool calls ($0.36). Pick the mode per customer — the pipeline doesn't change.

    Step 01 of 04

    Models call. Tools fire. Outcomes resolve. One event stream holds it together.

    Wrap your OpenAI or Anthropic client once. From then on every call is metered. Out the other side, priced usage lands in the dashboard, your app, and the invoice.

    01 · Model & tool feeds where the work comes from

    Every model and tool call lands as an event.

    OpenAI and Anthropic auto-captured. Gemini, Mistral, Replicate, your own internal tools — tracked as events, priced from your Cost Sheet.

    OpenAI
    Anthropic
    Gemini
    Mistral
    Replicate
    AWS Bedrock
    • SDK wrappers auto-capture OpenAI and Anthropic usage — streaming included.
    • Custom tool? One nozle.track() per step — same shape, same join, no migration.
    02 · The customer every step joins here

    One key — customer and transaction id — pulls it all together.

    Cost events link to the feature event that caused them — so revenue, COGS, and margin agree on a single row.

    run.live
    key: transaction_id · external_customer_id
    rev_side: outcome · token · tool — composable
    cost_side: cost events · rated as they land
    • Idempotent — retries never double-count.
    • The row your engineers debug on is the row your CFO closes the quarter on.
    03 · Surfaces everywhere a run is read

    Dashboard, invoice, API — all reading the same events.

    The customer's invoice, your app's quota meter, your margin dashboard — one run, one number, no reconciliations.

    fanout.run
    dashboard: per-customer · per-model · per-metric
    invoice: one line per metric
    api: GET /api/v1/margin/models
    • Signed webhook on every breach or recovery.
    • Audit trail per step and per join — exportable.
    Every change ·transaction_idcoderevenuecogsgross_marginattributionalert_state

    Seats don't fan out, retry, or resolve. Runs do.
    Price them.

    Every step metered from first token to final outcome. One invoice your customer understands. One margin view your CFO trusts.

    Ledger
    real-time, per event
    Pricing
    token · tool · outcome
    LLM capture
    OpenAI · Anthropic
    Spend caps
    at the gate