Home/Migrate/From OpenRouter
Migration guide · 5 minutes

OpenRouter → QuickSilver Pro

Two lines of code. 50–60% lower on Claude Opus 5.5 and Sonnet 5.5, ~20% lower on GLM-5.3, Qwen 3.7 Plus and MiniMax M3 — and GPT-6.1 Sol at list. For the comparative analysis, see /vs/openrouter.

The 5 steps

  1. 1

    Get a QuickSilver Pro API key

    Sign up at quicksilverpro.io/dashboard. First top-up bonus: we match your first top-up 100%, up to $50 — added to your balance when you top up again (any amount from $5).

  2. 2

    Change the base URL

    In your OpenAI SDK init, swap the base_url.

    - base_url="https://openrouter.ai/api/v1"
    + base_url="https://api.quicksilverpro.io/v1"
  3. 3

    Swap the API key

    Replace OPENROUTER_KEY with your QSP key.

    - api_key=os.environ["OPENROUTER_KEY"],
    + api_key=os.environ["QSP_KEY"],
  4. 4

    Rename model IDs

    Drop the provider/ prefix. The Qwen models also drop the trailing -a3b MoE-config suffix.

    OpenRouterQuickSilver Pro
    deepseek/deepseek-v4-flash-0731deepseek-v4-flash
    deepseek/deepseek-v4-prodeepseek-v4-pro
    qwen/qwen3.7-maxqwen3.7-max
    qwen/qwen3.7-plusqwen3.7-plus
    qwen/qwen3.7-flashqwen3.7-flash
    qwen/qwen3.6-plusqwen3.6-plus
    qwen/qwen3.6-35b-a3bqwen3.6-35b
    moonshotai/kimi-k2.6kimi-k2.6
    moonshotai/kimi-k2.7-codekimi-k2.7-code
    moonshotai/kimi-k3kimi-k3
    z-ai/glm-5.3glm-5.3
    z-ai/glm-5.3-flashglm-5.3-flash
    openai/gpt-oss-120bgpt-oss-120b
    qwen/qwen3.8-27bqwen3.8-27b
    qwen/qwen3.8-flashqwen3.8-flash-next
    qwen/qwen3.8-omni-flashqwen3.8-omni-flash
    z-ai/glm-5.2glm-5.2
  5. 5

    Test your core flows end-to-end

    Run one representative request for each feature — chat, tool_calls, json_schema strict mode, streaming. Apart from the known difference below, any behavioral diff is a bug — report it.

    One known difference: json_schema strict mode is model-dependent. The Claude models do not support it, so a schema there is advisory and the enforced path is a tool with strict: true — structured output.

Full before/after

Before · OpenRouter
from openai import OpenAI

client = OpenAI(
    base_url="https://openrouter.ai/api/v1",
    api_key=os.environ["OPENROUTER_KEY"],
)

r = client.chat.completions.create(
    model="deepseek/deepseek-v4-flash-0731",
    messages=[{"role": "user", "content": "Hi"}],
)
After · QuickSilver Pro
from openai import OpenAI

client = OpenAI(
    base_url="https://api.quicksilverpro.io/v1",
    api_key=os.environ["QSP_KEY"],
)

r = client.chat.completions.create(
    model="deepseek-v4-flash",
    messages=[{"role": "user", "content": "Hi"}],
)

Common migration pitfalls

⚠
Cache-hit ratio drops temporarily
OpenRouter's cache lives across upstream providers; when you switch to QSP your cache starts cold. For the first day or two, observed cost may be a few % higher than list-price math suggests. Cache fills within 24-48h of your normal traffic pattern.
⚠
Model version drift
The undated OpenRouter DeepSeek ID serves an older build. QSP pins V4 Flash to the official 0731 revision; re-run evals if they were tuned to the older output style.
⚠
Don't migrate models you don't use on QSP
QSP's catalog spans open weights (Qwen3.8, GLM-5.3, DeepSeek V4.1, Kimi K3, MiniMax M3) and the closed frontier (GPT-6.1 Sol, Claude Opus 5.5 and Sonnet 5.5, Gemini 3.8, Grok 4.7) — so Claude and GPT workloads move over too, on the same key. If your setup also uses Llama, Mistral, or the long tail of community models, keep calling OpenRouter for those. Many teams run both SDKs side-by-side.
⚠
Rate limits work differently
OpenRouter silently smooths across upstreams. QSP enforces per-key throughput caps (default 600 req/min, 1M tok/min, 8 parallel). For bursty workloads, enable retry-on-429 in your client and ask for a higher limit if needed.

Need help?

Email hello@quicksilverpro.io — a human replies usually within 4 hours. For the broader analysis, see QuickSilver Pro vs OpenRouter.

Start saving in 5 minutes

First top-up matched 100%, up to $50 in bonus credits, added on your next top-up. Keep your OpenAI SDK unchanged — only the URL and key change.

Get API Key