91³Ô¹ÏÍø

Watch CBS News

Georgia's GA-14 runoff becomes test case for Trump power — and the rise of political betting markets

Tonight's high-stakes special election runoff in Georgia's 14th Congressional District isn't just about who replaces Rep. Marjorie Taylor Greene — it's about who controls the future of Republican power, and how far the political ecosystem has shifted in the age of Trump and data-driven betting.

On the ballot: Republican Clay Fuller, backed by President Donald Trump, and Democrat Shawn Harris, a retired general positioning himself as a pragmatic alternative who ran against Marjorie Taylor Greene in 2024.

But beyond campaign speeches and turnout operations, another force is quietly influencing the conversation: prediction markets.

A race already "called" by the markets?

On platforms like traders have overwhelmingly favored Fuller, with confidence hovering near certainty levels in recent days. 

That kind of market confidence isn't just speculative — it reflects a broader belief that GA-14, one of the most Republican-leaning districts in the state, is structurally difficult for Democrats to flip.

But Harris' campaign is leaning into a different narrative.

After leading the initial round of voting with 37%, compared to Fuller's 35%, Harris has framed the runoff as a referendum on independence versus loyalty to Trump. 

"He has sold his soul to Donald Trump," Harris said of Fuller during the campaign.

Fuller, meanwhile, has embraced the endorsement — and the identity.

Trump's grip — still firm, but tested

Trump's late push — including a direct call for "MAGA Warriors" to turn out — underscores what's really at stake: whether his endorsement still guarantees victory in deep-red districts.

A Fuller win would reinforce Trump's dominance heading into 2026. A closer-than-expected race — or upset — could signal cracks in that control.

This matters beyond Georgia.

Republicans currently hold a razor-thin majority in the House, 217 to 214. Even a single seat like GA-14 plays into the broader math of power in Washington. 

The "Wild West" of political betting

At the same time, this race is unfolding alongside growing scrutiny of prediction markets — the same platforms signaling Fuller's dominance.

Lawmakers in Washington are now calling for a crackdown, warning that these markets are becoming a "Wild West" with little oversight. 

Recent controversies include bets placed on military operations and geopolitical events — including wagers tied to U.S. airmen shot down in Iran.

"It is morally corrupt and completely unacceptable to allow people to bet on whether American service members live or die," one lawmaker said. 

That scrutiny raises a deeper question: If people can bet on war — what does it mean to bet on democracy?

A new layer of influence in elections

Prediction markets don't just reflect public opinion — they can shape it.

When voters hear a race is "already decided," turnout can shift. Enthusiasm can drop. Campaign narratives can change.

And in a runoff election — where turnout is everything — perception can be power.

What to watch tonight

As polls close, there are three key storylines to watch:

  • Turnout vs. expectations: Will GOP turnout match the market confidence behind Fuller?
  • Harris' crossover appeal: Can a "dirt-road Democrat" peel off enough Republican voters to make this competitive?
  • Trump's real influence: Is his endorsement still a political guarantee — or just a strong suggestion?
View CBS News In
CBS News App Open
Chrome Safari Continue
const link = doc.createElement('link'); link.rel = 'stylesheet'; link.href = '/fly/fly/bundles/cbsnewscontent/css/cmp-banner.min.css?v=296763317a51cab90faa73f1bb146d5c'; doc.head.appendChild(link); doc.body.innerHTML = CONSENT_MESSAGE; } else { el.insertAdjacentHTML('afterend', CONSENT_MESSAGE); } }); } function hidePrivacyMessage() { // Remove from the main document document.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); // Remove from inside any iframes document.querySelectorAll('iframe').forEach(iframe => { const doc = iframe.contentDocument || iframe.contentWindow.document; doc.querySelectorAll(`.${CONSENT_MESSAGE_CLASS}`).forEach(el => el.remove()); }); } function activateGatedScripts() { // Handle both new format (cmp-gated-script) and old OneTrust/Ketch format (optanon-category-4) const gatedScripts = Array.from(document.querySelectorAll('script.cmp-gated-script, script.optanon-category-4')); // Activate scripts sequentially with a small delay to avoid timing issues let delay = 0; gatedScripts.forEach(function(placeholder, index) { setTimeout(function() { // Skip if already processed if (placeholder.hasAttribute('data-cmp-processed')) { return; } placeholder.setAttribute('data-cmp-processed', 'true'); const newScript = document.createElement('script'); newScript.type = 'text/javascript'; // Try new format first (data-cmp-src), then fall back to old format (data-src) const src = placeholder.getAttribute('data-cmp-src') || placeholder.getAttribute('data-src'); if (src) { newScript.src = src; } else if (placeholder.textContent) { // Inline script - just copy the content newScript.textContent = placeholder.textContent; } // Handle new format attributes (data-cmp-attrs) - for both inline and external scripts const attrs = placeholder.getAttribute('data-cmp-attrs'); if (attrs) { const tempDiv = document.createElement('div'); tempDiv.innerHTML = '
<\/div>'; const tempAttrs = tempDiv.firstChild.attributes; for (let i = 0; i < tempAttrs.length; i++) { // For external scripts, allow defer/async. For inline scripts, skip them (not valid) if (src || (tempAttrs[i].name !== 'async' && tempAttrs[i].name !== 'defer')) { newScript.setAttribute(tempAttrs[i].name, tempAttrs[i].value); } } } // Copy other attributes from old OneTrust format for (let i = 0; i < placeholder.attributes.length; i++) { const attr = placeholder.attributes[i]; // Skip attributes we've already handled or don't want to copy if (!['class', 'data-src', 'data-type', 'data-cmp-src', 'data-cmp-attrs', 'data-cmp-processed', 'type', 'async', 'defer', 'src'].includes(attr.name)) { newScript.setAttribute(attr.name, attr.value); } } placeholder.parentNode.replaceChild(newScript, placeholder); // If external script, manually trigger window.onload handlers after it loads // This handles widgets that use window.onload for initialization if (src) { newScript.addEventListener('load', function() { // If page already loaded and script set a new onload handler, trigger it if (document.readyState === 'complete' && window.onload) { const originalOnload = window.onload; window.onload = null; // Clear temporarily to prevent loops originalOnload(); // Execute the handler } }); } }, delay); delay += 500; // 500ms delay between each script to allow full loading }); } cbsoptanon.onScriptsReady(function(cmp) { cmp.ot.targetingAllowed(function(allowed) { if (!allowed) { showPrivacyMessage(); } else { activateGatedScripts(); } }); cmp.ot.awaitInitialConsent(function(consent_model) { cmp.ot.addOnConsentChangedHandler(function() { cmp.ot.targetingAllowed(function(allowed) { if (allowed) { hidePrivacyMessage(); activateGatedScripts(); } else { showPrivacyMessage(); } }); }); }); });