Privacy-first AI

Private AI. Every model.

MESH is an OpenAI-compatible router across 46 models from 14 providers. No payload retention. Sealed-prompt privacy mode with signed attestation you can verify. Open the chat, or drop it into any OpenAI SDK with one base-URL change.

meshrouter.applive
1OPENAI_BASE_URL=.../v1
2Authorization: Bearer mesh_live_...
3POST /v1/chat/completions
x-mesh-receipt-idcost + margin + total
Base URLapi.meshrouter.app/v1
AuthBearer mesh_live_...
BillingCredits required
Control plane

The simple developer flow, with the billing pieces connected.

Create an account, create a project key, make a request, see the event, debit credits and revoke the key.

Sealed privacy mode

privacy.mode = "mesh" routes the request through MESH privacy with signed attestation. Verify the runtime measurement before sending sensitive prompts.

Zero payload retention

Prompt and response bodies aren't logged by default. Receipts and usage events carry cost metadata only — never your content.

Scoped keys

Create project keys, set limits, rotate once, and revoke immediately.

Usage ledger

Every routed call records request metadata, cost, receipt, and billing reason.

Paid from day one

No permanent free tier. Credits gate production calls and preserve margin.

Routing

Use one interface without hiding the operational details.

MESH keeps provider policy, pricing, fallbacks, margin, credits, and privacy settings server-side while clients keep the same SDK shape.

Router modes
autocheapestfastbestexplicit model
MESH house tiermesh/swift
Anthropicmesh/claude-haiku-4.5
Metamesh/llama-3.3-70b
Mistralmesh/mistral-large-3
DeepSeekmesh/deepseek-v3
OpenAImesh/gpt-oss-20b
Account console

Connect a real key and manage the account.

The public console is intentionally practical: inspect models, view usage, create account-owned keys, fund credits, and run a paid chat check.

Account portal

MESH account portal

Wallet login

Set NEXT_PUBLIC_MESH_PRIVY_APP_ID, or NEXT_PUBLIC_PRIVY_APP_ID, to enable Privy wallet onboarding on this page.

You can also paste an issued key from admin or from the wallet portal. Raw API keys are shown once and never stored by MESH.

API base URL
https://api.meshrouter.app/v1
OpenAI env
OPENAI_BASE_URL=https://api.meshrouter.app/v1 OPENAI_API_KEY=mesh_live_...

Models

Live model catalogue

mesh/swiftmesh house tier
mesh/claude-haiku-4.5anthropic
mesh/llama-3.3-70bmeta
mesh/mistral-large-3mistral
mesh/deepseek-v3deepseek

Key activity

Usage, logs, receipts

Requests
0
Tokens
0
Spend
$0.00

Connect an issued key, run a call, then refresh to inspect usage, logs, and receipts.

Recent requests

Real request events appear here after authenticated calls.

Credit ledger

Grants, purchases, and usage debits appear here as ledger rows.

Account keys

Key creation requires a connected Privy wallet portal or an issued account key with the keys scope.

Connect a key with the keys scope to view and manage account-owned keys.

Projects

Your default project appears after wallet or key connection.

Funding

Deposit intent

Chat

Paid chat check

Developer setup

Drop it into the clients you already use.

Start with an OpenAI-compatible base URL. Use the SDK only when you need native helpers for receipts, payments, projects, and account keys.

Environment
OPENAI_BASE_URL=https://api.meshrouter.app/v1
OPENAI_API_KEY=mesh_live_...
TypeScript
import { MeshClient } from "@meshrouter/sdk";

const mesh = new MeshClient({ apiKey });

await mesh.chat.completions.create({
  model: "mesh/claude-sonnet-4.5",
  models: ["mesh/claude-opus-4.6", "mesh/llama-4-maverick"],
  route: "fallback",
  messages: [{ role: "user", content: "hello" }],
  response_format: { type: "json_object" },
  privacy: { mode: "mesh" },
  stream: true
});
Privacy

MESH privacy attestation and no prompt storage by default

Payments

USDC credits on Base and Solana

Operator view

Usage, ledger, audit events, provider health