Keys and providers

Rejected keys, region-locked accounts, empty model lists and billing errors.


Problems adding, validating or using a provider key.

"Provider rejected the key"#

The provider refused the key: it's wrong, incomplete, revoked, or belongs to a different platform. In the Quick Start this shows as Invalid API key.

  • Copy the key again from the provider's console. Most consoles show a key only once, so if you can't copy it again, create a new one.
  • Make sure it's an API key from the right site. ChatGPT, Claude.ai, X Premium and other chat subscriptions don't include API keys. See Add your first API key.
  • Kimi: the key must come from the international platform (platform.kimi.ai), not the China (.cn) platform.
  • Qwen: keys are region-specific, and rdn-swarm uses the international endpoint. A key from another region fails with incorrect API key, even though the key itself is fine. Create one at home.qwencloud.com.

"That key contains spaces or invisible characters"#

Copying from a web page sometimes picks up a line break or an invisible character that looks identical to a real key. The app refuses to store it. Copy the key again, more carefully (many consoles have a copy button), and tap Paste.

"Couldn't store the key securely on this device"#

The phone's secure key storage wasn't available. Restart the phone and try again. If it keeps happening, email lab@reidell.net with your phone model and OS version.

"Validation failed"#

The check didn't reach a verdict, usually because of the network. The reason is shown under the heading.

  • Check that you're online, then tap Validate again.
  • Company Wi-Fi, VPNs and content filters sometimes block AI provider domains. Try mobile data.
  • Check the provider's status page for an outage.

The key validates, but runs fail on billing or quota#

Validate confirms that the provider accepts the key. It can't confirm that the account has credit or access to a particular model. If the run fails with an error mentioning billing, balance, quota, credits, insufficient funds, or a model not available on your plan:

  • add credit or a payment method in the provider's console (DeepSeek, Kimi and xAI are prepaid; top up first);
  • check that your account tier includes the model you picked, or choose another model on that role;
  • then pick up where you left off with Run next iteration. A failed run can be reopened.

A provider's model list is empty#

  • Go to Settings → Model catalog, choose the provider's tab, and tap Sync. Or tap Refresh model catalog on the provider's page.
  • The catalog comes from swarm.reidell.net. If your network blocks it, the app keeps using the list built into the app, but it can't update.
  • A model only appears if it has a published price. A model you know exists may be missing because it isn't priced in the feed yet. It will appear once it is.

A model I used before has disappeared#

Providers rename and retire models, and the catalog follows them. Roles still pointing at a vanished model are flagged isn't in this provider's model list. Pick a replacement on that role card.

Prices in the app don't match my bill#

The app estimates cost from the catalog's published prices and the token counts the provider reports. Differences come from:

  • price changes the feed hasn't picked up yet. You can fix these yourself in Settings → Model catalog with the edit pencil;
  • discounts, credits, taxes or negotiated rates on your account;
  • calls outside rdn-swarm on the same key.

Your provider's billing console is always the authority.

I added a key but nothing uses it#

After your first run, a new key doesn't reassign roles automatically. Assign the provider to one or more roles in New Run → Configuration. See Manage keys and the model catalog.