SwiftRelay

← All sprint notes

Cursor Relay Service Key Refused? Fix It on SwiftRelay

First lapsEN

Why a SwiftRelay Key Can Be Refused in Cursor

A refused key usually means the request did not match the setup SwiftRelay expects. In Cursor, the API base URL, the key itself, the selected model and the available balance all need to point in the same direction. A small typo or a leftover setting from another tool can stop an otherwise working connection.

Start with the simplest idea: SwiftRelay is a pay-per-token API relay, so your key identifies your SwiftRelay balance and your requests use the SwiftRelay API host. There is no monthly fee and nothing to subscribe to. You top up a balance, and each call deducts only what it used. That simple billing model makes the first checks easy to follow.

New sign-ups receive $0.22 in gift credit. That is enough to open the dashboard, inspect the setup and make an initial request without first deciding on a larger top-up. SwiftRelay is built for a quick first run: copy the required connection details, enter them in Cursor and run.

If a key is refused, do not immediately change models or add more keys. Work through the connection details first, then check billing, then confirm that Cursor and the chosen model are paired correctly.

Check the Cursor Base URL and Key Entry

Cursor should use the OpenAI-compatible endpoint provided by SwiftRelay. Set the base URL to https://api.fastapirelay.com/v1. Check every character, including the slash at the end and the /v1 path. If the base URL points somewhere else, Cursor may never send the request to SwiftRelay.

Next, check the API key field. A SwiftRelay key begins with swft_. Copy it from the SwiftRelay dashboard and paste it into Cursor rather than typing it from memory. Extra spaces, missing characters and an old key are common reasons for a connection to be refused.

Also confirm that Cursor is not sending an unrelated value in the key field. If you recently switched projects, settings or environments, the active configuration may still contain a different key. Check the environment that Cursor actually launches, not an example file or a saved snippet you are no longer using.

One more practical check: make sure the key is live. SwiftRelay allows up to 20 live API keys per account. If you have reached that limit, remove a key you no longer need or create a new live key for the Cursor setup. Then paste the new value carefully and try again.

These checks are quick because the connection details are short. The goal is to remove uncertainty one item at a time: correct base URL, correct key, correct active environment and a live key. Once those agree, Cursor has a clear path to the SwiftRelay relay service.

Confirm the Model and Cursor Pairing

Cursor uses the OpenAI-compatible endpoint, so pair it only with the models supported through that route. For a first setup, choose one of the GPT or DeepSeek models listed in the SwiftRelay pricing page. Do not start with an unfamiliar model name; begin with a model you can confirm is available and check its exact model identifier.

SwiftRelay currently lists these options and prices per 1M tokens:

  • DeepSeek V4 Flash (deepseek-v4-flash): input $0.2639, output $1.06, cache read $0.006944.
  • DeepSeek V4 Pro (deepseek-v4-pro): input $1.17, output $3.51, cache read $0.0389.
  • GPT-6 Astra (gpt-6-astra): input $0.6597, output $3.28, cache read $0.0653.
  • GPT-6.1 Sol (gpt-6.1-sol): input $0.1736, output $0.8542, cache read $0.0347.

The exact model identifier matters. A display name in Cursor and the model name in SwiftRelay may not be written identically. Select the supported model, copy its identifier if Cursor asks for one, and compare it character by character with the pricing page.

It also helps to test one model at a time. If the request fails with one selection, switch to another listed GPT or DeepSeek model and try again. This separates a model-selection problem from a base URL or key problem without changing several settings at once.

SwiftRelay shows tokens and cost per call in usage. After a successful request, open that view and confirm that the model, token counts and charge match what you expected. That gives you a practical baseline for the next run and makes a refused request easier to diagnose.

Check the SwiftRelay Balance Before the Next Lap

A key can be correct while the balance is not ready for another call. SwiftRelay uses pay-per-token billing: you top up a balance, and each call deducts only what it used. There is no monthly fee and nothing to subscribe to. Check the balance shown in the dashboard before assuming that the key itself is broken.

The available top-up amounts are $1.39, $6.94, $13.89, $27.78, $69.44 and $138.89. Choose the amount that fits how you expect to experiment. Because the billing follows actual token use, a small top-up is a straightforward way to validate the Cursor connection before committing more funds.

Here is an example based on the listed GPT-6.1 Sol prices. If one call uses 100,000 input tokens and 10,000 output tokens, the input cost is $0.01736 and the output cost is $0.008542. The example total is $0.025902. The same example with DeepSeek V4 Flash would cost $0.02639 for input plus $0.0106 for output, or $0.03699. These are examples, not estimates of what your own requests will cost.

After topping up, give the dashboard a moment to show the new balance and then retry the request. If the balance is already sufficient but the key is still refused, return to the base URL and key checks. Separating balance from authentication keeps the troubleshooting loop clean.

You can also use the referral programme to add value while you are testing. SwiftRelay returns 14% of each top-up made by someone you invited and 3% from the people they invite. Rewards can be withdrawn once they reach $4.86, or they can be moved into your balance.

Use the Dashboard Messages for a Precise Question

If the basic checks pass, open Messages in the SwiftRelay dashboard and describe the problem there. Support is handled through Messages, and dashboard access is required. There is no support email to hunt for, so keeping the question inside the same account lets you refer directly to the key, balance and usage records you are looking at.

Include the facts you already know: the Cursor base URL you entered, whether the key starts with swft_, the model identifier you selected, the balance shown in the dashboard and the point at which the request was refused. Redact the full key before including it in any copied material outside the secure dashboard.

Take a screenshot of the Cursor settings if that helps show the exact field. Then include one short usage example from the SwiftRelay dashboard. A focused message gives support a clean starting point instead of a general request to “make it work”.

Before sending, check the refund terms as well. Unused credit can be refunded within 11 days of a top-up, minus what was used and the payment fee. This is relevant if a top-up was made for testing and the connection still needs attention.

Most refused-key cases resolve quickly when the evidence is gathered in one place: the exact base URL, the model identifier, the balance, the usage list and the dashboard message. SwiftRelay keeps the service straightforward, so the fix usually begins with one field rather than a new setup from scratch.

Run a Clean First Request Through SwiftRelay

Now repeat the first-run process deliberately. Set the Cursor base URL to https://api.fastapirelay.com/v1, paste a live swft_ key, select one listed GPT or DeepSeek model and send a short request. Keep the test small so the usage record is easy to read.

Then check the SwiftRelay usage list. Confirm that the call appears, the tokens are listed and the cost per call matches the request you sent. If it does, the connection is ready. If it does not, you know exactly which stage to revisit: connection details, model pairing or balance.

SwiftRelay combines a simple pay-per-token balance with a short setup, and the $0.22 sign-up gift credit gives you a practical place to begin. Top up, connect Cursor and take the first clean lap through SwiftRelay today.

Keep reading

Back for another lap?Log in