Billing and plans

TracePath Cloud has four plans: Free, Pro, Business and Enterprise. Every plan carries the whole product — traces, logs, metrics, exceptions, profiles, AI tracing, dashboards, synthetic monitors, status pages, on-call paging and the MCP server. What changes between them is volume, retention and support.

Two parts of the product are built but not yet reachable, on any plan: session replay needs the browser SDK, and the command-line client needs a published binary. Neither has shipped. See Sessions and CLI.

All prices are in euro and exclude VAT. Yearly billing is twelve months for the price of ten.

Plans

FreeProBusinessEnterprise
Price€0€29/mo or €290/yr€99/mo or €990/yrContact us
Projects21050Unlimited
Seats31025Unlimited
Telemetry ingest5 GB/month50 GB/month250 GB/monthAgreed with you
Telemetry retention7 days30 days30 daysAgreed with you
Synthetic monitors102501,000Unlimited
Overage billingNoneNoneNoneNone

The full feature-by-feature comparison, the VAT rules and the payment methods live on the pricing page (opens in a new tab).

A seat is one person with a login in your organization, whatever their role, including read-only members. A project is one instrumented system with its own ingest token, dashboards and issue feed.

How ingest is metered

Ingest is metered per organization, per calendar month, as a single counter across every project in that organization. The period key is the calendar month in UTC, so the counter resets at the start of each month rather than on your subscription anniversary.

What counts is decompressed bytes: the size of the payload after TracePath gunzips it, not the size on the wire. Gzipping your exports saves bandwidth, not quota.

Dashboard queries, alert evaluations and synthetic monitor runs are not metered.

Current usage against the allowance is shown in the Billing section of the Settings page.

Every ingest path is metered the same way: OpenTelemetry exports to /api/otel/* (traces, metrics, logs and profiles), the report endpoint used by the browser and mobile SDKs, and native profile uploads. A request that is rejected before its body is read — a bad token, an oversized or malformed payload — counts for nothing.

What happens when you reach the limit

The allowance is enforced in two steps: a warning email at 80% and a pause at 100%. Both run off the ingest meter, on every ingest path.

At 80%

TracePath emails the organization's owners once for that period, with the percentage used, the plan's allowance and what an upgrade would cost. Nothing changes in the product — this is a warning, not a throttle.

At 100%

Ingest is paused for the organization. New telemetry is answered with:

HTTP/1.1 503 Service Unavailable
Retry-After: 60
Content-Type: application/json
 
{"error":"Monthly ingest quota exceeded for this plan. Upgrade or wait for the next period."}

503 with Retry-After is the standard retryable answer, so OTLP exporters and the OpenTelemetry Collector hold the batch and back off instead of dropping it and logging an error. That buys you the length of your exporter's queue — not more. A pause that outlasts the queue loses data.

Everything else keeps working: dashboards, queries, alerts, monitors and on-call all run on the data already stored.

⚠️

The wall trips on the first request after the counter crosses the allowance. The counter is flushed on a short interval rather than synchronously per request, so expect a small overshoot rather than a byte-exact cut-off.

Back to normal

Ingest resumes on its own at the start of the next calendar month, or immediately when you upgrade — an upgrade invalidates the cached entitlement, so the next request is already judged against the new allowance.

There is no overage billing. TracePath never invoices you for traffic sent over the line, and an export loop cannot run up a bill. That is also why the ceiling is a hard stop rather than a soft one.

The other limits

Projects, seats and synthetic monitors are checked at the moment you try to cross them. The action is refused with 422 Unprocessable Entity and a message naming the limit, for example:

{"error":"You have reached the projects limit on the free plan. Upgrade to add more."}

Nothing already created is removed, and nothing is charged.

Retention

Retention is enforced by the storage layer. Every row is stamped at ingest with the retention window of the organization's plan at that moment, and every telemetry table carries a time-to-live on that stamp. The storage engine applies it in the background, so a row disappears within hours of ageing out rather than to the second.

There is one window per plan. Telemetry is not moved into a second, cheaper tier when it leaves it, and there is no cold-storage archive and no data-export API.

Deleting a project deletes its telemetry. The deletion is recorded together with the project's removal and carried out by a background job, normally within a couple of minutes, across traces, logs, metrics, exceptions, profiles and stored recordings. Deleting an organization does the same for every project in it. To have individual records removed without deleting the project, write to [email protected].

Because the window is stamped at ingest, a plan change applies to new telemetry: after an upgrade new rows are kept longer, and after a downgrade new rows are kept for the shorter window while rows already stored keep the window they were written with. When a change reduces your window, TracePath emails the organization's owners once, stating the old and new windows.

Changing plans

  • Upgrade or downgrade from the Billing section of Settings. Upgrades go through Stripe Checkout and take effect immediately.
  • Manage Billing opens the Stripe customer portal in the same place: update the card, download invoices, or cancel. A cancellation runs to the end of the period you have already paid for.
  • Enterprise is a conversation, not a checkout button — contact us (opens in a new tab).

Card details never reach TracePath's systems; Stripe hosts both the checkout and the portal. See Security.

Suspended organizations

An organization that has been suspended — for non-payment or for an acceptable-use problem — gets the same 503 with Retry-After: 60 on ingest, and 403 on the dashboard API with a message pointing at support. Write to [email protected] to sort it out; the data is still there.

Reading usage programmatically

The dashboard's own billing endpoints are available to any authenticated caller, including a personal access token. See API reference.