cardboardmarket Entrar

The same card, sold twice

A shop has one copy of a card. It is listed on Cardmarket, on CardTrader, in the glass cabinet by the till, and now here. Four places, one card.

Someone buys it on Cardmarket at ten past six. At twenty past, someone else orders it somewhere else. The second order cannot be filled — the card left the building ten minutes ago — so it is cancelled, refunded, apologised for.

Nobody did anything wrong. The shop did not oversell on purpose, and the buyer did not do anything but be ten minutes late. The sale went wrong because the four places never agreed with each other about what was in stock.

Why it happens

Every marketplace keeps its own inventory. Each one knows what it has sold and tells nobody. There is no shared ledger, no common format for "this exact printing, this condition, one of them, gone", and no protocol by which one marketplace can tell another that a card has moved.

So a shop keeps its stock in whichever system it trusts most, and copies it everywhere else. Copying means exporting a file and importing it, which makes every other listing a snapshot — true at the moment it was taken and decaying from then on. Between one import and the next, the authoritative list keeps selling and the copies keep advertising.

That window is where double-selling lives. Make it a week and a busy shop will oversell. Make it an hour and it will oversell less often, and spend an hour of somebody's week doing it.

The costs are not evenly shared

The shop pays in refunds, in time, and in feedback. A cancelled order reads to a stranger as unreliability rather than as an integration problem, and it is the shop's name on it.

The buyer pays in a different currency. They had the card, briefly. They stopped looking. If it was the last one at that price, the replacement costs more.

And both pay a little in the one thing a secondhand market runs on. A listing is a promise that something exists. Enough broken promises and people start treating every listing as a maybe — refreshing, double-checking, messaging first. The friction lands on honest shops hardest, because they are the ones with stock in four places.

Why "just build an integration" is harder than it sounds

Any two systems can be made to talk. The problem is that there are not two.

A shop on three marketplaces needs three integrations, each with a different API, a different idea of what a card is, and a different release schedule. That is before anyone asks the questions that actually decide a sync:

What counts as the same card? One system's identifier is a printing, the next one's is a card name and a set, the third has its own numbering. Matching them is most of the work, and matching them *wrongly* is worse than not matching at all — it decrements the wrong row and sells something you still own.

Who wins when they disagree? If two marketplaces both think they sold the last copy, somebody has to decide which sale stands. That is a business decision, not a technical one, and no marketplace can make it on another's behalf.

How fast is fast enough? Nightly is cheap and leaves a day-long window. Real time means every marketplace calling every other on every sale, which nobody has agreed to build and no one API can impose.

None of this is unsolvable. It is simply that each marketplace has a complete answer for its own inventory and no reason to make it anyone else's, so the work falls to the shop in the middle — who is in the business of selling cards, not of writing adapters.

What we do about it here

We would rather be honest about this than pretend our copy is special. Ours is a snapshot too.

So a shop can tell us plainly that its real stock lives somewhere else, and name where. When it does, every one of its listings here carries a line saying so: this shop keeps its stock on another marketplace, a card sold there can still be showing here, check before you travel.

That does not fix anything. It is not meant to. It replaces a silent risk with a stated one, which is the difference between a buyer who was unlucky and a buyer who was misled — and for a local trade, where somebody is getting on a bus rather than clicking a button, the warning is worth more than it would be online.

The second thing is less interesting and matters more: the sync. Reading a shop's real inventory often enough that our copy stops being a week old is the only thing that closes the window rather than describing it. It is the piece shop owners ask about first, and it is what we are building next.

If you run a shop

Two things help today, neither of them ours.

Import more often than feels necessary. The window between imports is the whole problem, and it is the one part you control without anybody's permission.

Say where your real stock is. It costs you nothing — the people most likely to be put off by a cancelled order are the ones who will forgive a warning — and it is the honest version of what every multi-marketplace shop is already doing.

Leer en español