Providers, models and pricing

Bring-your-own-key, the eight providers, the model catalog and how cost is measured.


rdn-swarm doesn't include any AI of its own. Every agent is a request from your phone to an AI provider, using a key you supply. This page explains the providers, where the model list comes from, and how cost is worked out.

Bring your own key#

  • You create an account and an API key with a provider, and paste the key into Settings.
  • Each request goes directly from your phone to that provider's API. Rdn Labs isn't in the path and can't see your prompts, code or keys.
  • The provider bills you for what you use, at its own rates. Rdn Labs takes no cut.
  • A run can use any mix of providers. Each role can be on a different one.

The eight providers#

Anthropic
Shown in the app as
Anthropic
Models you'll see
Claude (Haiku, Sonnet, Opus)
OpenAI
Shown in the app as
OpenAI
Models you'll see
GPT and the codex models
Google
Shown in the app as
Gemini
Models you'll see
Gemini
DeepSeek
Shown in the app as
DeepSeek
Models you'll see
DeepSeek chat and reasoning models
xAI
Shown in the app as
xAI
Models you'll see
Grok
Meta
Shown in the app as
Meta
Models you'll see
The hosted Muse family (not the open-weights Llama downloads)
Moonshot AI
Shown in the app as
Kimi
Models you'll see
Kimi
Alibaba Cloud
Shown in the app as
Qwen
Models you'll see
Qwen

Key pages, endpoints and sign-up notes for each are in the Provider reference.

The model catalog#

The models you can pick come from the model catalog, not from a hard-coded list in the app.

  • Rdn Labs publishes a price feed with one file per provider, built from each provider's own pricing and model pages. It lists each model's prices, context window, maximum output, and whether it's a reasoning model.
  • The app downloads the feed every time it launches, and whenever you tap Sync or Refresh model catalog in Settings. This download needs no API key and sends nothing about you. A failed or empty download never replaces a good list.
  • The app also ships with a copy of the feed, so the catalog works offline and on first launch.
  • Only models with a real, published price are listed. If a model is missing, it wasn't priced in the feed; it hasn't been hidden or mispriced.

You can override any model's prices, context window or max output under Settings → Model catalog. Your overrides always win over the feed, and the row is marked Edited. See Manage keys and the model catalog.

Cost tiers#

Next to each model, the role cards show a cost tier based on its input price per million tokens:

$
Tier
Budget
Input price per 1M tokens
up to $0.50
$$
Tier
Standard
Input price per 1M tokens
up to $3
$$$
Tier
Premium
Input price per 1M tokens
up to $10
$$$$
Tier
Ultra
Input price per 1M tokens
above $10

The tier is a quick guide only. Output tokens are usually priced several times higher than input, and developers produce a lot of output.

How cost is measured#

  • Live meter. While an agent streams its answer, the app estimates cost from the output tokens as they arrive, so the cost figures climb during a phase. When the call finishes, the estimate is replaced with the provider's exact token counts.
  • Cached input. Several providers charge less for input they've seen recently. rdn-swarm records cache reads and writes per call and shows the cache hit rate and Saved by caching on the run summary and in Data.
  • Reasoning tokens. Reasoning models bill their hidden thinking as output tokens. These are shown separately where the provider reports them.
  • Long-context pricing. Some models charge a higher rate above a certain prompt size. The feed records these price bands, and each call is priced at the band its prompt falls in.
  • Time-of-day pricing. Where a provider discounts off-peak hours (DeepSeek does), each call is priced by when it started.
  • Past runs are never re-priced. A run's cost is fixed at the prices that applied when it ran.

The app's figure is a close estimate from published prices and reported tokens. Your provider's billing console is the authority.

Retries#

Providers sometimes answer "too many requests" (HTTP 429) or "overloaded" (HTTP 503), and phone connections drop. rdn-swarm retries these automatically with increasing waits, with random offsets so parallel developers don't all retry at the same moment. Permanent errors, such as a rejected key or a model your plan can't use, are not retried; the run stops with the provider's message. See During and after a run.