Move from OpenRouter

Prepare your account

Update configuration

Test your connection

Confirm usage

Apply for migration reward

Advanced notes

On this page

This platform

Keep your OpenAI-compatible workflow. Update your endpoint, API key and model, then verify before switching traffic.

Start migration

Create API key

OpenRouter migration reward

Reward: 10% of verified net consumption, capped at 500 USD. Credit within 30 days of approval.

Learn more

OpenAI-compatible API

Test before switching

Need client setup help?

Docs

Sign in or register, check your wallet balance, then create an enabled API key with sufficient quota and access to your chosen model. Store it in your server environment, never in browser code.

Register

Wallet

Models & pricing

Configuration comparison

Setting

OpenRouter

Base URL

API Key

New key from this platform

Model ID

Exact ID from the model catalog

Copy the exact model ID from Models & pricing or GET /v1/models using your new key. Do not assume removing the provider prefix is enough. SDK base URLs end in /v1; raw requests append /chat/completions once.

Replace YOUR_PLATFORM_API_KEY and YOUR_MODEL_ID. Run the cURL environment setup on macOS/Linux or the PowerShell setup on Windows first; Python and Node.js read those same environment variables. Run examples on your server or local terminal.

Confirm HTTP 200 and a non-empty choices[0].message.content for the basic text request.

Check the model, tokens and charge in Usage logs. Compare pricing using the same model and billing units.

Usage logs

Check compatibility

Review OpenRouter-specific features

Remove OpenRouter attribution headers (HTTP-Referer, X-Title and X-OpenRouter-Title). Review provider, models, route, transforms, plugins and model suffixes such as :free; routing and pricing rules do not transfer automatically.

Start with a plain text Chat Completions request. Test tools, JSON output, images, reasoning and streaming separately against the selected model. If you use an OpenRouter SDK or a preset client, switch to an OpenAI-compatible client or custom provider configuration.

Verify and switch traffic

Enable stream: true and verify incremental events and stream completion in your client.

Switch a small amount of traffic first. Monitor errors and latency, then expand. Keep the previous configuration available for rollback; revoke unused keys after validation.

Troubleshooting

Use a key issued by this platform with Authorization: Bearer. Check key status, expiry, IP restrictions and model permissions.

Check the /v1 base URL, exact model ID and supported parameters. Remove OpenRouter-specific fields and retry a minimal request.

Check balance, key quota, rate limits and model availability in the error response. Retry transient failures with backoff; do not repeatedly retry invalid credentials or insufficient balance.

What transfers?

This guide migrates API configuration. OpenRouter balances, keys, invoices, usage history and chat history are not imported. Back up conversations in your client and handle billing with the original platform. Any migration reward is a separate application, subject to review.

References

Submit OpenRouter statements or invoices, consumption records, images and a written explanation. Eligible net consumption must be at least 100 USD. Receive 10%, up to 500 USD per individual or business, as consumption-only credit that cannot be refunded or withdrawn. Each independent customer may participate once; rejected applications may be resubmitted. Credit is issued within 30 days of approval.

Net consumption excludes refunds, promotional credits and discounts. Minimum 100 USD.

PDF, JPG or PNG. Up to 5 files, 10 MB each.

Base URL
https://routerra.ai/v1
API Key
YOUR_PLATFORM_API_KEY
Model ID
YOUR_MODEL_ID

cURL

export OPENAI_BASE_URL='https://routerra.ai/v1'
export OPENAI_API_KEY='YOUR_PLATFORM_API_KEY'
export OPENAI_MODEL='YOUR_MODEL_ID'

curl --fail-with-body "$OPENAI_BASE_URL/chat/completions" \
  -H "Authorization: Bearer $OPENAI_API_KEY" \
  -H 'Content-Type: application/json' \
  -d @- <<EOF
{"model":"$OPENAI_MODEL","messages":[{"role":"user","content":"Hello"}]}
EOF

Python

# pip install openai
import os
from openai import OpenAI

client = OpenAI(
    base_url=os.environ["OPENAI_BASE_URL"],
    api_key=os.environ["OPENAI_API_KEY"],
)
response = client.chat.completions.create(
    model=os.environ["OPENAI_MODEL"],
    messages=[{"role": "user", "content": "Hello"}],
)
print(response.choices[0].message.content)

Node.js

// bun add openai
import OpenAI from 'openai';

const client = new OpenAI({
  baseURL: process.env.OPENAI_BASE_URL,
  apiKey: process.env.OPENAI_API_KEY,
});
const response = await client.chat.completions.create({
  model: process.env.OPENAI_MODEL,
  messages: [{ role: 'user', content: 'Hello' }],
});
console.log(response.choices[0].message.content);

PowerShell

$env:OPENAI_BASE_URL = 'https://routerra.ai/v1'
$env:OPENAI_API_KEY = 'YOUR_PLATFORM_API_KEY'
$env:OPENAI_MODEL = 'YOUR_MODEL_ID'

$body = @{
  model = $env:OPENAI_MODEL
  messages = @(@{ role = 'user'; content = 'Hello' })
} | ConvertTo-Json -Depth 5
Invoke-RestMethod -Method Post `
  -Uri "$env:OPENAI_BASE_URL/chat/completions" `
  -Headers @{ Authorization = "Bearer $env:OPENAI_API_KEY" } `
  -ContentType 'application/json' -Body $body