Discover / Token & Cost Optimization
OpenMeter
by openmeterioGo
Usage metering and billing infrastructure for tracking LLM API consumption and cost.
Maturity: stable because 3y old, v1.0.0-beta.231 released 20d ago. Derived from release and commit history, not a rating.
- Stars
- 2.2k
- Forks
- 199
- Downloads / mo
- 74k
- Last commit
- 2026-08-02
- License
- Apache-2.0
- Open issues
- 122
Market and trust evidence
Edition not yet matchedNo exact skills.sh identity match is available for this repository. Repository adoption and freshness remain visible above; install momentum is not inferred.
Trust analysis is a screening signal, not a security warranty. Read the ranking and trust methodology.
In practice
Written by AI from this repository’s README · high confidenceUsage based pricing needs an event pipeline, aggregation store and invoicing logic that most teams end up building from scratch.
Use it when
Use it when you charge per token, per API call or per unit of usage and need metering, limits and invoicing in one system.
Not the right pick when
Heavy for flat rate subscription billing, since self hosting brings PostgreSQL, ClickHouse and Kafka along with it.
Capabilities
- ingest events in CloudEvents format with SUM, COUNT, AVG, MIN, MAX meters
- usage based invoicing with tiered, graduated and flat fee pricing
- usage limits and entitlements with real time balance tracking
- product catalog of plans, add-ons, features and rate cards
- prepaid credit grants with priority burn-down
- LLM cost tracking for AI token usage
Requirements
- Docker Compose for the self hosted quickstart
- PostgreSQL, ClickHouse and Kafka as backing components
- Kubernetes and the Helm chart for production deploys
Cost: Open source with a paid cloud option
Install
Derived from the published package name in the repository, not from a model.
Video walkthroughs
Third-party YouTube uploads matched to this tool by title, channel and repository name on 2026-08-03. Not made, reviewed or endorsed by SkillPilot. View counts and publish months are as of the match date and the month is approximate. Nothing loads from YouTube until you press play.
What the repository ships
Detected from the actual files in the repository root.
Latest release v1.0.0-beta.231
Published 2026-07-14
<!-- Release notes generated using configuration in .github/release.yml at v1.0.0-beta.231 -->
What's Changed
Exciting New Features 🎉
- feat(api): make the AIP TypeScript SDK release-ready by @tothandras in https://github.com/openmeterio/openmeter/pull/4687
Bug Fixes 🐛
- fix: optimize customer usage attribution lookup by @turip in https://github.com/openmeterio/openmeter/pull/4684
- fix(spec): typespec typescript emitter internal handling by @tothandras in https://github.com/openmeterio/openmeter/pull/4706
Breaking Changes 🛠
- feat: adopt legacy Ent databases into Atlas migrations by @turip in https://github.com/openmeterio/openmeter/pull/4705
Dependency Updates ⬆️
- chore(deps): bump github.com/invopop/gobl from 0.501.0 to 0.502.1 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/4682
- chore(deps): bump github.com/confluentinc/confluent-kafka-go/v2 from 2.14.2 to 2.15.0 by @dependabot[bot] in https://github.com/openmeterio/openmeter/pull/4668
Other Changes
- fix(spec): makefile by @tothandras in https://github.com/openmeterio/openmeter/pull/4704
- feat: don't allow listing or getting unit config equipped plans on v1 - OM-409 by @rolosp in https://github.com/openmeterio/openmeter/pull/4679
Full Changelog: https://github.com/openmeterio/openmeter/compare/v1.0.0-beta.230...v1.0.0-beta.231
Tags
README
<div align="center">
OpenMeter logo
OpenMeter
The open-source metering and billing platform
for AI, agentic and DevTool monetization.
Docs |
Hosted |
Blog |
Contributing
</div>
OpenMeter is a real-time metering and billing engine that
helps you track usage, enforce limits, manage subscriptions,
and automate invoicing — all in one platform. Ingest events
via a simple API, define meters with flexible aggregations,
and connect usage data to billing, entitlements, and
customer-facing dashboards.
Features
- Usage Metering — Ingest events in
CloudEvents format, define meters
with flexible aggregations (SUM, COUNT, AVG, MIN, MAX),
and query usage in real time.
- Usage-Based Billing — Generate invoices from metered
usage. Supports tiered, graduated, and flat-fee pricing
with automated invoice lifecycle management.
- Usage Limits and Entitlements — Enforce usage quotas
per feature with real-time balance tracking, boolean
feature flags, and grace periods.
- Product Catalog — Define plans, add-ons, features, and
rate cards. Manage subscriptions with mid-cycle changes,
prorating, and alignment.
- Prepaid Credits — Support paid or promotional credit grants
with priority-based burn-down and expiration.
- Customer Portal — Token-based self-service dashboards
so your customers can see their own usage.
- Notifications — Webhook-based alerts with configurable
rules and channels for usage thresholds and billing events.
- LLM Cost Tracking — First-class support for metering
AI token usage and computing model-specific costs.
Getting Started
Cloud
The fastest way to start.
and begin metering and billing in minutes —
no infrastructure to manage.
Self-Hosted
Run OpenMeter locally with Docker Compose:
git clone git@github.com:openmeterio/openmeter.git
cd openmeter/quickstart
docker compose up -d
Then ingest your first event:
curl -X POST http://localhost:48888/api/v1/events \
-H 'Content-Type: application/cloudevents+json' \
--data-raw '{
"specversion": "1.0",
"type": "request",
"id": "00001",
"time": "2026-07-07T00:00:00.001Z",
"source": "my-service",
"subject": "customer-1",
"data": { "method": "GET", "route": "/api/hello" }
}'
Query your usage:
curl 'http://localhost:48888/api/v1/meters/api_requests_total/query?windowSize=HOUR' | jq
See the full quickstart guide for more details.
Deploy to Production
Deploy to Kubernetes using our
SDKs
| Language | Package | Source |
|----------------------|--------------------------------------------------------------------------------|----------------------------------------------------|
| Go | openmeter | api/client/go |
| JavaScript / Node.js | @openmeter/sdk | api/client/javascript |
| Python | openmeter | api/client/python |
Don't see your language? Use the
directly or
Architecture
OpenMeter is built in Go with a stack optimized for
high-volume event ingestion and real-time aggregation:
| Component | Role |
|--------------------------|----------------------------------------------------------|
| PostgreSQL (Ent ORM) | Billing, subscriptions, entitlements, product catalog |
| ClickHouse | Real-time usage aggregation and analytics |
| Kafka | Event streaming and ingestion pipeline |
| TypeSpec | API-first design — OpenAPI spec and SDKs from TypeSpec |
See Architecture and data flow for a
diagram of the runtime components and their primary interactions.
Community
We'd love to have you involved:
- Contributing — Start here if you
want to contribute code.
- Code of Conduct — Our community
guidelines.
- Blog — Product updates
and engineering deep dives.
Development
Prerequisites: Nix and
direnv are
recommended. See CONTRIBUTING.md for
detailed setup instructions.
make up # Start dependencies (Postgres, Kafka, ClickHouse)
make server # Run the API server with hot reload
make test # Run tests
make lint # Run linters
License
Licensed under Apache 2.0.