Hosted AI proxy for mobile and web apps

Ship AI without shipping your API keys.

An OpenAI-compatible proxy that verifies your users, enforces entitlements, and keeps provider keys server-side.

app.tsOpenAI-compatible
import OpenAI from "openai";const client = new OpenAI({  apiKey: MOBILEAIPROXY_APP_KEY, // public app key  baseURL: "https://api.mobileaiproxy.com/v1",  defaultHeaders: { Authorization: `Bearer ${userToken}` },});const res = await client.chat.completions.create({  model: "gpt-4o-mini",  messages: [{ role: "user", content: prompt }],});

Works with the stack you already ship.

FirebaseSupabaseRevenueCatAnthropicOpenRouter

The backend layer mobile AI features usually need later.

Keep your auth stack, provider accounts, and app release flow. Add the controls that prevent client key leaks, entitlement bypasses, runaway usage, and untraceable provider bills.

Auth-aware proxy

Accept Firebase or Supabase user tokens directly from your app. Every AI request is tied to a verified user before provider spend starts.

Server-side keys

Store OpenAI, Anthropic, OpenRouter, and other provider keys encrypted. The client only gets a public app key.

Policy controls

Set model, endpoint, token, request, and cost limits by app, user, and entitlement category.

Usage economics

Track cost by app, user, feature, model, endpoint, and RevenueCat category with request-level metadata.

One endpoint. Every platform.

Drop in your proxy URL. Your existing OpenAI SDK call works unchanged across web, mobile, and native.

web.ts
import OpenAI from "openai";const client = new OpenAI({  apiKey: MOBILEAIPROXY_APP_KEY, // public app key, not your provider key  baseURL: "https://api.mobileaiproxy.com/v1",  defaultHeaders: {    Authorization: `Bearer ${userToken}`, // Firebase/Supabase JWT  },});const response = await client.chat.completions.create({  model: "gpt-4o-mini",  messages: [{ role: "user", content: prompt }],});

Your provider key never leaves the proxy. The client only holds a public app key.