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.
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
Three steps
Three steps to a key.
- 1
Create an account
Verify email, open the console. No sales call, no monthly invoice.
- 2
Load credits & mint a key
Prepaid balance. Keys are hashed at rest, with optional monthly caps.
- 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.