Choose a responsive chain

Verified starting routes, account limits and practical latency tuning.

v0.3.0 · Updated November 2, 2026
On this page

Overview

There is no universal best free chain: select by successful tool use on your account, request size, first-output latency and independent available capacity. A shared free pool can change availability between two turns. Model aliases and multiple keys do not multiply one provider's allowance.

Configure each tier once

  • Add your official free keys in Providers; discovery checks catalog availability.
  • In Models, select conflux/claude-sonnet, then inspect with Tools enabled.
  • Put successfully tested, available tool-capable routes first. Check exact IDs.
  • Repeat for conflux/claude-haiku, conflux/claude-background and Opus if used.
  • Create a key/profile permitting every requested tier. A Sonnet-only Harness Profile must map *all* tier variables to its assigned model; generated profile configuration does that. The general launcher needs a key allowing all four.
  • Use a short tool task in a scratch directory; inspect both the tool call and the tool-result continuation. Record errors/latencies before reordering.

For images, this installation has no newly verified fast vision fallback. The catalog's context length or declared tools is not proof of your account's end-to-end coding/vision fidelity. Never strip images/tools/history to force a request through a text-only model.

Reduce avoidable latency

  • Start Claude with --effort low for routine tasks; increase it when useful. Models without native control get an explicit prompt preference. Low effort does not guarantee that a provider disables hidden reasoning.
  • Start a fresh CLI session when old history is irrelevant. Use --bare only for diagnosis; it also skips automatic project instructions and integrations.
  • Review tool schemas/MCP integrations and output caps. A "hello" still resends system instructions and tools. Low max_tokens alone does not fix oversized input.
  • Keep degradation wait/retry off for a latency-oriented chain. Long reset windows should skip to independent capacity rather than wait on the same account.
  • Production: npm run build then npm start, or Docker. Dev compilation is not a provider-speed benchmark. TLS proxies must flush SSE without buffering.

Optional tuning for streaming, in .env / Compose, then restart:

dotenv
CONFLUX_UPSTREAM_TIMEOUT_MS=30000
CONFLUX_FIRST_OUTPUT_TIMEOUT_MS=10000

A full default-tool test timed out with a 10s deadline before a later test completed in 11.295s; 10s is not a reliable universal default. The running gateway retains 30s to tolerate larger prompts. The second setting covers connection, headers and waiting for substantive streaming output; role-only frames cannot keep it alive indefinitely. It is capped by the upstream timeout. After output commits, the original idle timeout applies. JSON uses the original overall timeout. Defaults remain 30s for compatibility. A shorter first-output deadline can reject busy, long-prefill or reasoning-heavy models; raise it for workloads that need them. There is no speculative parallel generation.

Understanding timing

Receipts report full request/hop durations, not pure gateway overhead or a promise of future speed. A 4ms gateway 503 plus ten CLI retries can take minutes. A 30s hop before fallback adds 30s even if the next provider answers in 1s. First answer text can arrive after reasoning has already committed a stream; such a stream cannot be safely replayed. Playground separates first-answer text and elapsed time.

Official references, accessed 2026-10-24: