For the first few weeks I was running my bot, I was comparing Polymarket prices against Binance spot. Seemed obvious. BTC/USD is BTC/USD, right?

Wrong. Cost me real money before I figured out why.

The bot is open source if you want to dig into the code: https://github.com/MalcolmMcGough/polymarket-trading-bot-scalping

The thing I didn't understand about how Polymarket actually resolves

Polymarket doesn't use Binance to settle crypto markets. They use Chainlink.