Back to Blog

DegenSwap CTF: Prediction Market Arbitrage Challenge

██████╗ ███████╗ ██████╗ ███████╗███╗ ██╗ ██████╗████████╗███████╗ ██╔══██╗██╔════╝██╔════╝ ██╔════╝████╗ ██║ ██╔════╝╚══██╔══╝██╔════╝ ██║ ██║█████╗ ██║ ███╗█████╗ ██╔██╗ ██║ ██║ ██║ █████╗ ██║ ██║██╔══╝ ██║ ██║██╔══╝ ██║╚██╗██║ ██║ ██║ ██╔══╝ ██████╔╝███████╗╚██████╔╝███████╗██║ ╚████║ ╚██████╗ ██║ ██║ ╚═════╝ ╚══════╝ ╚═════╝ ╚══════╝╚═╝ ╚═══╝ ╚═════╝ ╚═╝ ╚═╝

The Game

Miami vs Ole Miss - CFP Semifinal (Fiesta Bowl)

College Football Playoff - Moneyline - straight up winner
Team Current Odds Implied Probability
Miami ~61c 61% favorite
Ole Miss ~39c 39% underdog

Kickoff: January 8, 2026 @ 7:30 PM ET

Real prediction market shares are live on Polygon and bridged to Monad. When the game starts, odds swing wildly. Your mission: capture value when the market moves.

Easy Mode

Don't want to write code? Just use the app:

Launch DegenSwap UI

Connect wallet. Pick a side. Trade.

The Prize Pool

The tokens ARE the prize. Prediction market shares that pay out $1 if correct:

Token What It Means Current Price Payout if Correct
Miami Miami Hurricanes win ~61c $1.00 (1.64x)
Ole Miss Ole Miss Rebels win ~39c $1.00 (2.56x)

One token goes to $1. The other goes to $0. Choose wisely.

The Contracts (Your Targets)

Polygon Mainnet (Chain ID: 137)

# Miami vs Ole Miss (18 decimals)
Miami Token:         0xbfe0b70add5f2d100019b5698c1a4abbc7784a1d  # ~61c
Ole Miss Token:      0xe9fd468ce70e79fd70d43478ccec2c71adb4470c  # ~39c

# Infrastructure
ScaledWrapper:       0x96BA42E4461BDCa34368682Fe7Bd2d897c186A02
Uniswap V3 Router:   0xE592427A0AEce92De3Edee1F18E0157C05861564
WormholeSender:      0xC4c2638C9f90A5E4622033f49E70990866bB9880
PolygonUnlocker:     0xF39663e1297A791653943372Dc13A9d17901bfCb

Monad Mainnet (Chain ID: 143)

# Miami vs Ole Miss
Synthetic Miami:     0x48d13d4b7ab5b67c266c6b13517cb4032b1cc93d
Synthetic Ole Miss:  0x19c9641c2cc1a134df47eece71d086e3858a6ea3

# LP Pools (0.05% fee)
Miami/USDC Pool:     0xe4ee1546764fedfb418f65f1217bdb8bca9ffbb5
Ole Miss/USDC Pool:  0x809737acf3f9f09f4205b727f3381eca9c879a8a
Miami/Ole Miss Pool: 0x9f05f6dda24a9b0c579887ee4b7ddc371dd0de30

# Infrastructure
USDC:                0x754704Bc059F8C67012fEd69BC8A327a5aafb603
Uniswap V3 Router:   0xfE31F71C1b106EAc32F1A19239c9a9A72ddfb900
Uniswap V3 Factory:  0x204faca1764b154221e35c0d20abb3c525710498
Position Manager:    0x7197e214c0b767cfb76fb734ab638e2c192f4e53
WormholeReceiver:    0x19CE5A323eFA12EDF1ad4a7Be034b033DCB8bC73
MonadBridgeSender:   0x3e282816BD3e46C7ab979ce1f11733d35A5c9A65

Attack Vectors

1. Arbitrage the Price

When Miami is 63c on Monad but 61c on Polymarket, that's free money:

// Pseudocode
if (monadPrice > polymarketPrice + bridgeCost) {
  buyOnPolymarket();
  wrapToERC20();
  bridgeToMonad();
  sellOnUniswap();
  profit();
}

2. Front-Run the Odds

Game events move prices. Touchdowns? Interceptions? Turnovers? The odds shift in milliseconds.

# Watch for price movements
async def on_price_change(old_price, new_price):
    if abs(new_price - old_price) > THRESHOLD:
        # Price just moved - others will follow
        execute_trade(new_price)

3. Cross-Chain Arb

Prices can diverge between Polygon and Monad. Bridge tokens to capture the spread:

# Check price differential
POLYGON_PRICE=$(cast call $POOL 'slot0()' --rpc-url $POLYGON_RPC | ...)
MONAD_PRICE=$(cast call $MONAD_POOL 'slot0()' --rpc-url $MONAD_RPC | ...)

if [ $POLYGON_PRICE -gt $MONAD_PRICE ]; then
  # Buy on Monad, bridge to Polygon, sell
fi

4. LP Sniping

When volatility spikes, LPs get rekt. Concentrated liquidity positions become vulnerable:

// Find out-of-range positions and trade against them
function snipeLiquidity(int24 currentTick) external {
    // Positions outside current tick = sitting ducks
}

Quick Start

Get Tokens

# Option 1: Buy on Uniswap V3 (Monad)
# Swap USDC for Miami or Ole Miss tokens

# Option 2: Bridge from Polymarket
# Wrap ERC-1155 shares -> ERC-20 -> Bridge to Monad

Monitor Prices

# Install foundry
curl -L https://foundry.paradigm.xyz | bash
foundryup

# Check Miami balance on Monad
cast call 0x48d13d4b7ab5b67c266c6b13517cb4032b1cc93d \
  'balanceOf(address)' YOUR_ADDRESS \
  --rpc-url https://monad-mainnet.drpc.org

# Check Ole Miss balance on Monad
cast call 0x19c9641c2cc1a134df47eece71d086e3858a6ea3 \
  'balanceOf(address)' YOUR_ADDRESS \
  --rpc-url https://monad-mainnet.drpc.org

# Get a quote (1 USDC -> Ole Miss)
cast call 0x661e93cca42afacb172121ef892830ca3b70f08d \
  'quoteExactInputSingle((address,address,uint256,uint24,uint160))' \
  '(0x754704Bc059F8C67012fEd69BC8A327a5aafb603,0x19c9641c2cc1a134df47eece71d086e3858a6ea3,1000000,500,0)' \
  --rpc-url https://monad-mainnet.drpc.org

Execute Trades

// ethers.js example
const router = new ethers.Contract(UNISWAP_ROUTER, ROUTER_ABI, signer);

await router.exactInputSingle({
  tokenIn: USDC_ADDRESS,
  tokenOut: MIAMI_TOKEN,
  fee: 500,  // 0.05% fee tier
  recipient: wallet.address,
  deadline: Math.floor(Date.now() / 1000) + 60,
  amountIn: parseUnits("10", 6),  // 10 USDC
  amountOutMinimum: 0,
  sqrtPriceLimitX96: 0
});

Rules of Engagement

  1. No rules. This is DeFi.
  2. MEV is fair game
  3. Front-running is expected
  4. Sandwich attacks welcome
  5. Flash loans? Get creative

Key Times

Miami vs Ole Miss - CFP Semifinal (Fiesta Bowl)

Event When Why It Matters
Kickoff Jan 8, 7:30 PM ET Volatility begins
Halftime ~9:00 PM ET Major repricing window
Final Whistle ~11:00 PM ET Winner token -> $1, Loser -> $0
Resolution Within 24h Polymarket settles

Strategy Notes:

  • Moneyline = pick the winner (no spread)
  • Miami at 61c favored, Ole Miss at 39c = 2.56x payout on upset
  • Watch for in-game momentum shifts to arb price lag
  • CFP games have massive swings - every touchdown matters

LP Configuration

Current pools are configured with 0.05% fee and tight price ranges:

Pool Price Range Strategy
Miami/USDC $0.595 - $0.635 Centered at 61c
Ole Miss/USDC $0.365 - $0.405 Centered at 39c
Miami/Ole Miss 1.38 - 1.69 ratio +/-10% around current

When prices move outside these ranges, LPs are vulnerable.

Resources

The Meta

  • Learning DeFi mechanics
  • Understanding prediction markets
  • Building trading infrastructure
  • Competing against other degens
  • Make money

The best bot wins. Build yours.

██████╗ ██████╗ ██████╗ ███████╗████████╗ ███████╗███╗ ███╗ ██╔════╝ ██╔═══██╗ ██╔════╝ ██╔════╝╚══██╔══╝ ██╔════╝████╗ ████║ ██║ ███╗██║ ██║ ██║ ███╗█████╗ ██║ █████╗ ██╔████╔██║ ██║ ██║██║ ██║ ██║ ██║██╔══╝ ██║ ██╔══╝ ██║╚██╔╝██║ ╚██████╔╝╚██████╔╝ ╚██████╔╝███████╗ ██║ ███████╗██║ ╚═╝ ██║ ╚═════╝ ╚═════╝ ╚═════╝ ╚══════╝ ╚═╝ ╚══════╝╚═╝ ╚═╝

May the best degen win.

Disclaimer: This is a game. Trade at your own risk. One of these tokens goes to $0.