Self-hosted billing infrastructure · runs inside your cluster

Your billing layer
broke at scale.
This is the fix.

Events double-counting. Customer dashboards that don't match the invoice. Charges support can't explain without a vendor ticket. You've evaluated the SaaS platforms — maybe more than one. The problem is still there. Because at scale, usage billing stops being a pricing page problem and becomes a data contract problem. ABAXUS deploys inside your Kubernetes cluster and fixes the architecture.

$ docker compose up -d
localhost:8080/dashboard
Live
Events Ingested
2.41M
+12.3%
Subscriptions
847
+4.1%
Period Revenue
$48,290
+8.7%
P95 Latency
47ms
-6.2%
Idempotent at Scale Meter Versioning Multi-Region Aggregation Late-Arrival Handling Full Audit Trail Data Contract Architecture Backfill Without Breaking Invoices Source of Truth Ownership HIPAA Compliant SOC2 Ready Air-Gapped Deployments Dashboard-Invoice Parity GDPR / Data Residency No % of Revenue Fees Zero External Dependencies
The Problem

Every SaaS billing platform
shares the same architectural gap.

They all require your usage data to cross a network boundary to their API. At low volume, this works. At scale — across regions, with billions of events, with pricing models that change — that boundary becomes the bottleneck.

One engineer evaluated Stripe Billing, Metronome, and Orb sequentially. Still described the problem as unsolved. Because the gap isn't vendor selection — it's architecture. At scale, billing stops being a pricing page problem and becomes a data contract problem: who owns the definition of a billable event, who corrects it, and how do you change pricing without breaking closed invoices.

Multi-region aggregates diverge silently
Dashboard doesn't match the invoice
Events double-counted on retries
Invoices support can't explain
No source of truth for usage data
Pricing changes break historical invoices
The Solution

ABAXUS eliminates the data boundary.

Deploys inside your Kubernetes cluster — co-located with your events. No network boundary to a third-party API. No throughput ceiling. No compliance exposure from usage data leaving your environment.

Idempotent ingestion — events never double-count, safe to retry
Every invoice line traceable to raw events via SHA-256 checksums
Meter versioning — pricing changes don't break historical invoices
Multi-region aggregation inside your own cluster — you define the consistency
Who This Is For

Two segments. Same architecture problem.

The failure modes differ. The root cause is identical: usage data crossing a network boundary to a third-party API that wasn't built for your scale or compliance posture.

Dev Tools SaaS
CI/CD · API gateways · observability · feature flags · agent platforms
Billing by: API calls · build minutes · tokens · compute time · agent actions
Transaction fees compound with ARR — every dollar of growth increases the billing tax
Event volume exceeds billing platform API limits — the billing layer becomes the bottleneck
Pricing model changes require re-instrumenting event collection — metering and billing are coupled
Multi-region usage reconciled by hand scripts, not first-class infrastructure
Trigger: The monthly billing platform invoice growing faster than engineering value received, or a customer escalation engineering cannot explain.
Healthtech SaaS
EHR/EMR · telehealth · medical imaging AI · FHIR exchange · SaMD
Billing by: per patient · per scan · per record · per audit event · per claim
PHI embedded in usage events — sending to a SaaS billing API triggers HIPAA obligations
BAA requirement from the billing vendor adds legal friction and procurement complexity
Audit trail retention (6-7 yr HIPAA, 10+ yr SaMD) exceeds what SaaS platforms retain or make queryable
GDPR data residency requirements conflict with billing data stored in undeclared regions
Trigger: A compliance review flagging where usage data goes, or a customer requiring a BAA for the billing system.

B2B SaaS between $5M and $100M ARR, engineering team of 6 or more, running usage-based or hybrid pricing.

Core Architecture

Three engines. One binary. No data boundary.

Ingestion, aggregation, and pricing — all deployed inside your cluster. No external API to push events to. No throughput ceiling. No compliance surface from data leaving your environment.

Event Ingestion

Receive, deduplicate, and durably store usage events. Mandatory idempotency keys. 202 Accepted, never 200 OK.

POST/v1/events
POST/v1/events/batch
GET/v1/events
207Multi-status for batch — never reject all for one bad event

Metering & Aggregation

Multi-region event collection with centralised aggregation. Two query modes with explicit consistency: real-time for dashboards, exact scan for billing — never conflated.

Real-time <100ms · eventual
Billing exact · checksummed
sum · count · max · min · last · unique_count · percentile

Pricing Engine

Meter definitions are versioned — old events processed under old rules, new events under new rules. Pricing changes don't touch historical invoices. Models are data, not code.

per_unit·tiered·volume
package·flat_fee·matrix
custom_formula
Versioned meters · Immutable plans · Enterprise overrides
How It Works

Eight API calls. One complete billing system.

From defining what to measure to charging a card — every step is an idempotent API call. Deploy once, wire your event sources, invoice your customers.

01
Metrics
Define what to measure and how to aggregate it.
POST /v1/metrics
02
Price Plans
Charges tied to metrics. Tiered, volume, flat, package.
POST /v1/price-plans
03
Customers
Identity, billing provider credentials, payment method.
POST /v1/customers
04
Subscriptions
Bind customer to a plan version. Locks pricing at creation.
POST /v1/subscriptions
05
Event Ingestion
202 Accepted. Idempotency key mandatory. Batch up to 500.
POST /v1/events
06
Usage Check
Eventual summary from aggregates, or exact scan of raw events.
GET /v1/usage/summary
07
Calculate
Full line-item breakdown. SHA-256 checksummed. Idempotent.
POST /v1/pricing/calculate
08
Invoice & Charge
Issue, email, charge. Bulk available. Full audit trail.
POST /v1/invoices
POST /v1/events 202 Accepted
Step 05 — Event Ingestion
{
  "customer_id":     "cust_acme",
  "metric_key":      "api_calls",
  "value":           1,
  "timestamp":       "2026-03-17T14:00:00Z",
  "idempotency_key": "evt_acme_req_abc123"  // mandatory
}
Queued async — never blocks your request path
Duplicate key silently skipped — safe to retry
Non-Negotiable

Quality properties baked in.

01

Idempotency Everywhere

Duplicate events, API calls, and calculations are all safe. Replay any request without side effects.

02

Complete Audit Trail

Every invoice line item traces back to raw events through stored computations and SHA-256 checksums.

03

No Hard Deletes

Metrics, plans, calculations, events — all immutable historical record. Soft-delete only preserves audit integrity.

04

Decimal Arithmetic Only

DECIMAL(20,10) in PostgreSQL, decimal library in code. Floating point in billing is a lawsuit waiting to happen.

05

Explicit Consistency

Real-time queries always declare eventual. Billing computations always declare exact.

06

Observable from Outside

Structured JSON logs, Prometheus metrics, health endpoints. Required for on-premise where you have no direct access.

07

Meter Versioning

Meter definitions are versioned with time-bounded applicability. When pricing changes, old events compute under old rules. Historical invoices stay explainable.

08

Backfill Without Breaking Invoices

Correcting upstream data retroactively uses formal adjustment entries — not silent overwrites. Closed invoices remain closed. The correction is auditable.

Stack

Minimal by design.
No hidden dependencies.

Every dependency was chosen to maximize deployability. If it doesn't help you run in an air-gapped environment, it's not in the binary.

Language
Go
Database
PostgreSQL 16
Queue
PG SKIP LOCKED
Deploy
Docker / Helm
Metrics
Prometheus
Logging
zerolog JSON

What we intentionally don't ship:

Kafka→ PG queue until measured bottleneck
Redis→ No cache until slow query measured
Elasticsearch→ PG range queries + indexes
ClickHouse→ Add at billions per tenant
Microservices→ One binary, packages not services
External auth→ Breaks air-gapped deployments
Beta · Limited seats

Early adopter pricing.
75% off. For life.

ABAXUS is in active development. The first customers who deploy it and give feedback lock in a 75% lifetime discount on license and support — before GA pricing applies.

Early Adopter — 75% Lifetime Discount
Standard
$36K/yr
Your price
$9K/yr
locked in for life
Everything in Growth — plus direct access
Up to 500 billed customers
100M events / month
All pricing models + custom formula
Helm chart + Kubernetes deployment
Priority support + direct Slack access
Weekly architecture calls with the team
Influence the roadmap directly
Lifetime lock — price never increases at GA
Apply for Early Adopter Access

Limited to a small number of teams. Qualifying call required — we pick customers we can build with, not just for.

What changes at general availability
Standard pricing tiers go live (Starter / Growth / Enterprise)
Early adopter rate stays locked for existing customers
Direct Slack access transitions to standard support channels
Free Resource

Where does your source of truth for usage data live?

If engineering, finance, and support all answer differently — you have a data contract problem. Map your billing infrastructure failure points before they become customer escalations. A self-assessment for VPs of Engineering and CTOs operating usage-based pricing.

  • Multi-region aggregation gaps and diverging counts
  • Dashboard-invoice mismatch under delayed or batched data
  • Invoice disputes support can't resolve without a vendor ticket
  • Pricing changes that break historical invoices
  • No clear owner when usage data is wrong
Get the Infrastructure Checklist
Delivered to your inbox — no paywall, no sales call required.

No spam. Unsubscribe anytime.

Stop debugging billing.
Start shipping product.

Your billing layer should be invisible infrastructure — not the reason support escalates, finance can't close, or invoices can't be explained. In 30 minutes we map your event sources, identify your data contract gaps, and show you exactly what fixing the architecture looks like. No sales pitch.

$ curl -sSL https://get.abaxus.io | sh