Build with OmniStrat.
Reference for every public surface. OmniStrat Foundry for AI, the Terminal for markets, Agora for attestation, and the Passport that identifies you at every door.
OmniStrat Foundry
One endpoint across seventeen US and Western-allied providers. Every call cryptographically signed. Cost caps enforced with strong consistency, edge-deployed worldwide, tamper-evident audit chain on every request, MCP-discoverable at /.well-known/mcp/server-card.json.
OpenAI-compatible. One-line switch. Point any OpenAI SDK at baseURL: "https://api.omnistrat.ai/v1" and existing code works unchanged: /v1/chat/completions (streaming included), /v1/embeddings, /v1/models. Every response carries a receipt, a chained, content-blind Proof of Decision anyone can verify at /api/decision/verify/<receipt_id> with no account.
OmniStrat Terminal
Live broker integration (Alpaca shipped; more coming). Strategy backtests, real-time ticks via WebSocket, AI co-pilot with personal cost budget. Every order signed to an immutable archive. Compliance built into the stack, not bolted on top.
OmniStrat Agora
Cryptographic attestation for NDAs, MSAs, KYC, board resolutions. Encrypted-identity matchmaking with tri-party signed Match Certificates. Peer cohorts with shared reputation. Every signature Ed25519, hash-chained, publicly verifiable at the edge, no account required to verify.
Agora Cohorts
Peer cohorts of similar tier convene inside Agora. Shared Taskforce quests, private guild channels, and reputation that compounds across the group. Every attestation any member signs chains to the same cohort ledger, the group’s record is portable, provable, and cryptographically the sum of its members.
Agora Matchmaking
Encrypted-identity introductions between candidates and enterprises. Candidates stay anonymous until both parties sign a Match Certificate. Every match is a tri-party Ed25519 signature (candidate, enterprise, OmniStrat), hash-chained to the same public ledger as attestations. Placements are verifiable evidence, not screenshots.
Quickstart. Router
Install the TypeScript SDK or hit the API directly. Once you have a Passport and an API key, route any AI model with one call:
# TypeScript SDK npm install @omnistrat/sdk // then import { OmniStrat } from "@omnistrat/sdk"; const client = new OmniStrat({ apiKey: "ost_...", orgId: "org_..." }); const r = await client.route({ prompt: "Hello" }); console.log(r.result);
Or hit the API directly. Two shapes are supported, the native endpoint takes credentials in the body, and the OpenAI-compatible endpoint derives your org from the bearer key:
# Native endpoint - credentials in the body curl -X POST https://api.omnistrat.ai/api/route \ -H "content-type: application/json" \ -d '{ "org_id": "org_...", "api_key": "sk_live_...", "prompt": "Hello", "model": "claude-sonnet-4-6" }' # -> { ok, provider, model, result, tokens_in, tokens_out, cost_usd, receipt } # OpenAI-compatible - drop-in for any OpenAI SDK or curl snippet curl -X POST https://api.omnistrat.ai/v1/chat/completions \ -H "content-type: application/json" \ -H "authorization: Bearer sk_live_..." \ -d '{ "model": "claude-sonnet-4-6", "messages": [{"role": "user", "content": "Hello"}] }'
Your org_id and api_key are on your keys page after sign-in. On the OpenAI-compatible endpoint the org is derived from the key, so base_url and the key are the only two things you change.
The Router picks the best provider, applies your org's cost cap, signs into the upstream API on your behalf (or uses your BYOK), and streams the response. Switching models is a single string change.
Quickstart. Passport
Sign a user in from your application. Browser-side JavaScript:
const r = await fetch('https://api.omnistrat.ai/auth/login', { method: 'POST', headers: { 'content-type': 'application/json' }, body: JSON.stringify({ email, password }) }); const { token, user } = await r.json(); localStorage.setItem('omnistrat-token', token);
Verify the token in your own service using the public JWKS (no shared secret leaves the Router):
// TypeScript / any service import { verifyPassport } from './passport-client'; const claims = await verifyPassport(req, env.PASSPORT_JWT_SECRET, { routerUrl: 'https://api.omnistrat.ai', // for revocation check }); if (!claims) return new Response('unauthorised', { status: 401 });
Authentication patterns
Different surfaces support different auth methods:
Keys, rotation and revocation
Rotate from the Keys & BYOK tab of the admin console, or over the API.
# Rotate the org API key. Owner-level org key only. curl -X POST https://api.omnistrat.ai/api/rotate-key \ -H "content-type: application/json" \ -d '{ "org_id": "org_...", "api_key": "sk_live_..." }' # -> { "ok": true, "new_api_key": "sk_live_..." }
ROTATE_FORBIDDEN (403) before authentication is even attempted.key_rotated event is emitted to your audit chain. It appears in the Audit log and in /api/audit/search.POST /api/byok with op: "add-to-rotation" keeps up to 20 provider keys in a rotation set. Past that the call is refused with BYOK_ROTATION_FULL (413) rather than silently dropping the oldest.Usage & pricing schedule
Every meter is per-tier and public. Overages are capped by policy you control. BYOK bypasses the token meter entirely, you settle directly with your provider.
More
The full OpenAPI spec is mounted at /openapi.json. The status page is at /status.html. Questions go to hello@omnistrat.ai.