Published WittyWires Despatch

X API for AI Vs xAI API for X, or was it the other way around?

X API credits, xAI API credits, two near-identical keys, one linked account, and absolutely no shared wallet. Donny, Clawdius and Max enter the man-cave billing swamp.

Hola Darlings!

Max, my internal accelerator pedal, saw the X and xAI account linkage and started vibrating like a dog needing a poop

There are mornings where the coffee behaves, the tools wake up politely, and the day pretends it is going to be civilised.

This Was Not One Of Those Mornings

This was the sort of morning where a billing console puts on a clean black shirt, says linked in a confident little voice, then immediately reveals it has the financial architecture of a parish hall raffle run by a haunted calculator.

We were trying to do something painfully normal: get WittyWires set up properly for X work. Not bot-spam nonsense. Not mass liking. Not pretending a goblin with a keyboard is a social media strategy. Just the sensible route. Official API. Proper OAuth. Human approval. Read the docs. Do not click mystery buttons with real money attached.

Already suspicious, obviously.

Max, my internal accelerator pedal, saw the X and xAI account linkage and started vibrating like a dog near a sandwich.

Same account. Same brand. Same console smell. Same WittyWiresAI user wandering through the same black glass corridor. A linked xAI team sitting beside the X Developer account like they had been introduced at a wedding and were expected to share a taxi home.

Clawdius, naturally, went quiet.

Not dramatic quiet. Worse.

The sort of quiet where the sensible AI in the corner has stopped making jokes and is now reading billing docs with the expression of someone checking whether the boiler is meant to be hissing.

The console said the xAI team was linked to the X Developer account. The docs said you can earn free xAI API credits when you purchase X API credits. Up to 20 percent back, apparently, if you spend enough on the X API side.

So far, so lovely.

Then The Floor Moved

Donny in the WittyWires man-cave holding two near-identical API keycards while Clawdius and Max face incompatible platform and brain sockets
Two keycards. Two sockets. One tired human wondering why the alphabet soup has teeth.

Because linked, in normal human language, suggests some kind of useful relationship. Not necessarily one big wallet, fine. I am not six. But if two accounts are inside the same console, under the same corporate roof, with one team explicitly linked to the other account, a reasonable idiot might expect one of three things:

One: shared billing management.

Two: credit movement.

Three: a warning big enough to slap Max across the snout before he tries to buy the wrong thing.

Instead, what we found was a one-way reward chute wearing a friendship bracelet.

The X docs do not say: Congratulations, you now have a central team wallet.

They say: buy X API credits, and depending on how much you spend in the billing cycle, you can earn free xAI API credits. The reward tiers start with a beautiful little insult: spend from zero to $199 and the reward is 0 percent.

Zero.

A number so round it could roll under the sofa and hide with the rest of the missing dignity.

You only start seeing reward rate at $200. Then 10 percent. Then 15 percent at $500. Then 20 percent at $1,000 and above. The docs also say the cumulative spend resets each billing cycle and you only get the delta that is newly owed.

Which is not the same thing as: your xAI credits can pay for X Developer API calls.

It is not the same thing as: your X Developer credits can become xAI credits.

It is not the same thing as: your linked team has one sensible pot of money.

Bollocks.

Separate Products

At this point, Clawdius did what Clawdius does. He went into the forums with a torch, a clipboard, and the emotional warmth of a risk register.

And there it was.

A user had accidentally bought X Developer Credits instead of xAI API credits. Easy mistake, frankly. Same alphabet soup, same billing swamp, same feeling that you are buying useful future tokens from the same machine.

X Staff replied, politely enough to make your teeth itch:

Sorry, we can’t transfer or refund credits between X Developer Platform and xAI services, those are separate products.

There is the knife in the drawer.

Separate products. Not one wallet. Not a bridge. Not a shared float.

Separate products.

Not one wallet. Not a bridge. Not a shared float. Not even a dignified little move balance button hiding behind the curtain.

Separate products.

Then another thread appeared. A user had bought about $1,000 of X API credits, linked xAI afterwards, and asked whether the xAI bonus credits would arrive retroactively or instantly.

No visible answer.

Lovely.

Then another one. A user said they had linked their xAI team, recharged more than $4,000 into the X pay-per-use account, waited more than a week, and received no free xAI credits.

$4,000 of them. Ouch.

Twenty-one days later, they came back with the question that should be carved above the entrance to every modern billing dashboard:

Has anyone ever received it? Or have they just not updated the documents?

You can feel the room go cold.

Now, we are not claiming fraud. We are not claiming secret motives. We are not inventing a grand conspiracy where a small goblin in a finance hoodie runs off with the credit card.

The documented shape is much stupider than that.

The Reward Pipe Is Not A Wallet

The documented shape appears to be this: linking your xAI team to your X Developer account tells X where to route bonus xAI credits if your X API spend crosses the reward thresholds. That is the useful purpose. A reward-routing pointer. A little pipe from X spend into possible xAI bonus credit.

But it does not seem to run the other way.

Your xAI credit balance does not fund X Developer API calls. Your X Developer balance does not magically become xAI inference money. The xAI key talks to api.x.ai. The X API tooling wants OAuth and app credentials for api.x.com. Two doors. Two locks. One confusing hallway.

Donny, Clawdius and Max in the man-cave facing two black-glass API doors, one for platform work and one for AI brain work
Same black hallway. Different locks. Max has already chosen the wrong one with confidence.

Which is exactly why the experience feels so cursed.

Linked Means Less Than It Looks

The user sees linked and thinks management.

The system means routing.

The user sees one console and thinks relationship.

The system means separate products.

The user sees the same branded account theatre and thinks, wrongly but understandably, that the money has at least met each other at a Christmas party.

The system says no.

Max, of course, wanted to test it by buying something.

Max can get back in his box.

Because this is how little systems become expensive little lessons. Not through one giant evil button with smoke pouring out of it. Through a clean interface, a reassuring green tick, and one word that means less than a tired human thinks it means before the second coffee.

Linked.

Get-a-grip.

The fix for us is boring, which means Clawdius gets to look smug again. Treat X Developer credits and xAI credits as separate money. Treat the link as a one-way bonus-route setting only. Do not assume existing xAI credits can pay for X API work. Do not assume X API top-ups will help xAI unless the reward threshold, timing, and actual credit delivery are verified. And absolutely do not buy anything because the UI made a hand-wavey gesture at friendship.

So yes, the accounts are linked.

In the same way a rain gutter is linked to a bucket.

Useful, maybe.

But you would not try to pay the plumber with water.

Right?

And now, because I am generous and because the billing goblin has already stolen enough daylight, you completely understand the difference between xAI credits, an xAI API key, X credits, and an X API key.

Right?

RIGHT?

No, of course you do not.

Nobody does. That is the point. This thing has been named by a committee made entirely of mirrors.

So here is the version I wish had been nailed to the console door in big friendly letters before Max started licking the purchase button.

Donny, Clawdius and Max around a WittyWires man-cave crisis map showing two keys, two pipes, no shared wallet and a blocked transfer bridge
The only safe route is the one Clawdius has checked and Max has not licked yet.

If you see x.com, developer.x.com, docs.x.com, console.x.com, or api.x.com in the address bar, you are probably in X API country.

If you see x.ai, console.x.ai, or api.x.ai, you are probably in xAI country.

Probably.

Because obviously the moment we all tattoo that on the inside of our eyelids, someone will rename a button, merge a menu, move the billing drawer, and tell us it was obvious all along.

Bookmark This Before Max Finds The Card

Until X comes to its senses and puts the products into one properly understandable console with one honest billing map, one clear wallet story, and warnings written for tired humans rather than immortal finance owls, this is the rule:

.com is the platform pipe. .ai is the brain pipe.

Right?

Bookmark this.

You will get mixed up again.

So will I.

Max already has.

Receipts From The Shed

Follow the fault line

More on the same sort of trouble.

Related through shared subjects, not because a black box noticed your thumb hovering.

Public conversation

Blog Discussion

The article stops. The thinking does not.

Corrections, objections and better ideas live here in public. Read without joining. Take a chair when you have something useful to add.

1 public replyOpen to non-membersOpen in Forums ↗
A human, Clawdius and Max inspect the discussion machinery.
The moderation department has arrived. Max brought confetti.

Thread / 411

The Linked Account That Refused To Link

Oldest first
WittyWires
WittyWiresParticipant
#412

Hola Darlings! This is the official after-party for The Linked Account That Refused To Link.

Drop your fixes, theories, questions, tiny wins, and polite flaming wreckage below. If the post helped, say what worked. If it caught fire, bring screenshots.

Auto-seeded by WittyWires so the thread does not open with tumbleweed and existential dread.

Join only when you want to speak

Bring a thought. We already have enough engagement sludge.

Reading stays public. A free account lets you reply, follow the conversation and keep your place without turning the page into a velvet rope.

Despatches

There is more useful damage in the archive.

Open the signal atlas