prxy.monster API-key BYOK is live. Start free

Quick start — Local

Run the gateway in a single Docker container. Storage stays local, there is no hosted billing surface, and there is no prxy.monster telemetry. Provider calls still go to whichever provider you configure.

Local mode is free forever. Most production modules run locally with the same request shapes. Cloud-only surfaces such as billing, API-key management, team controls, and MPP payments are not available in local mode.

Run the container

docker run -d \
  --name prxy \
  -p 3099:3099 \
  -v ~/.prxy:/data \
  -e ANTHROPIC_API_KEY=sk-ant-xxx \
  prxymonster/local:latest

That’s it. The container is stateless — all data lives in the host volume at ~/.prxy/.

Point your app at it

export ANTHROPIC_BASE_URL=http://localhost:3099
export ANTHROPIC_API_KEY=prxy_local_anything

In local mode, the gateway accepts any token. Auth + tier + billing are bypassed because you already paid for your own infra by running it.

Make a call

curl http://localhost:3099/v1/messages \
  -H "Authorization: Bearer prxy_local_anything" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "claude-sonnet-4-6",
    "max_tokens": 256,
    "messages": [{"role": "user", "content": "hi"}]
  }'

Same wire shape as cloud. Same modules. Just runs on your box.

What’s stored where

~/.prxy/
├── state.db             ← Local database. Patterns, cache, sessions, embeddings.
├── blob/                ← Local blob store (compressed conversation archives).
└── config.yaml          ← Optional pipeline config (overrides PRXY_PIPE).

That’s the whole thing. No phone-home. No telemetry. No background sync. Delete the volume to delete local retained state.

Set your provider keys

The gateway needs at least one provider configured. Pass any of:

-e ANTHROPIC_API_KEY=sk-ant-xxx
-e OPENAI_API_KEY=sk-xxx
-e GOOGLE_API_KEY=xxx
-e GROQ_API_KEY=gsk_xxx

Check what’s wired:

curl http://localhost:3099/health

Customize the pipeline

Two ways:

docker run -d \
  -p 3099:3099 \
  -v ~/.prxy:/data \
  -e ANTHROPIC_API_KEY=sk-ant-xxx \
  -e PRXY_PIPE='exact-cache,semantic-cache,patterns,ipc' \
  prxymonster/local:latest

Privacy hardening

The planned airgap module will enforce zero outbound network calls except to your chosen provider:

-e PRXY_PIPE='airgap,ipc,patterns,semantic-cache'

Until that module ships, enforce the same policy at the network layer. See Local mode privacy.

Upgrade path

When the cloud features start to make sense (sync across devices, managed billing, team sharing), you can upgrade without losing anything. See Local mode → Upgrading.

Next steps