Early access · Bring your own provider keys

The High-Performance AI Gateway & Reverse Proxy for Enterprise LLMs

Optimize token usage with response caching, enforce rate limits, and sanitize private data before routing to Claude and OpenAI with your own API keys.

Provider keys stored
Zero
Wire formats
Native
Open-source core
MIT
revl — zsh Illustrative example

Request

$ curl https://api.proxyrevlvay.com/v1/chat/completions \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H "X-Revl-Key: $REVL_API_KEY" \
  -H "X-Revl-Cache: exact" \
  -H "X-Revl-Mask: pii" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o",
    "messages": [{
      "role": "user",
      "content": "Reply to jane.doe@example.com"
    }]
  }'

Gateway response

Status 200 OK
Latency 28ms
Cost $0.00 CACHED
X-Revl-Cache-Status HIT
X-Revl-Masked 1 · email → <EMAIL_1>
Provider key forwarded, not stored

A repeated request answered from cache. See the simulated dashboard.

Works with the official SDKs · Change the base URL, keep your code

anthropic (Python, Node.js)openai (Python, Node.js)curl

Key features

Everything between your app and the model

One endpoint in front of the providers you already use. Each card says what the open-source core does today and what is still on the roadmap.

Smart Context Caching

Stop paying twice for the same request. An identical request is answered from cache instead of calling the provider again, so every cache hit is an upstream call you do not make.

  • Per-request TTL from one minute to 24 hours
  • Isolated per tenant and per provider key
  • Cache status on every response header

Available: exact-match caching. Roadmap: semantic matching.

Resilient Routing & Fallback

Opt-in retries with backoff when a provider rate-limits you or returns a server error, plus per-tenant rate limits so one client cannot starve the rest.

  • Up to three retries on 429, 500, 502, 503 and 504
  • Per-tenant rate limits
  • Streaming responses passed straight through

Available: retries, rate limits. Roadmap: fallback across providers.

PII & Secret Masking

Mask PII and enterprise secrets in real time before sending upstream. Matches are replaced with placeholders at the gateway and restored in the response, so matched values are not sent to the provider.

  • Emails, phone numbers, cards, IPs, API keys and tokens
  • Mapping kept in memory for one request only
  • Pattern based: a safeguard, not a compliance guarantee

Available: non-streaming requests. Roadmap: streaming, custom detectors.

Bring your own key

Your provider account. Your key. We never resell model access.

Revl AI is middleware. Every request is authenticated to Anthropic or OpenAI with your own API key, under your own account, billing and that provider's terms. Revl charges only for the gateway, never for tokens.

How BYOK works

Two separate keys

Your provider key goes in the provider's usual header. A Revl key in X-Revl-Key only identifies you to the gateway.

Never stored or logged

A provider key is forwarded for the one request it arrives with. It is not written to storage, logs or cache. Request and response bodies are not logged.

API keys only

OAuth and consumer subscription tokens are rejected. No pooling, no sharing, no resale of provider access through the gateway.

Architecture

A single reverse proxy in front of every model

Point your SDK at the gateway's base URL. Each request passes the steps below, then goes to the provider you chose, in that provider's native format, with your own key.

Your Client

Any app using an official SDK

client = Anthropic(
  base_url="https://api.proxyrevlvay.com",
  api_key=ANTHROPIC_API_KEY,  # yours
  default_headers={
    "X-Revl-Key": REVL_API_KEY,
  },
)
R

Revl Gateway

Runs on Cloudflare Workers

Holds no provider keys
  1. 1 Gateway key & rate limit per tenant
  2. 2 PII & secret masking opt-in
  3. 3 Exact-match cache lookup hit: no upstream call
  4. 4 Forward with your key retries · backoff
  5. 5 Metadata-only log line no bodies, no keys
A

Anthropic

Claude models, Messages API

/v1/messages

Authenticated with your Anthropic API key

O

OpenAI

Chat Completions API

/v1/chat/completions

Authenticated with your OpenAI API key

Pricing

Simple, usage-based plans

Planned pricing for the hosted gateway, which is invite-only today. Self-hosting the open-source core is free. Model usage is always billed by your provider on your own account.

Free

For side projects and evaluation.

$0/mo

  • 100k requests / month
  • Caching, masking and retries
  • Community support
Start Free

Pro

For teams running AI features in production.

$29/mo

  • 2M requests / month
  • Advanced caching
  • Custom domains

Enterprise

For regulated industries and high volume.

Custom

  • Dedicated cluster
  • SLA
  • Custom VPC
Contact Sales

No fees are charged today. Plans cover the gateway service only and never include or resell model usage.

Docs

Change one line: the base URL

The gateway speaks the Anthropic Messages API and the OpenAI Chat Completions API unchanged. Keep the official SDK, keep your own key, add one header.

import os
from anthropic import Anthropic

client = Anthropic(
    base_url="https://api.proxyrevlvay.com",
    api_key=os.environ["ANTHROPIC_API_KEY"],  # your own key
    default_headers={"X-Revl-Key": os.environ["REVL_API_KEY"]},
)

message = client.messages.create(
    model="claude-opus-5-5",
    max_tokens=16000,
    messages=[{"role": "user", "content": "Hello"}],
)
for block in message.content:
    if block.type == "text":
        print(block.text)

The hosted endpoint is invite-only. Self-hosting? Use your own Worker URL as the base URL.

Join the waitlist

Get early access to the hosted gateway and a direct line to the founder. No credit card required.

By signing up you agree to our Terms and Privacy Policy.