Futures
Access hundreds of perpetual contracts
TradFi
Gold
One platform for global traditional assets
Options
Hot
Trade European-style vanilla options
Unified Account
Maximize your capital efficiency
Demo Trading
Futures Kickoff
Get prepared for your futures trading
Futures Events
Join events to earn rewards
Demo Trading
Use virtual funds to experience risk-free trading
Launch
CandyDrop
Collect candies to earn airdrops
Launchpool
Quick staking, earn potential new tokens
HODLer Airdrop
Hold GT and get massive airdrops for free
Launchpad
Be early to the next big token project
Alpha Points
Trade on-chain assets and earn airdrops
Futures Points
Earn futures points and claim airdrop rewards
Last night I discovered that my Polymarket automated trading program secretly placed 37 orders, costing $110.
The program logs show "Position: 0". But when I opened Polymarket, all six weather markets were my positions.
What's going on?
After placing orders, the API told the program "not purchased," so the program didn't record it. But in reality, the money had already been spent.
Then the program crashed due to another bug, and the process manager automatically restarted it. After the restart, the program saw—"Huh, no positions, buy again."
Crash → Restart → Buy again → Crash again. Repeated 34 times.
The most ironic part is, I already had the correct trade confirmation logic in another strategy. When I wrote it, I didn't review my own code.
Three lessons:
• Don't trust any API's instant response as the final result; always double-check
• The auto-restart mechanism has no de-duplication protection = turns a small bug into a chain reaction of explosions
• The correct solutions already in my codebase are much cheaper than re-learning the hard way
Fortunately, I checked the weather forecast, and most of the positions should be recoverable. But that's luck, not skill.