Use Squiid with
Grok
Grok needs credentials for every service your project touches. Give it one instead: SQUIID_API_KEY in .env, and every service in the catalog behind it.
What Grok is
Grok is the assistant and model family from xAI, available in a chat interface and through the xAI API, with coding-focused models that several editors and agent tools can use as a backend. In practice you meet it in two places: asking it to write code, and selecting a Grok model inside another coding tool. Either way the generated code still needs credentials for whatever services your app talks to.
The problem: every agent wants keys
The moment a coding agent stops writing a component and starts wiring up a product, it needs credentials. A database URL for Supabase. A deploy token for Vercel. An API key for Resend. Another for Twilio, another for Stripe, another for whichever model provider the feature calls. Each one is a signup, a dashboard, a billing relationship and a secret that has to exist somewhere Grok can reach.
What happens next is worse than a long .env file. People paste secrets into prompts to get better answers, and keys end up in chat transcripts, in screenshots posted for help, and in committed config. Because each key belongs to a different vendor, rotating one after a leak means finding it, regenerating it and updating every place it was copied to.
The fix: one key, one convention
Squiid holds the upstream credentials for every service in the catalog. Your project gets one variable:
SQUIID_API_KEY=sq_live_xxxxxxxxxxxxxxxxxxxx
Then every call your app or your agent makes goes to the gateway with that one key:
curl https://api.squiid.io/v1/supabase/... \
-H "Authorization: Bearer $SQUIID_API_KEY"
Official SDKs take a base URL, so most integrations are a one line change rather than a rewrite:
import { createClient } from '@supabase/supabase-js';
const db = createClient(
'https://api.squiid.io/v1/supabase',
process.env.SQUIID_API_KEY,
);
That is the gateway convention: https://api.squiid.io/v1/<service>/ with Authorization: Bearer $SQUIID_API_KEY. It is the same for every service, which is why an agent only has to learn it once. Full detail is on the gateway convention page.
Setting it up in Grok
- When you use Grok in chat, give it the gateway convention at the start so it generates code reading one variable. Do not paste secrets into the conversation.
- When a Grok model is selected inside an editor or agent such as Cursor, Cline or Windsurf, the environment rules of that tool apply. Set
SQUIID_API_KEYin.envand add the convention to that tool project rules file. - If your application calls the xAI API directly, add xAI on Squiid and point the base URL at
https://api.squiid.io/v1/xai/so inference bills from the same credits as the rest of your stack.
What it costs
Usage is paid from prepaid credits at par: $1 of credit is $1 at the provider, no markup. The free plan is $0/month with a 15% fee on credit top-ups and a $50 minimum top-up. Solo is $19.97/month and its top-up fee starts at 8%, falling to 6.5%, 5% and 3.5% as trailing 30-day API spend passes $100, $500 and $2,000. Team is $29.97 per seat per month for seats 1-5, $24.97 for seats 6-20 and $19.97 above that, with the same ladder one point lower. Custom pricing is 3% or less against a commitment. Subscription-priced services such as Supabase Pro at $25 a month pass through at the provider price with no fee. Credits pause at zero rather than overdrawing, with alerts at 75%, 90% and 100%. See spend controls.
Services agents ask for most
The eight services that come up first in almost every Grok project, all reachable with the same key.
Supabase
DatabasePostgres with auth, storage and realtime.
Vercel
HostingDeploy from a git push, preview per branch.
Resend
EmailTransactional email in one POST request.
Twilio
MessagingSMS, voice and phone numbers worldwide.
Cloudflare R2
StorageR2 object storage, Workers, KV and D1.
Stripe
PaymentsCheckout, subscriptions and webhooks.
Anthropic
LLM APIClaude models for app-side generation.
OpenAI
LLM APIChat, embeddings, images and audio.
Set it up in 3 steps
Add the services in Squiid
Create a Squiid account, top up credits, and click add on the services this project needs. Squiid provisions them upstream and keeps the provider credentials.
One line in .env
Put SQUIID_API_KEY=sq_live_… in .env and remove every provider key you were carrying. That is the whole secret surface of the project.
Tell Grok the convention
Write the base URL and the header into your project rules file so Grok generates correct calls without being reminded.
Questions people ask
Can I use Grok models through Squiid?
Yes. xAI is in the Squiid catalogue. Point your client base URL at https://api.squiid.io/v1/xai/ and authenticate with SQUIID_API_KEY. Inference bills at xAI list prices from your prepaid credits with no markup.
How do I keep secrets out of a Grok conversation?
Do not put them in your project in the first place. With Squiid the repository holds one gateway key, so there is no service role key or connection string to accidentally paste in while asking for help with a bug.
Does the gateway convention work when Grok is the model inside another editor?
Yes, because the convention is about your code and your environment, not about the model. Whichever model your editor uses, the generated code reads SQUIID_API_KEY and calls the same gateway paths.
What services do people wire up after picking a model?
Almost always a database, hosting and email first, then auth and payments. Supabase, Vercel and Resend cover the first three, and all of them are on Squiid under the same key.
Give Grok one key.
Not twelve.
One account, one API key, one bill and one dashboard for every service in the catalog your project needs.