# Meteroid

Open-source subscription and usage-based billing with an official REST API and a hosted cloud.

Meteroid meters usage events, models plans (flat, tiered, usage-based, hybrid), manages subscriptions and issues invoices and credit notes. The Rust monorepo self-hosts with Docker Compose or Helm under AGPL-3.0; Meteroid Cloud charges a share of managed revenue. Customers, plans, subscriptions, invoices and events are all exposed over a bearer-token REST API.

Alternative to: Stripe Billing, Chargebee

- Capabilities: adaptable, operable
- Vertical: invoicing-finance
- Shape: business-app
- Form factor: web-app
- Execution model: deterministic
- Provenance: unknown (recorded, never ranked)
- Repo: https://github.com/meteroid-oss/meteroid (AGPL-3.0), 1227 stars, last commit 2026-08-31
- Last activity: 2026-08-31
- Page: apps/meteroid-oss--meteroid.html
- JSON: apps/meteroid-oss--meteroid.json

## Use it when

- I sell a SaaS or API with usage-based pricing and want billing I own rather than a percentage-of-revenue vendor
- I want my agent to create customers and subscriptions and pull invoices from my product's backend

## Gotchas

- AGPL-3.0 on the self-hosted edition
- Self-host needs Postgres, Kafka and ClickHouse; the compose file is described as minimal for testing
- Cloud pay-as-you-go is 0.5% of managed revenue, which is a different cost shape from a flat plan

## Editions

- Open Source (self-hosted): Free, open source
  - source: https://github.com/meteroid-oss/meteroid
  - container: https://github.com/meteroid-oss/meteroid/tree/main/docker/deploy
- Cloud sandbox: Free, closed source
  - hosted: https://app.meteroid.com/registration
- Cloud pay-as-you-go: Free, closed source
  - hosted: https://meteroid.com/pricing
- Cloud volume plan: €219 per month, closed source
  - hosted: https://meteroid.com/pricing
- Enterprise: Free, closed source

## Adaptable: make it yours

Effort: config-only (20 things to edit)

Self-host from docker/deploy with a .env: secrets, API listen addresses, Postgres, Kafka and ClickHouse connections, SMTP and optional OAuth for Google, HubSpot and Pennylane. Pricing models, plans and metrics are data you create in the app or over the API, not files.

- Env vars: JWT_SECRET, INTERNAL_API_SECRET, SECRETS_CRYPT_KEY, METEROID_API_EXTERNAL_URL, METEROID_REST_API_EXTERNAL_URL, METEROID_PUBLIC_URL, DATABASE_URL, KAFKA_BOOTSTRAP_SERVERS, CLICKHOUSE_HTTP_ADDRESS, OBJECT_STORE_URI, OPENEXCHANGERATES_API_KEY, MAILER_SMTP_HOST, MAILER_FROM, OAUTH_GOOGLE_CLIENT_ID, OAUTH_HUBSPOT_CLIENT_ID, OAUTH_PENNYLANE_CLIENT_ID, SVIX_JWT_SECRET
- Config files: .env, docker/deploy/docker-compose.yml, k8s/meteroid
- Prompt files: none
- Accounts you'll need: Stripe (for card collection, optional); Meteroid Cloud account (cloud editions); OpenExchangeRates (multi-currency, optional)

## Operable: what an agent can drive

Operability: official. Interface: api at https://docs.meteroid.com/api-reference (published by the builder, both).

### Reach (partial coverage)

- Ingest usage events and define billable metrics: reachable. API tags Events, Metrics & Usage; spec/api/v1/openapi.json
- Model plans and pricing: reachable. API tags Plans, Products, Features
- Subscription lifecycle (create, upgrade, cancel): reachable. API tag Subscriptions
- Invoices and credit notes: reachable. API tags Invoices, Credit Notes
- Entitlements: reachable. API tag Entitlements
- Trials, coupons and add-ons: reachable. API tags Coupons, Add-ons
- Customer management: reachable. API tag Customers
- Checkout and payment collection: reachable. API tag Checkout Sessions; Stripe connector in repo
- Quotes (CPQ): undetermined. README lists Quotes as a feature; no Quotes tag seen in the API reference index
- Customer self-serve portal: not reachable. portal is a hosted UI for end customers, not an API surface
- Insights and reporting: not reachable. README marks Insights & Reporting 'Coming soon'

## Code stack

- Languages: Rust, TypeScript
- Frameworks: tonic (gRPC), React
- Package manager: cargo
- Database: PostgreSQL, ClickHouse, Kafka
- Hosting target: Docker Compose, Kubernetes (Helm)

## Skills

contributor: Repo tooling for contributors adding payment and tax providers to Meteroid.
- Paths: .claude/skills/*/SKILL.md

## Evidence and confidence

- formFactor: web app plus gRPC and REST APIs; docker/deploy in repo (confidence 0.9)
- executionModel: billing engine, no model at runtime (confidence 0.9)
- operability: docs.meteroid.com/api-reference published by the Builder; OpenAPI in spec/api/v1/openapi.json (confidence 0.9)
- effort: .env.example in repo names the deployment surface (confidence 0.8)
- editions: meteroid.com/pricing: open source, sandbox, pay-as-you-go 0.5%, volume EUR 219/mo, enterprise (confidence 0.85)
- active: GitHub pushedAt 2026-08-31
- reach:  (confidence 0.7)

## Open questions

- Whether the self-hosted REST API is at parity with api.meteroid.com (the reference documents the cloud base URL)
- Quotes exposure over the API

## Sources

- https://github.com/meteroid-oss/meteroid (sourcing:invoicing-finance:github)
- https://docs.meteroid.com/api-reference (analysis:invoicing-finance)
- https://meteroid.com/pricing (analysis:invoicing-finance)
