now onboarding early customers

AI infrastructure
with a zero in the margin.

ZeroFare is a self-hostable AI gateway and management plane. Run the edge on your own hardware, or point your app at our hosted gateway. Plans pay for the service — model spend always passes through at provider rates, with a receipt for every decision.

Apache-2.0 core · self-host in minutes · no vendor lock-in

terminal — your machine
# 1. install the edge (local inference gateway)
$ git clone https://github.com/zerofare/free-llm && cd free-llm
$ corepack pnpm install && pnpm build
$ printf '%s\n' 'your-vault-passphrase' | pnpm zerofare init

# 2. or use the hosted gateway — same API, zero setup
$ curl https://150-136-150-135.sslip.io:8443/v1/messages \
    -H "Authorization: Bearer zf_…" \
    -d '{"model":"…","max_tokens":64,
         "messages":[{"role":"user","content":"hi"}]}'

The stack

Three parts. One contract.

Every layer speaks a frozen, versioned contract — zerofare.compat/v1 on the wire, zerofare.management/v1 for control.

Λ

Edge self-hosted

A local inference gateway you own. OpenAI-, Anthropic-, and Responses-compatible surfaces, secret vaulting, admission control, and decision receipts — all on 127.0.0.1 by default.

Hosted gateway early access

The same API without the ops. Bearer-key auth, fair admission, tenant isolation, and per-decision receipts. Point your SDK at it and ship.

Console & management live

A 20+-service management API behind a frozen contract, with a customer console for keys, policies, usage, and audits. Self-serve, not a support ticket.

Why ZeroFare

Margin-free by construction

  • Spend passes through. Subscription plans entitle cloud services only. Provider spend is billed at provider rates — the type system literally forbids a plan granting spend credits.
  • Receipts for every decision. Admission, routing, and finalization produce decision receipts you can fetch and audit.
  • Frozen contracts. Wire shapes are versioned and snapshotted; breaking changes get a new version, not a surprise.
  • Yours to run. Apache-2.0 core. The edge binds loopback by default and refuses non-local hosts — your keys stay on your box.
tenant isolation tested digest-only secret storage 519-test suite property-based tests
// TypeScript SDK — same client for edge or hosted
import { ZeroFareClient } from "@zerofare/sdk";

const zf = new ZeroFareClient({
  baseUrl: "https://150-136-150-135.sslip.io:8443",
  apiKey: process.env.ZERFARE_API_KEY!,
});

const reply = await zf.messages({
  model: "your-model",
  max_tokens: 256,
  messages: [{ role: "user", content: "Explain receipts." }],
  zerofare: { profile: "zerofare.compat/v1" },
});

// every call is auditable afterwards:
const proof = await zf.receipt(decisionId);

Phasing

Honest about what's live

We ship in phases and label everything. Here's the state of the stack today — nothing on this page is aspirational without a badge saying so.

Phase 1 shipped

Local edge, hosted gateway & management API behind frozen contracts, customer console with real authentication, single-VM production deployment with TLS.

Phase 2 in progress

Durable domain stores behind the console, metered usage & billing, org/team features (SSO), and provider origin dispatch for the hosted path.

Phase 3 planned

Learned routing, semantic cache, org/tool caches, and the paid hosted product described in our IaaS policy — multi-region, zero-egress options.

Full roadmap →

0%margin on model spend
v1frozen wire contracts
25+management endpoints
3compat surfaces (chat / responses / messages)

Start at zero.

The Free plan includes the console and edge distribution. No card, no markup on spend, ever.

Run the quickstart Compare plans