Prediction markets
Goal
Search prediction markets, buy and sell outcome shares, track positions and PnL.
Supports two providers:
- Polymarket — runs on Polygon (USDC.e). Requires an EVM wallet.
- Kalshi — runs on Solana (USDC). Requires a Solana wallet.
Prerequisites
- Authenticate:
mp login --email <email>thenmp verify --email <email> --code <code> - Have a local wallet:
mp wallet list(create withmp wallet create --name "main"if needed) - Register your wallet with the provider (one-time setup):
bash# For Polymarket (use your EVM/Polygon address) mp prediction-market user create --provider polymarket --wallet <evm-address> # For Kalshi (use your Solana address) mp prediction-market user create --provider kalshi --wallet <solana-address>
- Fund the wallet — Polymarket needs USDC.e on Polygon, Kalshi needs USDC on Solana. See the moonpay-fund-polymarket or moonpay-buy-crypto skills.
Browse and research markets
bash# Search markets by keyword mp prediction-market market search --provider polymarket --query "bitcoin" --limit 10 # Get trending markets (sorted by 24h volume, min $150K) mp prediction-market market trending list --provider polymarket --limit 10 # Browse market categories/tags mp prediction-market market tag list --provider polymarket # Filter markets by tag mp prediction-market market search --provider polymarket --query "*" --tagIds "crypto,politics" # Get full event details (all markets, outcomes, prices) mp prediction-market market event retrieve --provider polymarket --slug <event-slug> # Check current price for an outcome token mp prediction-market market price retrieve --provider polymarket --tokenId <token-id> # View price history for an outcome mp prediction-market market price-history list --provider polymarket --tokenId <token-id> --interval 1w
Buy and sell positions
bash# Buy shares of an outcome mp prediction-market position buy \ --wallet main \ --provider polymarket \ --tokenId <outcome-token-id> \ --price 0.65 \ --size 100 # Sell shares mp prediction-market position sell \ --wallet main \ --provider polymarket \ --tokenId <outcome-token-id> \ --price 0.70 \ --size 50
Key concepts:
tokenIdcomes fromoutcomeTokens[].tokenIdin market search resultspriceis 0-1 (e.g., 0.65 = 65 cents per share, implies 65% probability)sizeis the number of shares- Cost = price x size (e.g., 0.65 x 100 = $65 USDC)
- If the outcome resolves YES, each share pays $1. Profit = (1 - price) x size
Track positions and performance
bash# View open positions mp prediction-market position list --provider polymarket --wallet <address> # View closed positions mp prediction-market position list --provider polymarket --wallet <address> --status closed # Get PnL summary mp prediction-market pnl retrieve --provider polymarket --wallet <address> # View trade history mp prediction-market trade list --provider polymarket --wallet <address> # View all activity (trades, splits, merges, redemptions) mp prediction-market activity list --provider polymarket --wallet <address>
Workflow
- Discover: Search or browse trending markets.
- Research: Get event details, check prices, review price history.
- Trade: Buy shares on outcomes you believe are mispriced.
- Monitor: Track positions and PnL.
- Exit: Sell positions when your thesis changes, or wait for resolution.
Example: trade a market
bash# 1. Find a market mp prediction-market market search --provider polymarket --query "bitcoin 100k" # 2. Get event details (note the outcomeTokens) mp prediction-market market event retrieve --provider polymarket --slug <slug-from-search> # 3. Check price history mp prediction-market market price-history list --provider polymarket --tokenId <yes-token-id> --interval 1w # 4. Buy 50 "Yes" shares at 40 cents mp prediction-market position buy --wallet main --provider polymarket --tokenId <yes-token-id> --price 0.40 --size 50 # 5. Check your position mp prediction-market position list --provider polymarket --wallet <address> # 6. Sell later at a higher price mp prediction-market position sell --wallet main --provider polymarket --tokenId <yes-token-id> --price 0.60 --size 50
Price history intervals
| Interval | Description |
|---|---|
1hr | Last hour |
1d | Last day |
1w | Last week |
1m | Last month |
max | All time |
Tips
- Use
mp --json prediction-market ...for programmatic output - Markets with higher volume and liquidity have tighter spreads
- Check
acceptingOrders— closed markets cannot be traded negRiskmarkets use a different settlement framework — the CLI handles this automatically- Polymarket uses USDC.e on Polygon; Kalshi uses USDC on Solana
Related skills
- moonpay-fund-polymarket — Fund your Polymarket wallet with USDC.e and POL
- moonpay-check-wallet — Check Polygon/Solana balances
- moonpay-swap-tokens — Bridge tokens to Polygon
- moonpay-trading-automation — Automate trading strategies


