https://openrouter.ezsite.ai - Unified LLM API — one key for Claude, GPT, Gemini. 2x credits, auto-failover, OpenAI-compatible.
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.
MIT-0 · Free to use, modify, and redistribute. No attribution required.
⭐ 0 · 209 · 0 current installs · 0 all-time installs
MIT-0
Security Scan
OpenClaw
Benign
high confidencePurpose & Capability
The name/description promise (a unified proxy API for Claude, OpenAI, and Gemini) matches the SKILL.md examples and base URLs. The skill requests no unrelated binaries, env vars, or config paths; everything shown is appropriate for an integration guide to a third‑party LLM proxy.
Instruction Scope
SKILL.md only contains usage examples (curl, Python, TypeScript), environment variable examples, and model/list endpoints. It does not instruct the agent to read unrelated local files, secrets, or system config, nor to transmit data to unexpected endpoints beyond the stated proxy URLs.
Install Mechanism
There is no install spec and no code files — this is instruction-only content, so nothing is downloaded or written to disk by the skill itself.
Credentials
The metadata requires no env vars, which is consistent for an instruction-only skill. SKILL.md shows the user will need to supply an EZROUTER API key (e.g., EZROUTER_API_KEY or ANTHROPIC_API_KEY) to use the service — this is expected, but handing a third party an API key is a meaningful privilege and should be treated carefully.
Persistence & Privilege
The skill is not marked always:true, requests no system persistence, and does not modify agent/system settings. Autonomous invocation is allowed (platform default) but not combined with other concerning privileges.
Assessment
This skill is basically documentation for using a third‑party LLM proxy (openrouter.ezsite.ai). It appears internally consistent, but before using it: 1) Verify the service identity and reputation (look for an official homepage, company info, privacy policy, and HTTPS certificate). 2) Never reuse high-privilege keys — create a dedicated API key/account for EZRouter and keep initial funding minimal so you can test usage/behavior. 3) Understand that any prompts and responses routed through EZRouter are visible to that provider — avoid sending sensitive or regulated data. 4) Confirm pricing/credits and check billing/usage logs regularly. 5) If you rely on true provider-native policies or compliance, validate that the proxy actually supports the features you need. If you want, I can list specific checks to verify the service (domains, TLS, whois, online reputation) or draft a minimal test plan using a low-value account.Like a lobster shell, security has layers — review code before you run it.
Current versionv1.0.0
Download ziplatest
License
MIT-0
Free to use, modify, and redistribute. No attribution required.
SKILL.md
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
- Sign up at https://openrouter.ezsite.ai
- Add credits (you get 2x what you pay — $5 becomes $10)
- Create an API key (prefix:
cr_) - Use the appropriate base URL for your tool or provider
Base URLs
| Provider | Base URL | Use With |
|---|---|---|
| Claude / Anthropic | https://openrouter.ezsite.ai/api/claude | Claude Code, Anthropic SDK |
| OpenAI | https://openrouter.ezsite.ai/api/openai/v1 | Cursor, OpenAI SDK, ChatGPT-compatible tools |
| Gemini | https://openrouter.ezsite.ai/api/gemini | Gemini 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
- Dashboard: https://openrouter.ezsite.ai
- Claude API: https://openrouter.ezsite.ai/api/claude
- OpenAI API: https://openrouter.ezsite.ai/api/openai/v1
- Gemini API: https://openrouter.ezsite.ai/api/gemini
Files
1 totalSelect a file
Select a file to preview.
Comments
Loading comments…
