@moonpay/cli 1.44.1 → 1.46.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1,157 +1,66 @@
1
1
  ---
2
2
  name: moonpay-prediction-market
3
- description: Trade on prediction markets (Polymarket, Kalshi). Search markets, buy/sell positions, track PnL, and view trade history.
4
- tags: [trading, prediction-market, polymarket, kalshi]
3
+ description: Overview + venue chooser for prediction-market trading. Routes the user to either moonpay-polymarket (politics, crypto, news, world events on Polygon) or moonpay-kalshi (sports, macro, US-regulated events on Solana). Use when the user's request is venue-agnostic ("what prediction markets are hot?") or to teach the venue trade-offs.
4
+ tags: [trading, prediction-market]
5
5
  ---
6
6
 
7
- # Prediction markets
7
+ # Prediction markets — overview
8
8
 
9
- ## Goal
9
+ Two venues. Different chains, different specialties. Pick by topic.
10
10
 
11
- Search prediction markets, buy and sell outcome shares, track positions and PnL.
11
+ | | Polymarket | Kalshi |
12
+ |---|---|---|
13
+ | Chain | Polygon | Solana |
14
+ | Settles in | USDC.e | USDC |
15
+ | Bridging needed? | Yes (USDC → USDC.e) | No |
16
+ | Strong on | politics, crypto, news, world events | sports (NBA, NFL, MLB), macro, US-regulated |
17
+ | Liquidity | largest catalog | growing fast on sports |
18
+ | Min order | none enforced | `size × price` must be ≥ $1 |
12
19
 
13
- Supports two providers:
14
- - **Polymarket** — runs on Polygon (USDC.e). Requires an EVM wallet.
15
- - **Kalshi** — runs on Solana (USDC). Requires a Solana wallet.
20
+ ## Pick a venue
16
21
 
17
- ## Prerequisites
22
+ Default routing rules — read first, then defer to the venue's skill:
18
23
 
19
- 1. Authenticate: `mp login --email <email>` then `mp verify --email <email> --code <code>`
20
- 2. Have a local wallet: `mp wallet list` (create with `mp wallet create --name "main"` if needed)
21
- 3. Register your wallet with the provider (one-time setup):
24
+ - User mentions **NBA / NFL / MLB / sports** **moonpay-kalshi**
25
+ - User mentions **CPI, Fed, jobs report, economic indicator** **moonpay-kalshi**
26
+ - User mentions **election, politics, candidate** **moonpay-polymarket**
27
+ - User mentions **Bitcoin price target, crypto event, ETF approval** → **moonpay-polymarket**
28
+ - User mentions **Polymarket** explicitly → **moonpay-polymarket**
29
+ - User mentions **Kalshi** explicitly → **moonpay-kalshi**
30
+ - Venue-agnostic ask ("what's spicy on prediction markets?") → check both with `mp prediction-market market trending list`, surface highlights
22
31
 
23
- ```bash
24
- # For Polymarket (use your EVM/Polygon address)
25
- mp prediction-market user create --provider polymarket --wallet <evm-address>
26
-
27
- # For Kalshi (use your Solana address)
28
- mp prediction-market user create --provider kalshi --wallet <solana-address>
29
- ```
32
+ ## Cross-venue commands
30
33
 
31
- 4. Fund the wallet Polymarket needs USDC.e on Polygon, Kalshi needs USDC on Solana. See the **moonpay-fund-polymarket** or **moonpay-buy-crypto** skills.
32
-
33
- ## Browse and research markets
34
+ A few things are venue-shape-identical (the `--provider` flag picks):
34
35
 
35
36
  ```bash
36
- # Search markets by keyword
37
- mp prediction-market market search --provider polymarket --query "bitcoin" --limit 10
38
-
39
- # Get trending markets (sorted by 24h volume, min $150K)
37
+ # Trending across either venue
40
38
  mp prediction-market market trending list --provider polymarket --limit 10
39
+ mp prediction-market market trending list --provider kalshi --limit 10
41
40
 
42
- # Browse market categories/tags
43
- mp prediction-market market tag list --provider polymarket
41
+ # Search across either venue
42
+ mp prediction-market market search --provider polymarket --query "..."
43
+ mp prediction-market market search --provider kalshi --query "..."
44
44
 
45
- # Filter markets by tag
46
- mp prediction-market market search --provider polymarket --query "*" --tagIds "crypto,politics"
47
-
48
- # Get full event details (all markets, outcomes, prices)
49
- mp prediction-market market event retrieve --provider polymarket --slug <event-slug>
50
-
51
- # Check current price for an outcome token
52
- mp prediction-market market price retrieve --provider polymarket --tokenId <token-id>
53
-
54
- # View price history for an outcome
55
- mp prediction-market market price-history list --provider polymarket --tokenId <token-id> --interval 1w
45
+ # Position list / PnL / trades / activity (per-venue, same shape)
46
+ mp prediction-market position list --provider <venue> --wallet <addr>
47
+ mp prediction-market pnl retrieve --provider <venue> --wallet <addr>
48
+ mp prediction-market trade list --provider <venue> --wallet <addr>
49
+ mp prediction-market activity list --provider <venue> --wallet <addr>
56
50
  ```
57
51
 
58
- ## Buy and sell positions
59
-
60
- ```bash
61
- # Buy shares of an outcome
62
- mp prediction-market position buy \
63
- --wallet main \
64
- --provider polymarket \
65
- --tokenId <outcome-token-id> \
66
- --price 0.65 \
67
- --size 100
68
-
69
- # Sell shares
70
- mp prediction-market position sell \
71
- --wallet main \
72
- --provider polymarket \
73
- --tokenId <outcome-token-id> \
74
- --price 0.70 \
75
- --size 50
76
- ```
77
-
78
- **Key concepts:**
79
- - `tokenId` comes from `outcomeTokens[].tokenId` in market search results
80
- - `price` is 0-1 (e.g., 0.65 = 65 cents per share, implies 65% probability)
81
- - `size` is the number of shares
82
- - Cost = price x size (e.g., 0.65 x 100 = $65 USDC)
83
- - If the outcome resolves YES, each share pays $1. Profit = (1 - price) x size
84
-
85
- ## Track positions and performance
86
-
87
- ```bash
88
- # View open positions
89
- mp prediction-market position list --provider polymarket --wallet <address>
90
-
91
- # View closed positions
92
- mp prediction-market position list --provider polymarket --wallet <address> --status closed
93
-
94
- # Get PnL summary
95
- mp prediction-market pnl retrieve --provider polymarket --wallet <address>
96
-
97
- # View trade history
98
- mp prediction-market trade list --provider polymarket --wallet <address>
99
-
100
- # View all activity (trades, splits, merges, redemptions)
101
- mp prediction-market activity list --provider polymarket --wallet <address>
102
- ```
103
-
104
- ## Workflow
105
-
106
- 1. **Discover**: Search or browse trending markets.
107
- 2. **Research**: Get event details, check prices, review price history.
108
- 3. **Trade**: Buy shares on outcomes you believe are mispriced.
109
- 4. **Monitor**: Track positions and PnL.
110
- 5. **Exit**: Sell positions when your thesis changes, or wait for resolution.
111
-
112
- ## Example: trade a market
113
-
114
- ```bash
115
- # 1. Find a market
116
- mp prediction-market market search --provider polymarket --query "bitcoin 100k"
117
-
118
- # 2. Get event details (note the outcomeTokens)
119
- mp prediction-market market event retrieve --provider polymarket --slug <slug-from-search>
120
-
121
- # 3. Check price history
122
- mp prediction-market market price-history list --provider polymarket --tokenId <yes-token-id> --interval 1w
123
-
124
- # 4. Buy 50 "Yes" shares at 40 cents
125
- mp prediction-market position buy --wallet main --provider polymarket --tokenId <yes-token-id> --price 0.40 --size 50
126
-
127
- # 5. Check your position
128
- mp prediction-market position list --provider polymarket --wallet <address>
129
-
130
- # 6. Sell later at a higher price
131
- mp prediction-market position sell --wallet main --provider polymarket --tokenId <yes-token-id> --price 0.60 --size 50
132
- ```
133
-
134
- ## Price history intervals
135
-
136
- | Interval | Description |
137
- |----------|-------------|
138
- | `1hr` | Last hour |
139
- | `1d` | Last day |
140
- | `1w` | Last week |
141
- | `1m` | Last month |
142
- | `max` | All time |
52
+ The actual buy/sell flow + funding requirements diverge — read **moonpay-polymarket** or **moonpay-kalshi** for the venue-specific recipe.
143
53
 
144
54
  ## Tips
145
55
 
146
- - Use `mp --json prediction-market ...` for programmatic output (the `--json` flag is a global option that goes BEFORE the subcommand)
147
- - Markets with higher volume and liquidity have tighter spreads
148
- - Check `acceptingOrders`closed markets cannot be traded
149
- - `negRisk` markets use a different settlement framework the CLI handles this automatically
150
- - Polymarket uses USDC.e on Polygon; Kalshi uses USDC on Solana
56
+ - `--json` is a global flag, BEFORE the subcommand.
57
+ - `acceptingOrders: true` must be present before any buy — closed markets reject orders.
58
+ - Don't fund Polymarket with regular USDC it's USDC.e on Polygon (a different mint). See **moonpay-fund-polymarket**.
59
+ - Kalshi's $1 minimum: 1 share at 30¢ won't fill; 4 shares at 30¢ ($1.20) will.
151
60
 
152
61
  ## Related skills
153
62
 
154
- - **moonpay-fund-polymarket** — Fund your Polymarket wallet with USDC.e and POL
155
- - **moonpay-check-wallet** — Check Polygon/Solana balances
156
- - **moonpay-swap-tokens** — Bridge tokens to Polygon
157
- - **moonpay-trading-automation** — Automate trading strategies
63
+ - **moonpay-polymarket** — full Polymarket trading workflow
64
+ - **moonpay-kalshi** — full Kalshi trading workflow
65
+ - **moonpay-fund-polymarket** — fund USDC.e + POL on Polygon
66
+ - **moonpay-check-wallet** — check positions across chains