Integrations

Twenty services built in, and any API you use

Every integration knows its provider: where money moves, which field names the model, how the key is sent. Your SDK keeps working unchanged.

Stripe

payments

Payments, customers and checkout.

EndpointsRatesKill switchSpending capsConnected accounts

PayPal

payments

Orders, captures and refunds, with OAuth handled for you.

EndpointsRatesKill switchSpending capsOAuth

Paddle

payments

Billing and subscriptions.

EndpointsRatesKill switch

Lemon Squeezy

payments

Checkouts and store data.

EndpointsRatesKill switch

OpenAI

AI

Chat, Responses, embeddings and Realtime.

EndpointsRatesKill switchModel limitsToken capsWebSockets

Anthropic

AI

Messages and token counting.

EndpointsRatesKill switchModel limitsToken caps

Google Gemini

AI

Content generation and models.

EndpointsRatesKill switchModel limitsToken caps

Mistral

AI

Chat and embeddings.

EndpointsRatesKill switchModel limitsToken caps

Groq

AI

Fast chat completions.

EndpointsRatesKill switchModel limitsToken caps

xAI

AI

Chat and Responses.

EndpointsRatesKill switchModel limitsToken caps

OpenRouter

AI

One API for many models.

EndpointsRatesKill switchModel limitsToken caps

Resend

messaging

Transactional email.

EndpointsRatesKill switch

SendGrid

messaging

Email delivery.

EndpointsRatesKill switch

Postmark

messaging

Transactional email.

EndpointsRatesKill switch

Mailgun

messaging

Email sending.

EndpointsRatesKill switch

Twilio

messaging

SMS and messaging.

EndpointsRatesKill switch

GitHub

developer

REST and GraphQL.

EndpointsRatesKill switchGraphQL rules

Cloudflare

developer

Account and zone APIs.

EndpointsRatesKill switch

Vercel

developer

Projects and deployments.

EndpointsRatesKill switch

AWS

cloud

S3, DynamoDB, Bedrock, SES, SQS and more, signed for you.

EndpointsRatesKill switchRequest signing

Any HTTPS API

Custom

Bearer, header, Basic auth or URL parameter. GraphQL too.

EndpointsRatesKill switchGraphQL rulesWebSockets

Connecting your app

Three ways to connect, from zero code to one line

Pick whichever fits. Paths, parameters and responses stay exactly the same in every case.

No code at all

Let the SDK read the address

The official OpenAI, Anthropic and Groq SDKs read their address from the environment. npx vallkey init adds it for you.

.env
OPENAI_API_KEY=gk_openai_...OPENAI_BASE_URL=https://api.vallkey.com/v1

No code, any SDK

Start your app with Vallkey

Requests that carry a ghost key go through Vallkey; everything else is untouched. Node.js and Python.

Terminal
node -r vallkey/auto server.jsVALLKEY_AUTO=1 python app.py

One line

Set the address in code

Every SDK that lets you change its address works, in any language. The docs have the line for each provider.

checkout.ts
new Stripe(process.env.STRIPE_GHOST_KEY, {  host: 'api.vallkey.com',})

Built for each provider

Every integration knows what matters for its API

Generic proxies see bytes. Vallkey knows where the money is, which field names the model and how the key is sent.

Where money moves

Amounts and currencies on Stripe and PayPal, per payment and per day. Refunds and payouts off until you allow them.

Which model is used

The model in every AI request, checked against your list, and tokens counted even for streamed answers.

How the key is sent

Bearer, headers, Basic auth, the URL, the JSON body, OAuth client credentials and AWS request signing.

Every kind of call

REST, GraphQL with per-operation rules, Realtime WebSockets and uploads up to 100 MB.

Custom APIs

Not on the list? Two fields and you are done

Give Vallkey the API's address and tell it how the key is sent. The address is fixed for the life of the key, so nobody can point your real key somewhere else.

Custom API
1# Before: the real key in every request2curl https://api.example.com/v2/orders \3  -H "x-api-key: $REAL_KEY"4 5# After: same path, a ghost key with rules6curl https://api.vallkey.com/v2/orders \7  -H "x-api-key: $GHOST_KEY"

Protect the keys your product depends on

Protect your first key in five minutes. Free plan, no card needed.