https://openrouter.ezsite.ai - Unified LLM API — one key for Claude, GPT, Gemini. 2x credits, auto-failover, OpenAI-compatible.

v1.0.0

Set up and use EZRouter — unified LLM API with one key for Claude, GPT, and Gemini. 2x credits on every purchase. Native API compatibility for each provider.

0· 413· 1 versions· 0 current· 0 all-time· Updated 9h ago· MIT-0

Install

openclaw skills install ezrouter

EZRouter — Unified LLM API

EZRouter gives you one API key to access Claude, GPT, and Gemini models through native API-compatible endpoints. Pay once, get 2x credits, with automatic failover across providers.

Dashboard: https://openrouter.ezsite.ai


Quick Setup

  1. Sign up at https://openrouter.ezsite.ai
  2. Add credits (you get 2x what you pay — $5 becomes $10)
  3. Create an API key (prefix: cr_)
  4. Use the appropriate base URL for your tool or provider

Base URLs

ProviderBase URLUse With
Claude / Anthropichttps://openrouter.ezsite.ai/api/claudeClaude Code, Anthropic SDK
OpenAIhttps://openrouter.ezsite.ai/api/openai/v1Cursor, OpenAI SDK, ChatGPT-compatible tools
Geminihttps://openrouter.ezsite.ai/api/geminiGemini SDK, Google AI tools

Integration Examples

Claude Code

# Set environment variables
export ANTHROPIC_BASE_URL=https://openrouter.ezsite.ai/api/claude
export ANTHROPIC_API_KEY=your_cr_key_here

# Run Claude Code as usual
claude

OpenClaw

// openclaw.json
{
  "models": {
    "providers": {
      "ezrouter": {
        "baseUrl": "https://openrouter.ezsite.ai/api/claude",
        "apiKey": "${EZROUTER_API_KEY}",
        "api": "anthropic-messages",
        "models": [
          {
            "id": "claude-sonnet-4-6-20250627",
            "name": "Claude Sonnet 4.6",
            "reasoning": false,
            "input": ["text"],
            "contextWindow": 200000,
            "maxTokens": 64000
          }
        ]
      }
    }
  },
  "agents": {
    "defaults": {
      "model": "ezrouter/claude-sonnet-4-6-20250627"
    }
  }
}
export EZROUTER_API_KEY=your_cr_key_here

Cursor / OpenAI-Compatible Tools

API Base URL: https://openrouter.ezsite.ai/api/openai/v1
API Key:      your_cr_key_here

Native API Examples

Claude — Messages API

curl https://openrouter.ezsite.ai/api/claude/v1/messages \
  -H "Authorization: Bearer your_cr_key_here" \
  -H "Content-Type: application/json" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [{"role": "user", "content": "Hello"}]
  }'

OpenAI — Responses API

curl https://openrouter.ezsite.ai/api/openai/v1/responses \
  -H "Authorization: Bearer your_cr_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-5",
    "input": [
      {
        "type": "message",
        "role": "user",
        "content": [{"type": "input_text", "text": "Hello"}]
      }
    ]
  }'

OpenAI — Chat Completions API

curl https://openrouter.ezsite.ai/api/openai/v1/chat/completions \
  -H "Authorization: Bearer your_cr_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-4.1",
    "messages": [{"role": "user", "content": "Hello"}]
  }'

Gemini — GenerateContent API

curl https://openrouter.ezsite.ai/api/gemini/v1beta/models/gemini-2.5-flash:generateContent \
  -H "Authorization: Bearer your_cr_key_here" \
  -H "Content-Type: application/json" \
  -d '{
    "contents": [{"role": "user", "parts": [{"text": "Hello"}]}]
  }'

Python (OpenAI SDK)

from openai import OpenAI

client = OpenAI(
    api_key="your_cr_key_here",
    base_url="https://openrouter.ezsite.ai/api/openai/v1"
)

response = client.chat.completions.create(
    model="gpt-4.1",
    messages=[{"role": "user", "content": "Hello!"}]
)
print(response.choices[0].message.content)

Python (Anthropic SDK)

import anthropic

client = anthropic.Anthropic(
    api_key="your_cr_key_here",
    base_url="https://openrouter.ezsite.ai/api/claude"
)

message = client.messages.create(
    model="claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{"role": "user", "content": "Hello!"}]
)
print(message.content[0].text)

TypeScript (OpenAI SDK)

import OpenAI from "openai";

const client = new OpenAI({
  apiKey: "your_cr_key_here",
  baseURL: "https://openrouter.ezsite.ai/api/openai/v1",
});

const response = await client.chat.completions.create({
  model: "gpt-5",
  messages: [{ role: "user", content: "Hello!" }],
});
console.log(response.choices[0].message.content);

Available Models

Models are updated dynamically. Query the models endpoint for each provider to get the current list:

# EZRouter format (no auth required) — includes pricing info
curl https://openrouter.ezsite.ai/api/model/list

# OpenAI format
curl https://openrouter.ezsite.ai/api/openai/v1/models \
  -H "Authorization: Bearer your_cr_key_here"

# Claude / Anthropic format
curl https://openrouter.ezsite.ai/api/claude/v1/models \
  -H "Authorization: Bearer your_cr_key_here"

# Gemini format
curl https://openrouter.ezsite.ai/api/gemini/v1beta/models \
  -H "Authorization: Bearer your_cr_key_here"

Supported providers: Claude (Opus, Sonnet, Haiku), OpenAI (GPT-5.x, GPT-4.1, GPT-4o, o3/o4, Codex), Google Gemini (Pro, Flash, Flash-Lite).


Pricing

  • 2x Credits: Pay $5, get $10 in credits. Every dollar goes further.
  • Same rates as providers: No markup on per-token pricing.
  • Pay-as-you-go: No subscriptions. Add credits when you need them.
  • Minimum purchase: $5 | Maximum: $1,000

Links

Version tags

latestvk977zfbqzwenqey93qgvm6fc6n825ygq