Engineering

Matching a bet on Polymarket to the same bet on Polymarket US

Updated 5 October 2026 · written after this went wrong in production

Copying a trader across two exchanges is a market-identification problem, not a trading problem. Get it wrong and you place real money on a different question — which we did, and which cost us roughly $22 before we caught it.

The two slug schemes

International Polymarket names a market in a single slug. Polymarket US splits the same game into separate instruments, each with a prefix:

US prefixInstrumentExample
aecGame winner (two-way)aec-nfl-sea-was-2026-09-27
atcThree-way soccer, one market per outcomeatc-epl-liv-ful-2026-09-12-liv
ascSpreadasc-nfl-sea-was-2026-09-27-neg-7pt5
tscTotaltsc-nfl-kc-mia-2026-09-27-total-45pt5

Matching therefore means parsing league, both team codes and the date out of one slug, then finding the game on the other exchange and picking the right instrument and side within it.

The trap that cost us money: periods

A single NFL game on Polymarket US lists spreads and totals for the full game and for each half, each quarter, each team individually, and in esports each map. They share the prefix and often the exact line:

SlugLineWhat it really is
asc-nfl-sea-was-…-neg-7pt5−7.5Full game — the one we want
asc-nfl-sea-was-…-1h-neg-7pt5−7.5First half only
asc-nfl-sea-was-…-1q-neg-7pt5−7.5First quarter only
tsc-nfl-…-tt1h-phi-6pt56.5One team's first-half total

Match on league, teams, date and line alone — which is the obvious implementation — and a full-game bet silently lands on a first-half market. In our logs the tell was unmistakable: the trader paid 79¢ for the Rams to cover, and the copy filled at 3¢.

The fix is a whitelist, not a blacklist. Only pos|neg-N spreads and total-N, tot-N or bare N totals are eligible to match a full-game bet. Everything else is excluded before matching begins. That removed about half of all listed spread and total markets from consideration.

A price gap is a mismatch alarm

Two markets that are genuinely the same question trade at close to the same price. So the price difference is itself a check. Across every real copy we placed:

Our fill versus the trader's priceCopiesWonPrice implied
Within 5¢52946%48%
5–12¢ cheaper944%39%
More than 12¢ cheaper1118%34%

A "bargain" 12¢ below what the trader paid won 18% of the time against an implied 34%. Those were not bargains; they were different bets. Copies now stop when the US price sits more than 10¢ below the trader's.

Dates, kick-off times and team codes

When in doubt, skip

Every rule here resolves ambiguity by declining the copy and recording why. A skipped bet costs an opportunity; a wrong match costs money on a question nobody chose. Futures and season-outright markets, where automatic matching is least reliable, are never matched automatically — they wait for a human to confirm the pairing once.

Built from a month of doing this wrong

Taildraft is in private testing. Leave your email and we'll tell you when accounts open.

Join the waitlist Why wallet-based tools can't reach Polymarket US