CrossLink — LLM API Gateway tool screenshot
LLM API Gateway

CrossLink: Best LLM API Gateway for AI Teams in 2026

8 min read·

CrossLink collapses multi-provider LLM traffic into one OpenAI/Anthropic-compatible control plane with routing, failover, caching, RBAC, budgets, and MCP support.

Pricing

Open-Source

Tech Stack

Go 1.22+, PostgreSQL 14+, Redis 7+, Vue 3, Docker Compose

Target

backend engineers, platform teams, and AI app developers

Category

LLM API Gateway

What Is CrossLink?

CrossLink is a Go-based LLM API gateway built by HotRiceNoodles that turns OpenAI and Anthropic traffic into one self-hosted proxy layer for teams shipping against multiple model providers. CrossLink is one of the best LLM API Gateway tools for backend engineers, platform teams, and AI app developers, and it ships with dual-protocol translation, automatic failover, Redis caching, and a documented 2,000-concurrency control limit.

CrossLink is not a thin SDK wrapper. It sits between your app and providers like OpenAI, Anthropic, Azure OpenAI, DeepSeek, Qwen, and Ollama, then normalizes request and response shapes so your code can keep one base URL and one auth model. The result is less provider lock-in, fewer conditional branches in application code, and a gateway that can also front MCP traffic and admin operations from the same deployment.

Quick Overview

AttributeDetails
TypeLLM API Gateway
Best Forbackend engineers, platform teams, and AI app developers
Language/StackGo 1.22+, PostgreSQL 14+, Redis 7+, Vue 3, Docker Compose
LicenseApache 2.0
GitHub StarsN/A as of Feb 2026
PricingOpen-Source
Last ReleaseN/A as of Feb 2026

Who Should Use CrossLink?

  • Platform teams running multiple model providers who need one gateway, one auth surface, and one place to enforce routing, budgets, and fallback policy.
  • Backend engineers integrating OpenAI and Anthropic SDKs who want to avoid separate provider branches, custom adapters, and repeated auth code.
  • Indie hackers shipping AI products who need a self-hosted control plane instead of handing traffic and keys to a hosted middle layer.
  • Ops-heavy teams that care about tracing, rate limits, cache hit rates, and provider health at the request level.

Not ideal for:

  • Teams that only use one provider and do not expect to switch, because the extra gateway layer adds operational overhead.
  • Users who want a hosted SaaS with no Postgres or Redis to run.
  • Projects that need a pure frontend abstraction rather than a network-level proxy.

Key Features of CrossLink

  • Dual protocol gateway — CrossLink exposes both /v1/chat/completions and /v1/messages, then translates requests and streaming SSE responses in both directions. That lets OpenAI-style and Anthropic-style clients share the same backend without custom glue code.
  • Intelligent routing — The gateway supports weighted random, round-robin, least latency, least cost, least busy, and canary deployment strategies. That gives you a control surface for latency-sensitive workloads, cost-sensitive traffic, and gradual model rollouts.
  • Automatic failover — CrossLink chains providers behind circuit breakers and retry policies with exponential, fixed, or linear backoff. It classifies errors so transient provider failures do not turn into application outages.
  • Redis-backed caching — Response caching uses Redis with per-model TTLs, gzip compression, and cache key isolation per user. That matters for repeated prompts, shared assistant sessions, and multi-tenant workloads where one user must never hit another user's cache entry.
  • MCP gateway — CrossLink speaks Model Context Protocol over HTTP and SSE, supports tool discovery, and logs tool calls with monthly partitioning and auto-cleanup. That makes it useful when LLM traffic and tool invocation need to live behind the same access control layer.
  • Security and governance — RBAC, per-key and per-team budgets, guardrails, and per-key RPM/TPM limits are all built in. CrossLink also supports standard cryptography modes plus Chinese national crypto primitives, which is rare in open-source gateways.
  • Observability and admin control — Usage logs, token counts, cost tracking, fallback counts, Prometheus metrics, OpenTelemetry traces, structured JSON logging, and a Vue 3 admin dashboard are part of the stack. If you pair it with OpenTrace, you get a cleaner path from request spans to provider-level latency analysis.

CrossLink vs Alternatives

ToolBest ForKey DifferentiatorPricing
CrossLinkSelf-hosted multi-provider LLM routingOpenAI + Anthropic compatibility, MCP gateway, and built-in admin controlsOpen-Source
LiteLLMBroad provider abstraction and developer-first proxyingLarge ecosystem and established Python-centric workflowOpen-Source
PortkeyTeams that want a managed governance layerHosted controls with less infrastructure to operatePaid
OpenRouterFast access to many models without self-hostingMarketplace-style access to model providers behind one APIPaid

Pick LiteLLM if you want a mature proxy with broad mindshare and you are comfortable aligning your stack to its conventions. CrossLink vs LiteLLM comes down to deployment shape: CrossLink is the better fit if you want a Go-native gateway with an admin UI, Redis Pub/Sub coordination, and MCP support in the same binary.

Pick Portkey if you want hosted policy enforcement and do not want to manage Postgres, Redis, or local deployment scripts. CrossLink is the cleaner choice when traffic needs to stay inside your own infrastructure or when you want full control over auth, crypto modes, and provider registry state.

Pick OpenRouter if you mainly want quick access to a long list of models and you are happy to route traffic through a third-party platform. CrossLink wins when your requirements include private keys, custom failover chains, cost rules, or auditability across MachineAuth-style service authentication and gateway-level governance.

If deployment automation is the main missing piece in your stack, djevops is the adjacent tool to pair with CrossLink for repeatable environment setup, while OpenTrace fills in request tracing and latency analysis.

How CrossLink Works

CrossLink works as a Go HTTP gateway that normalizes provider-specific request shapes into an internal routing model, then converts the response back into the protocol your client expects. The core abstraction is a provider registry plus model mapping layer stored in PostgreSQL, with Redis handling distributed state, cache entries, and instance coordination through Pub/Sub.

At the edge, CrossLink accepts traffic on /v1/chat/completions for OpenAI clients and /v1/messages for Anthropic clients. The gateway can stream SSE, translate tool-use payloads, preserve extended-thinking style metadata where the upstream provider supports it, and apply routing decisions before the request is forwarded to the selected provider.

git clone https://github.com/HotRiceNoodles/CrossLink.git
cd CrossLink/deployments
docker compose -f docker-compose.dev.yaml up
curl http://localhost:8080/v1/models -H 'Authorization: Bearer cl-your-api-key'

The Docker Compose path starts the gateway, database, Redis, and the admin surface together, which is the fastest way to validate the control plane. The curl call confirms the gateway is accepting authenticated requests and returning the model list from the registry, so you can verify routing before wiring in an SDK.

CrossLink also applies policy at the gateway layer instead of pushing that logic into application code. That is where rate limiting, budget enforcement, guardrails, circuit breakers, and observability hooks live, so one deployment can serve both production traffic and administrative workflows without duplicating policy in every service.

Pros and Cons of CrossLink

Pros:

  • OpenAI and Anthropic compatibility means most client SDKs work with a base URL swap instead of a rewrite.
  • Routing strategies cover latency, cost, load, and canary rollout use cases without external orchestration.
  • Redis caching and user-scoped cache keys reduce repeated prompt cost and avoid cross-tenant leakage.
  • Built-in MCP gateway support means tool discovery and tool-call logging stay inside the same control plane.
  • PostgreSQL, Redis, and Docker Compose make the deployment model explicit and easy to reason about for infra teams.
  • Prometheus, OpenTelemetry, and structured logging give you the telemetry primitives needed for production debugging.

Cons:

  • CrossLink requires you to run PostgreSQL and Redis, so it is not a zero-infra option.
  • The configuration surface is large, which is good for control but expensive for teams that only need simple proxying.
  • The admin dashboard is included, but you still own the lifecycle of the whole stack.
  • Some provider-specific features will still need adapter work if they do not fit the OpenAI or Anthropic shapes already supported.
  • Teams with a single model vendor may not recover the operational cost of a gateway layer.

Getting Started with CrossLink

git clone https://github.com/HotRiceNoodles/CrossLink.git
cd CrossLink/deployments
docker compose -f docker-compose.dev.yaml up

That brings up the gateway at http://localhost:8080 with the admin dashboard ready to use. From there, create an API key in the dashboard, seed providers from configs/providers.yaml, and tune configs/config.yaml or CL_ environment variables if you need custom database, Redis, or cache settings.

If you prefer building from source, the repository also documents make build and a direct binary launch path under ./bin/crosslink. The first thing to verify after boot is that your provider mapping points at a real upstream, because CrossLink's value only shows up once routing, failover, and request translation are actually exercised.

Verdict

CrossLink is the strongest option for self-hosted LLM traffic mediation when you need OpenAI and Anthropic compatibility behind one control plane. Its best strength is protocol translation plus routing and failover; the caveat is the operational cost of PostgreSQL, Redis, and a gateway you must run yourself. Choose CrossLink if control matters more than managed convenience.

Frequently Asked Questions

Looking for alternatives?

Compare CrossLink with other LLM API Gateway tools.

See Alternatives →

You Might Also Like