moonpay-prediction-market
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):
# 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
# 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
# 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
# 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
# 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
More from moonpay/skills
moonpay-trading-automation
Set up automated trading strategies — DCA, limit orders, and stop losses — by composing mp CLI commands with OS scheduling (cron/launchd).
38moonpay-auth
Set up the MoonPay CLI, authenticate, and manage local wallets. Use when commands fail, for login, or to create/import wallets.
33moonpay-swap-tokens
Swap tokens on the same chain or bridge tokens across chains. Use when the user wants to swap, bridge, or move tokens.
33moonpay-price-alerts
Set up desktop price alerts that notify you when tokens hit target prices. Observe-only — no trading, just notifications.
33moonpay-check-wallet
Check wallet balances and holdings. Use for "what's in my wallet", portfolio breakdown, token balances, allocation percentages, and USD values.
32moonpay-buy-crypto
Buy crypto with fiat via MoonPay. Returns a checkout URL to complete the purchase in a browser.
32