routingsafety

Strict-zero routing: why your agent should never spend behind your back

Strict-zero keeps paid fallback disabled. Learn how zero-price catalog checks, optional free quotas, tool requirements, and upstream account limits fit together.

A closed padlock gate blocks a paid path while a free path stays open, so refused requests stop at the paid side instead of passing through.

The fastest way to get burned by an “AI agent” is a silent paid fallback. The free model rate-limits, the framework quietly retries against a paid one, and you find out at the end of the month. Strict-zero is the opposite default.

What strict-zero means

By default, Ficelle routes only to models that satisfy three rules:

  • Free pricing required. The default catalog path requires zero-price evidence. Optional quota providers use explicit free-access eligibility and guards; check the access mechanism and upstream account entitlement.
  • Tools required. The default agent profile requires tool-call support; other profiles apply their own capability requirements.
  • No paid fallback. When every free candidate is exhausted, Ficelle fails the request rather than silently spending money.

allow_paid_fallback is hardcoded false. If configuration claims otherwise, Ficelle refuses to start. Paid fallback is not an opt-in switch.

The anti-false-free guard

Some quota providers bill the same model IDs when your account permits paid usage beyond the included allocation. Ficelle runs an anti-false-free guard: if the runtime reports a model as billed, that model is quarantined out of the free pool. That guard reacts to billing evidence the runtime receives. It cannot undo a charge or inspect billing information the provider does not report.

Why a hard failure is the right default

An explicit error lets you stop an agent loop, wait for quota recovery, or change the task. Ficelle keeps paid fallback disabled even when the free pool is exhausted. Requests already sent to a quota provider remain subject to that account’s billing terms.

Where upstream account limits matter

OpenRouter exposes separate :free variants. Nous Portal also has zero-price catalog rows, but its documented subscription model requires you to verify account access. Neither a catalog row nor provider-pack membership proves a request will work with your credentials.

Quota access has another boundary. Mistral can extend included usage through pay-as-you-go, and Cloudflare Workers AI bills excess Neurons on Workers Paid. Ficelle does not control those upstream settings. Keep the account within its free entitlement before enabling a quota provider. Cerebras currently offers time-bounded trial credits rather than a renewable free tier.

Free pools can run out. Cooldowns and recovery probes help identify candidates that can serve requests again; until one is eligible, the request may fail.

Your keys stay on your machine, and requests go directly to the selected provider.


Install Ficelle → One command. No account, and it can't charge you.