GoModel vs Portkey

Portkey is a hosted LLM platform with an open-source Node.js gateway at its core. GoModel is a self-hosted Go gateway where the whole product - routing, dashboard, budgets, audit logs - is the open-source part. Here is how the two request paths measure, and where the product lines actually differ.

GoModel vs Portkey Comparison

Portkey's gateway is small and well engineered for a Node.js service, and its provider catalog is one of the broadest around. The trade-off is that most of what makes Portkey a product lives in the hosted control plane, and the gateway itself carries a JavaScript runtime on every request. Measured numbers are from run 20260829-183422 (29 August 2026) of the reproducible benchmark: every gateway from its public Docker image, one at a time, same in-memory mock backend, same AWS c7i.large. Rerun it yourself with one command.

4.2×
lower latency overhead
2.35 vs 9.87 ms p50
throughput
3,610 vs 907 req/s sustained
2.9×
less memory
43 vs 124 MB peak
4.8×
faster time to first token
5.9 vs 28.5 ms streaming
CategoryGoModelPortkey
Measured on the hot path
Latency overhead (p50)2.35 ms9.87 ms
Latency tail (p99)8.80 ms32.14 ms
Streaming time to first token (p50)5.90 ms28.54 ms
Sustained throughput3,610 req/s907 req/s
Peak RAM under load42.7 MB123.9 MB
Efficiency (req/s per CPU %)36.57.6
Cold start to first request0.58 s2.17 s
Docker image (compressed)14.4 MB57.9 MB
Workloads served6/6 workloads4/6 (no Anthropic Messages endpoint)
Beyond the benchmark
Open-source release cadenceReleases every few weeksLast release v1.15.2 on 12 January 2026; last commit 25 May 2026
RuntimeOne Go binaryNode.js / TypeScript (also Cloudflare Workers)
Provider coverage31 providers45+ providers, 1,600+ models
Anthropic Messages APINative /v1/messages, streaming includedAnthropic as a provider behind the OpenAI shape
GuardrailsIncluded, MITBasic checks open source; central guardrails and PII redaction hosted
Usage & cost tracking, budgetsSelf-hosted, in the admin dashboardPortkey Cloud or enterprise
Logs and observability UISelf-hosted dashboard + PrometheusPortkey Cloud or enterprise
Audit logs, SSO, org managementAudit logs MIT; OIDC SSO in GoModel ProEnterprise
Prompt managementNot a goalPortkey Cloud
CachingExact + semantic, self-hostedSimple open source; semantic hosted
MCP gatewayIncludedIncluded
Data stays in your networkAlways - nothing phones homeGateway yes; the control plane is hosted unless enterprise
LicenseMITMIT gateway + hosted platform / enterprise

Benchmark: 20,000 requests per workload at concurrency 10, five randomized trials on an AWS c7i.large (2 vCPU, 4 GiB). Retries off everywhere, GoModel's circuit breaker off, per-request logging off. Portkey 1.15.2 has no Anthropic Messages endpoint in this single-provider setup, so both /v1/messages workloads are recorded as failures; its OpenAI-shaped numbers are reported as measured. Portkey's provider and model catalog is a genuine advantage - the benchmark measures the request path, not product breadth. On maintenance: the open-source gateway repository has had no release since v1.15.2 (12 January 2026) and no commit since 25 May 2026 at the time of writing (30 August 2026). It is not archived, and Portkey's hosted platform continues, but the self-hosted gateway is not moving at the pace it once did - worth weighing if you plan to run it yourself.

Which gateway fits your setup?

The real question is not Go versus Node, it is self-hosted product versus hosted platform.

Choose GoModel when

  • Usage tracking, budgets, logs and the dashboard must live in your own network, not in a vendor's cloud - and you do not want to buy an enterprise tier to get there.
  • You run Anthropic SDK clients (Claude Code, Agent SDK) and need a real /v1/messages endpoint with streaming, not a translation through the OpenAI shape.
  • Overhead per call matters: 4x lower latency and 4x the throughput on the same 2 vCPU, which is the difference between one small node and four.
  • You want one binary with no runtime to patch, and a 14 MB image that starts in half a second.

Portkey is the better fit when

  • You need long-tail providers or models beyond GoModel's 31 - Portkey's catalog is wider.
  • You want a managed platform with prompt management, versioning and an observability UI run by someone else.
  • You want to deploy the gateway to Cloudflare Workers or another JavaScript edge runtime.
  • You need org-level management across many teams today, and an enterprise contract is on the table.

Try it against your own workload

Benchmarks are an argument; your traffic is the proof. GoModel speaks the OpenAI and Anthropic APIs natively, so pointing an existing app at it is a base-URL change.

1 · Run GoModel
docker run --rm -p 8080:8080 \
  -e LOG_FORMAT=text \
  -e OPENAI_API_KEY="your-openai-key" \
  enterpilot/gomodel
2 · Point your SDK at it
from openai import OpenAI

client = OpenAI(
    base_url="http://localhost:8080/v1",
    api_key="your-gomodel-key",
)

Full setup, providers, and configuration live in the documentation. Questions? Ask on Discord or book a 30-minute call.