Private GPU path · open-weight models

Inference, sealed.
Nothing kept but the meter.

Your prompt is not written to our database. No closed-model vendor sits in the path.InfraPriv bills the tokens. It never stores the words. Model availability is on the status page.

OpenAI SDKPythonTypeScriptcurlvLLMOllama

1

model live

0

prompts or completions stored

0

third-party model vendors in the path

100%

engine-reported billing

Why InfraPriv

Architecture you can inspect, not a privacy slogan.

No content archive

API prompts and completions transit the engine and are not written to our database — only token counts. Playground history and queued batch jobs stay only if you use those features, and you can delete them.

No vendor in the middle

Open-weight models run on GPUs we operate when a model is live. Your text is not scored, filtered, or trained on by a closed-model company, because that company is not on the path.

Pinned encryption

TLS from your app to the gateway. When inference is attached, TLS pinned to our own CA from the gateway into the inference process. No middlebox gets a cleartext look.

Engine-true metering

Charges settle on the engine's own token counts, not estimates. Every call carries an id you can match to your logs.

Hard spend limits

Prepaid balance, per-key monthly caps, per-key rate limits. The budget cannot run away, and there is no surprise invoice.

A ledger you can audit

Every micro-dollar is an append-only row with a running balance. Any account can be issued as a signed statement of activity.

Catalog

Models & pricing

Full catalog

Three steps

Three steps to a key.

  1. 1

    Create an account

    Verify email, open the console. No sales call, no monthly invoice.

  2. 2

    Load credits & mint a key

    Prepaid balance. Keys are hashed at rest, with optional monthly caps.

  3. 3

    Point your SDK here

    Swap the base URL and the key. Streaming, usage, and errors match the API you already use.

curl https://infrapriv.com/api/v1/chat/completions \
  -H "Authorization: Bearer ip_..." \
  -H "Content-Type: application/json" \
  -d '{
    "model": "infrapriv/default",
    "messages": [{"role": "user", "content": "Hello!"}],
    "stream": true
  }'

Responses include an x-request-id that matches your activity log, so every token is accounted for.

FAQ

Fair questions.

Do you read or store my prompts?

No. The API proxies your request straight to the inference engine and never writes prompt or completion content to our database, only token counts, cost, and latency for billing. When a model is serving, transport is encrypted on both hops: TLS from your app to the gateway, and TLS pinned to our own certificate authority from the gateway to the GPU. The dashboard playground keeps your own chat history so you can resume it, and the batch API stores queued job content until it runs; both are deletable from your account.

How is this different from a closed model API?

Open weight models remove the closed-model vendor from the path: when a model is serving, the weights run on machines we operate, so there is nobody between you and the GPU to form a view about your data. Live availability is on the status page. The privacy question stops being what a vendor promises and starts being what the architecture makes possible.

Can you prove any of this?

That is the intended standard. Prompt content is absent from our schema, so there is no table to produce. Any account can be issued a signed statement of its own activity, showing every payment and every metered request with the identifiers returned to your client at the time, so our records can be checked line by line against yours. If you need a data processing agreement or a security review before you send us anything real, ask and you will get one.

How does billing actually work?

Credits are prepaid. Before a request is dispatched, a worst-case hold is taken atomically; after the engine responds, you're charged for actual reported usage and the remainder returns to your balance. Failed requests are never billed.

Is it really OpenAI-compatible?

Yes. /chat/completions (streaming and non-streaming), /embeddings, and /models follow the OpenAI shapes, including error formats. Point any official SDK at the base URL and change nothing else.

What runs the inference?

GPUs we operate, fronted by vLLM-class engines, when a model is serving. There are no third-party resellers in that path. If no engine is attached, the catalog shows cold and the status page says so.

What happens when my balance runs out?

Requests are rejected up front with a clear 402 before touching the GPU, so you're never billed into the negative by surprise. Top up and the same key keeps working.

The path is private.

Open a console. When a model is serving, a metered request is the next step. If the work needs a processing agreement first, that is a normal start here — not a special case.