Skip to content

Open source usage metering engine

The open source usage metering engine for teams that bill by what customers actually use

Define a metric, send events, and read the total for any customer. No database, no message broker, no orchestration framework. Your application talks to Unimeter over a compact binary protocol, and the integration is this short.

client, _ := billing.New([]string{"localhost:7001"})
defer client.Close()
client.Metrics.Create(ctx, billing.MetricSchema{
Code: "api_calls",
AggType: billing.AggCount,
})
client.Ingest(ctx, []billing.Event{
{AccountID: 42, MetricCode: "api_calls", Value: 1},
})
usage, _ := client.Query(ctx, billing.QueryRequest{
AccountID: 42,
MetricCode: "api_calls",
Period: billing.CurrentMonth(),
})

Self-hosted, nothing to license

One binary you run on your own infrastructure. No per-event pricing from a vendor, no data leaves your network, no dependency on a third-party service for your billing source of truth.

Fast enough that it is never the bottleneck

Events land in under a millisecond. Totals come back in microseconds. Benchmarks in real environments exceed half a million events per second on a three-node cluster, and the design leaves room to grow.

Correct by construction, not by wishful thinking

Every event is written to disk and replicated to a quorum of nodes before acknowledgement. The logic is tested continuously by a deterministic simulator that replays thousands of failure scenarios against formal invariants.

Five lines to integrate, none to maintain

The client handles cluster topology, routing, retries, and failover on your behalf. Your application code gets Ingest and Query methods and nothing else to learn.

Usage-based API billing

Charge by the call, the request, or the token. Attach tags to break usage down by endpoint, feature, or plan tier.

Metered infrastructure

Measure compute seconds, storage gigabytes, or bandwidth transferred across regions and providers with one metric and a few dimensions.

Seat-based subscriptions

Track who is active right now, not just who signed up. Unique counting with joins and leaves keeps the total accurate as teams grow and shrink.

Credit and prepaid balances

Combine sums, thresholds, and real-time queries to power customer dashboards that show remaining credits the instant they change.