For AI WordPress agencies Bill what AI cost

Bill a job that used to take 8 hours
and now takes 30 minutes.

Every WordPress agency is guessing at this in 2026. Earn answers it with numbers. Actual AI cost per client, per site, per tool, so you can charge from a position of knowledge instead of fear.

Watch · 47s
The product

What you actually see when you open /dashboard/settings/earn after the first paying client week.

By client writes weighted 3× reads · proximity-matched ±90s
Client Tool calls Hours saved Est. spend Share
summitorganics.co 412 28h €384.92 30%
brightlinklaw.com 318 23h €291.04 23%
lazlow.design 256 18h €232.62 18%
helmwerk.de 224 14h €194.40 15%
nordwoodstudio.com 190 9h €154.52 12%
No extra AI bill

It's just OpenTelemetry. Claude Code already has it.

You don't pay for a second telemetry product. You don't proxy your model calls through respira. Claude Code emits standard OTLP metrics; we collect them at /otel and cross-join them with the MCP tool calls your AI made during the same turn. Privacy hard line: only metadata. No prompts, no code, no WP content.

  1. 01
    Generate an OTEL token

    One click at /dashboard/settings/earn. Token shown once, hashed at rest, revocable.

  2. 02
    Paste the snippet into ~/.zshrc

    Standard OTEL env vars. CLAUDE_CODE_ENABLE_TELEMETRY=1, endpoint, bearer. Done.

  3. 03
    Use Claude Code like you already do

    Every turn ships token counts + dollar cost. Within minutes your dashboard shows what you spent and on which client site.

Who it's for

WordPress agencies
billing AI-assisted work

Solo freelancers

You used to charge €60/h for a 4-hour build. Now it's a 20-minute Claude Code session and €4 of tokens. Earn tells you what to charge so neither you nor the client gets robbed.

Boutique studios

Multi-client retainers. Token cost per client, share of monthly spend, recommended multiplier. Drop the screenshot into the next invoice and trust returns to the conversation.

Agencies running 20+ sites

Per-site attribution, per-tool drill-down, regression alerts when a Beaver Builder write starts silently failing. You see it before the client emails.

How the math works

Cost is your raw input. Multiplier is your judgment.

Raw AI cost€1,257.50

Your time on top~92h saved

Tooling, hosting, expertiseyour craft

Margin + warrantythe rest

= billing€1,697.63

MultiplierWhat it covers
1×–2×Reselling tokens. Rare; you're leaving margin on the table.
2.5×–4×Standard retainer range. Hours + healthy margin.
5×–6×Project work where AI is one input among several.
6×+Premium retainers with SLAs and on-call.
The case

Three ways to bill the same job

Client wants a hero section redesigned + new pricing page + WooCommerce checkout polish. Used to be a 6-hour ticket. With Respira running Claude Code against the site, the build is 40 minutes and €23 of tokens.

Hide it

Bill 6 hours like you used to

€600 invoice, €23 cost. Looks great for a quarter. Then your client tries it themselves with Cursor and the whole relationship is suddenly transactional.

Short-term win, long-term loss of trust.

Be honest

Show the cost · charge a multiplier

"AI cost: €23. My setup + expertise + warranty: 4× on top. Total €92, delivered in an hour." Client knows the math. You stay €69 above raw cost with no friction.

Honest, repeatable, defensible.

Productize

Sell the outcome at a flat rate

"Hero + pricing + checkout polish — €350. Done in a week. AI cost on us." Client never sees the meter, you ship four of these a day, your margin compounds.

Where most agencies will land in 2026.

Earn doesn't pick for you. It puts the numbers next to the slider and lets you see all three at once.

Read this

The fine print.

You're about to wire your AI coding session into a third-party endpoint. That deserves plain language. Here is exactly what happens, what gets stored, and what never leaves your machine.

What Respira collects

Cost telemetry and tool metadata. Nothing else.

  • Per-turn token counts and dollar cost (sum of input + output + cache tokens, the same number Claude Code prints at the end of each turn).
  • Per-tool-call metadata: tool name, site host, duration in ms, success flag, error class. Read-vs-write classification.
  • An OTEL session id and an MCP session id, plus a server-derived cc_session_id when the two land within sixty seconds so cost and tools can be cross-joined.
  • Your site URL and the active page builder, both already public on the site itself.
  • Coarse user agent of the MCP client (Claude Code, Cursor, Continue) for compatibility tracking.
What Respira never sees

Your prompts, your code, your content.

  • No prompts. No model output. The OTEL logs channel is dropped server-side before it touches the database. Only the metrics channel is kept.
  • No tool arguments. No tool results. The MCP emitter has no read path to either; they aren't part of the contract.
  • No WordPress content. No post bodies, no media, no customer data from the site you're editing.
  • No file paths, no command output, no environment variables.
  • No proxying. Your Claude Code calls go straight from your machine to Anthropic. Respira is not in the model path.
Who pays whom

You pay Anthropic for tokens. You pay Respira for the WordPress layer.

  • AI usage is billed by Anthropic at whatever rate your Claude Code plan or API account has. Respira adds no markup.
  • Respira's price covers the MCP server, the dashboard, the cost-attribution engine, support, and the WordPress automation layer.
  • Earn is included on every plan. There is no upsell to unlock it.
  • 14-day refund window on every paid plan. Maker trial requires no card.
Storage, retention, control

Your data, with a kill switch.

  • Stored in Supabase (eu-west). Row-level security: only you can read your own events. Service-role writes only.
  • OTEL bearer tokens are hashed at rest, shown once at generation, revocable from /dashboard/settings/earn.
  • Set RESPIRA_USAGE_OPT_OUT=1 in your shell to stop the MCP emitter without touching anything else.
  • Stop pointing your OTLP exporter at /otel to stop cost telemetry. Delete the OTEL token to make any future pushes 401.
  • Email me to wipe your historical events. One-shot delete, no ticket dance.
How honest the numbers are

Aggregate spend is exact. Per-client is a defensible estimate.

  • Total monthly spend is exact. Those are the dollar amounts Claude Code itself reports per turn.
  • Per-client attribution pairs each MCP tool call with the nearest cost turn within ±90 seconds. Writes count 3× reads in the split.
  • When the OTEL session id matches the MCP session id, the join is exact, not estimated.
  • The dashboard shows you both numbers, the matched percentage, and the unmatched residual, so you can see how much of the bill is precise versus inferred.
Built by one person

No data team, no SaaS reseller chain.

  • Respira is built solo. The MCP server is open source on GitHub. The website code is auditable.
  • No third-party analytics on the dashboard. No session replay, no behavioural pixels.
  • If you find a leak in this list, mail me. I'll fix it the same day and credit you on the next release page.
Common questions

A short FAQ.

Does respira see my prompts or my WordPress content?

No. The pipeline ships metadata only — tool name, site host, duration, success flag, error class. The OTEL logs channel is dropped server-side. The MCP emitter has no read path to tool args or results. RESPIRA_USAGE_OPT_OUT=1 disables the entire telemetry stream.

Do you charge for the AI?

No. You pay Anthropic for Claude Code at whatever rate your account has. Respira is the WordPress automation layer + the dashboard that tells you what it cost. No proxy, no markup, no second meter.

Which AI tools does this work with?

Today it's optimised for Claude Code (Anthropic), which ships its OTLP cost stream natively. Cursor, Aider, Continue, and any other OpenTelemetry-emitting agent will land in Earn the same way once the customer points their exporter at /otel. The MCP-side per-tool breakdown is Respira-specific because the tool calls go through the Respira MCP.

How accurate are the per-client numbers?

Aggregate spend is exact — those are the dollar amounts Claude Code itself reports per turn. Per-client attribution is a proximity-matched estimate (each MCP tool call pairs with the nearest cost turn within ±90 seconds and writes count 3× reads in the split). When the customer's Claude Code session ID lines up with the MCP session, the match is exact.

Can I export this for invoices?

Click the period dropdown, click "Copy as Markdown." Drop the table directly into the invoice description, the proposal, or the monthly retainer report. CSV export queued for the next release.

If you operate Respira for clients

Two ways to make money as a Respira integrator.

You're already running Respira on your clients' WordPress sites — picking the builder, firing the MCP, shipping the work. There are two parallel revenue streams in that role. Earn pays your labor. Affiliate pays the relationship.

Your labor

Bill what AI actually cost you

See real AI spend per client. Apply a multiplier you can defend. Invoice from a position of knowledge instead of guessing. That's this page.

  • €1,257 of AI → €1,697 billed at 1.4× (your numbers may vary)
  • Per-site, per-tool breakdown for the invoice line
  • Privacy hard line: metadata only, no prompts or content
You're here
Your network

Get a cut for every site you bring

When you sign a client up to Respira directly under their own account, the recurring commission flows to you for as long as they stay. Lifetime, no cap, no expiry.

  • 10% starting → 50% top tier (after 100 paid customers)
  • One slug, deep-linkable, five changes per month
  • Manual approval, usually inside 48 hours
See the affiliate program

Both surfaces are built for the same person: the agency or freelancer who treats Respira as their operating system for AI-assisted WordPress work. Use one or both.

Earn is included in every Respira plan.

Start a free trial, connect your first client site, paste the OTEL snippet. The dashboard fills in within minutes.

14-day refund window. No credit card on the Maker trial. Built by one person.