EAS LLM Gateway — Docs

An OpenAI-compatible LLM gateway with tier-gated routing, monthly token caps, and audit-chain integration. Capability of Elite Agentic Solutions. Self-serve plans start at $29/mo (Hobby) and $99/mo (Indie) — bundled tiers Starter/Pro are part of EAS Audit Pack.

Quickstart

1. Pick a tier on the pricing page and check out via Stripe.
2. Your API key arrives via email within ~30 seconds.
3. Drop the key into any OpenAI SDK with base_url = https://gateway.eliteagenticsolutions.com/v1.
import openai
client = openai.OpenAI(
    api_key="empire_xxx",                                          # your gateway API key
    base_url="https://gateway.eliteagenticsolutions.com/v1"
)
response = client.chat.completions.create(
    model="gpt-4o-mini",
    messages=[{"role": "user", "content": "Hello"}]
)
print(response.choices[0].message.content)
print(response.eas_gateway)   # provider, latency_ms, cost_usd
import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "empire_xxx",
  baseURL: "https://gateway.eliteagenticsolutions.com/v1",
});

const res = await client.chat.completions.create({
  model: "gpt-4o-mini",
  messages: [{ role: "user", content: "Hello" }],
});
console.log(res.choices[0].message.content);
console.log(res.eas_gateway);   // provider, latency_ms, cost_usd
curl -s https://gateway.eliteagenticsolutions.com/v1/chat/completions \
  -H "Authorization: Bearer $EAS_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4o-mini",
    "messages": [{"role": "user", "content": "Hello from EAS"}],
    "max_tokens": 100
  }'

Authentication

Every request needs a Bearer token issued by the gateway on checkout:

Authorization: Bearer eas-live-...

Keys are bound to a tenant + tier. Keys are SHA-256 hashed at rest; the raw key is shown only once at issuance and via the welcome email.

How to get a key

  1. Pick a tier on /#pricing — Hobby ($29) or Indie ($99) for self-serve, or Starter/Pro via the EAS Audit Pack.
  2. Complete Stripe Checkout.
  3. Stripe webhook auto-provisions your key — delivered via Brevo email within ~30 seconds.

Endpoints

POST /v1/chat/completions

OpenAI-compatible. Supports model, messages, max_tokens, temperature, top_p, stop.

The response includes an eas_gateway sidecar field with the upstream provider, request latency, and estimated cost (USD).

POST /v1/embeddings

OpenAI-compatible. Supports text-embedding-3-small and text-embedding-3-large (routed to OpenAI).

GET /v1/models

Returns the models available to your tier:

curl https://gateway.eliteagenticsolutions.com/v1/models \
  -H "Authorization: Bearer $EAS_API_KEY"

GET /v1/usage

Current-month usage for your tenant — total tokens used + per-model breakdown.

POST /v1/checkout

Public — starts a Stripe Checkout Session for a self-serve tier. Body:

{"plan": "hobby_monthly"}    // or hobby_yearly, indie_monthly, indie_yearly

Returns {"url": "https://checkout.stripe.com/..."} — 303 your user there.

GET /healthz

Public liveness probe (no auth). Returns provider availability + DB/Redis status + Stripe webhook config status.

Models by tier

TierPriceModelsTokens/moReq/min
Free$0gpt-4o-mini + Gemini Flash + Llama 3.110K3
Hobby$29/mo+ groq-mixtral, gemini-2.5-flash300K5
Indie$99/mo+ GPT-4o, claude-haiku-4-53M60
Starter$199/mo(same as Indie + EAS audit chain)10M120
Pro$999/mo+ claude-sonnet-4-650M300
EnterpriseContactAll including claude-opus-4-7Uncapped1000

Annual billing saves 20% on every tier (where applicable).

Auto-router

The gateway routes each model name to the underlying provider transparently. You always get an OpenAI-shape response — the choices[].message.content field works the same whether the upstream is OpenAI, Anthropic, Groq, or Gemini.

System messages and Anthropic's distinct system + messages split are handled inside the gateway — you don't need provider-specific shapes.

Reliability promise

If your preferred model is temporarily unavailable, EAS Gateway auto-routes to the closest equivalent. Your call returns a 200 with the same OpenAI shape; the eas_gateway response block tells you what actually served the request.

You're never billed for a failed call, and we bill at the rate of the provider that actually served you — not what you originally asked for.

Inspect the metadata on every response:

{
  "choices": [...],
  "model": "claude-sonnet-4-6",                  // what you requested
  "eas_gateway": {
    "original_model_requested": "claude-sonnet-4-6",
    "actual_model_used": "groq-llama-3.3-70b",   // what served you
    "fallback_chain_step": 1,                    // 0 = primary, 1+ = fallback
    "fallback_occurred": true,
    "reason": "provider_unavailable",
    "provider": "groq",
    "cost_usd": 0.0008,
    "latency_ms": 320
  }
}

If fallback_occurred is false (or absent), your preferred provider served the request normally. The cascade only triggers when a primary returns 401 / 5xx three times within 60 seconds; recovery is automatic after a 5-minute cooldown.

If every provider in the chain is unhealthy at once (very rare), you'll get a 503 with full provider_status diagnostics — no silent failures.

Errors

CodeMeaning
401Invalid or missing Bearer token
402Monthly token cap exceeded — upgrade tier or wait until next month
403Model not allowed at your tier
404Unknown model name (see /v1/models)
429Per-minute rate limit — slow down or upgrade tier
503Upstream provider error — usually transient, retry with backoff

Activepieces integration

If you use Activepieces for automation: install the @empire/eas-llm piece. Configure once with your EAS API key, and it routes through this gateway with full tier guards + audit logging.

Support

Email support@eliteagenticsolutions.com or visit contact.