Jatevo
Explore the Open GatewayRead the docs →

The open AI gateway.One key for every model you already pay for.

Jatevo connects the provider accounts you already have, Claude, OpenAI, Gemini, OpenRouter, Venice and any OpenAI-compatible endpoint, behind one URL and one key. Change the model ID, not your code.

Explore the API

Nothing to install. Your keys, your use.

The console home: daily token activity, the allowance ring and the model catalog

Daily allowance

91,288

of 150,000 tokens today

Requests per minute60
Concurrent requests8
Maximum output8,192 tokens
Resets00:00 UTC

Reserved before dispatch

01 · Who it is for

One endpoint for every tool.Editors, teams and self-hosters.

Read the docs
ClaudeOpenAIGeminiOpenRouterVeniceDeepSeekxAI

Every model you pay for, in your editor

Claude Code, Codex, OpenClaw and every SDK keep the request format they already send. Only the base URL and the model ID change.

Set up your editor

One key per person

Daily allowanceper person, per day

Product managerjv_…8f2a91,288of 150,000
Data engineerjv_…c19d412,900of 600,000
Salesjv_…0e7718,400of 50,000
HRjv_…3b6c6,120of 30,000
Resets 00:00 UTC

One key per person, one allowance each

One connection per provider, one key per person, allowances that apply across every key a member holds.

Invite your team
npm run setup && npm start
NVIDIAOllamavLLM
$ npm start
Jatevo 0.1.0 listening on http://127.0.0.1:8700

Your hardware, two commands, one SQLite file

Node.js 24 and one SQLite file on your own machine, beside the models you serve yourself. No dependencies to install, nothing that phones home, MIT licensed.

Run it on your own machine

Meet the console

Keys, with an allowance each.

Every person and every workload gets its own key. A key carries its own daily allowance, request rate, concurrency and output cap, and the member's allowance applies across every key they hold. Revoke one key and nothing else stops.

How keys and allowances work
Workstation keyActive
91,288/ 150,000 tokens today
61% committedResets 00:00 UTC
  • Providersanthropic · openrouter · venice
  • Requests per minute60
  • Concurrent requests8
  • Maximum output8,192 tokens

Illustrative figures. The console shows your own.

A founder leaning on a desk in a bright loft office

Admission before dispatch

Nothing reaches a provider without room for it.

Key, member, model, daily allowance, rate, concurrency and output are checked inside one transaction before a request leaves. Parallel calls cannot all spend the same remaining room.

13Providers in the catalog
4Request formats, with streaming
0Runtime dependencies
MITLicence, self-host or hosted

02 · Developers

Point any tool at it. Keep your code.

One base URL, one key, the request format your tool already sends. The model ID names the provider, so the gateway never guesses.

POST /v1/chat/completions
curl https://jatevo.ai/v1/chat/completions \
  -H "Authorization: Bearer $JATEVO_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openrouter/anthropic/claude-sonnet-4.5",
    "messages": [{"role": "user", "content": "Hello"}]
  }'
The console home: daily token activity, the allowance ring and the model catalog
Two routes to one model stay two names. Nothing is inferred from a display name, so a key permitted on one provider can never select another provider's model by accident.Routing, from the API reference
Read the routing rules

03 · Routing

Every ID carries its provider.

Your tools keep the SDK and the request format they already use; only the model ID changes, and it says where the request goes.

Model IDProviderFormatSent to the provider as
anthropic/claude-sonnet-4-5Claude APIMessagesclaude-sonnet-4-5
openrouter/anthropic/claude-sonnet-4.5OpenRouterOpenAI Chatanthropic/claude-sonnet-4.5
venice/llama-3.3-70bVeniceOpenAI Chatllama-3.3-70b
gemini/gemini-2.5-proGemini APIGeminigemini-2.5-pro
deepseek/deepseek-chatDeepSeekOpenAI Chatdeepseek-chat
Example IDs. Your catalog lists exactly the models your connections declare, at GET /v1/models, filtered by what each key may use.

04 · Providers

13 providers. One endpoint.

API credentials are stored encrypted and never shown again. Each connection answers in the formats its provider implements; nothing is claimed for an endpoint that does not implement it.

Claude APIMessages
GLM / Z.AIOpenAI Chat
DeepSeekOpenAI Chat
Gemini APIGemini
OpenAI APIOpenAI Chat · Responses
OpenRouterOpenAI Chat
VeniceOpenAI Chat
xAIOpenAI Chat · Responses
GroqOpenAI Chat
MistralOpenAI Chat
TogetherOpenAI Chat
Jatevo APIOpenAI Chat · Responses
Any OpenAI-compatible endpointOpenAI Chat · Responses

05 · Your keys, your use

Yours to mint. Yours to use.

The keys you mint are for your own tools and your own team. Jatevo is not a place to resell access, and it moves no money. If a marketplace that allows it accepts a key you mint here, that arrangement is between you and that marketplace.

A person working on a laptop at a kitchen table at dawn
Your own tools, wherever you workA key in your editor, a key in CI, a key on a laptop at dawn. Each one revocable on its own, each one recorded.

What is checked before a request leaves

KeyValid, not rotated, not expired.
MemberActive and not suspended.
ModelPermitted for this key and for this member, by provider and by exact ID.
Daily tokensRoom for the reservation, counted per member across every key they hold.
RateRequests in the last minute under the limit.
ConcurrencyIn-flight requests under the limit.
OutputThe requested maximum at or under the cap.

Not for resale

06 · Status

What is built. What is next.

An early, honest cut. The gateway core is complete and tested; the layers that turn one console into a hosted service for many teams come next, in this order.

Built today Live

  • KeysMint, rotate and revoke; each key carries its own permissions and limits.
  • ConnectionsShared provider credentials, encrypted at rest, never returned.
  • AllowancesDaily tokens, request rate, concurrency and output caps per person and per key.
  • AdmissionCapacity reserved atomically before a request is sent.
  • FormatsOpenAI Chat, OpenAI Responses, Anthropic Messages and Gemini, with streaming.
  • RolesOwner, administrator and member, with expiring invitations.

Next Roadmap

  • OrganisationsMulti-tenant isolation and self-serve sign-up, so one hosted gateway serves many teams.
  • FallbackOrdered failover between connections that serve the same model when one is out of quota.
  • TranslationOne client format reaching every provider, whatever it speaks natively.
  • CostPer-model pricing and spend limits beside token allowances.

07 · Run it

Three ways to run it.

Self-host
Free

MIT licensed. Node.js 24, one SQLite file, nothing to install. The whole gateway on your own server.

  • Every feature, no limits
  • Your server, your data, your secret
  • Docker, systemd or bare Node
Install guide
Dedicated
Yours

One isolated deployment per team: its own credentials, its own encryption secret, its own domain and backups.

  • Isolated data directory
  • Several trusted owners
  • Encrypted, verified backups
Dedicated hosting guide

08 · Source

Run it yourself.

The hosted gateway runs the code on the right, unchanged. Clone it, set it up, start it.

Install guide
terminal
git clone https://github.com/lucacadalora/open-gateway-jatevo.git
cd open-gateway-jatevo
cp .env.example .env
npm run setup
npm start