Skip to content

Commit 52db8eb

Browse files
authored
Update for v0.5 (#11)
Co-authored-by: Yashovardhan Agrawal <21066442+yashovardhan@users.noreply.github.com>
1 parent 673624d commit 52db8eb

10 files changed

Lines changed: 348 additions & 15 deletions

File tree

skills/metamask-agent-wallet/SKILL.md

Lines changed: 13 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ description: Use when the user asks anything about blockchain wallets, transacti
44
license: MIT
55
metadata:
66
author: metamask
7-
version: "2.0.0"
7+
version: "2.1.0"
88
---
99

1010
# MetaMask Agentic CLI Skill
@@ -23,7 +23,7 @@ Match the user's intent to a command and reference file, then read the reference
2323
| Login in MetaMask Agentic CLI | `mm login` | [auth.md](references/auth.md) |
2424
| Choose a wallet mode and set up policies | `mm init` | [auth.md](references/auth.md) |
2525
| Show current init settings | `mm init show` | [auth.md](references/auth.md) |
26-
| Sign in via QR code (coming soon) | `mm login qr` | [auth.md](references/auth.md) |
26+
| Sign in via QR code with MetaMask Mobile | `mm login qr` | [auth.md](references/auth.md) |
2727
| Sign in via Google | `mm login google` | [auth.md](references/auth.md) |
2828
| Sign in via email OTP | `mm login email` | [auth.md](references/auth.md) |
2929
| Sign out | `mm logout` | [auth.md](references/auth.md) |
@@ -67,14 +67,24 @@ Match the user's intent to a command and reference file, then read the reference
6767
| Create or refresh Predict credentials | `mm predict auth` | [predict.md](references/predict.md) |
6868
| Repair Predict approvals | `mm predict approve` | [predict.md](references/predict.md) |
6969
| Check Predict back-end status | `mm predict status` | [predict.md](references/predict.md) |
70+
| Check if Polymarket is geoblocked for your IP | `mm predict geoblock` | [predict.md](references/predict.md) |
7071
| List prediction markets | `mm predict markets list` | [predict.md](references/predict.md) |
7172
| Search prediction markets | `mm predict markets search` | [predict.md](references/predict.md) |
7273
| Inspect a prediction market | `mm predict markets get` | [predict.md](references/predict.md) |
74+
| List Polymarket events | `mm predict events list` | [predict.md](references/predict.md) |
75+
| Inspect a Polymarket event | `mm predict events get` | [predict.md](references/predict.md) |
76+
| List Polymarket event series | `mm predict series list` | [predict.md](references/predict.md) |
77+
| Inspect a Polymarket event series | `mm predict series get` | [predict.md](references/predict.md) |
78+
| List Polymarket tags | `mm predict tags list` | [predict.md](references/predict.md) |
79+
| Inspect a Polymarket tag | `mm predict tags get` | [predict.md](references/predict.md) |
7380
| Preview a prediction order cost | `mm predict quote` | [predict.md](references/predict.md) |
7481
| Place a prediction market order | `mm predict place` | [predict.md](references/predict.md) |
7582
| Cancel prediction orders | `mm predict cancel` | [predict.md](references/predict.md) |
7683
| View prediction market positions | `mm predict positions` | [predict.md](references/predict.md) |
7784
| View open prediction orders | `mm predict orders` | [predict.md](references/predict.md) |
85+
| Show full Predict portfolio snapshot | `mm predict portfolio` | [predict.md](references/predict.md) |
86+
| List redeemable (winning) positions | `mm predict redeem list` | [predict.md](references/predict.md) |
87+
| Redeem winning positions | `mm predict redeem` | [predict.md](references/predict.md) |
7888
| Check Predict deposit wallet balance | `mm predict balance` | [predict.md](references/predict.md) |
7989
| Fund Predict deposit wallet | `mm predict deposit` | [predict.md](references/predict.md) |
8090
| Withdraw pUSD from Predict deposit wallet | `mm predict withdraw` | [predict.md](references/predict.md) |
@@ -170,6 +180,7 @@ Do not pass unvalidated user input into any command.
170180
| Predict trading | Always confirm token ID, side, size, price, order type, market, and outcome before executing |
171181
| Predict deposit | Always confirm amount before executing |
172182
| Predict withdraw | Always confirm amount and recipient (`--to` defaults to owner EOA) before executing |
183+
| Predict redeem | Always confirm the target (condition ID or `--all`) before executing; `--all` redeems every winning position |
173184
| Cancel-all operations | Always confirm scope and exact destructive effect before executing |
174185
| Auth / wallet management | May execute without confirmation, except `reset` which requires explicit user confirmation |
175186
| Read-only queries | May execute without confirmation |

skills/metamask-agent-wallet/references/auth.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ mm init show
5656

5757
## `login` Command
5858

59-
Sign in to the CLI. On a TTY, bare `mm login` shows a method picker (QR, Google, or email). QR is recommended but not auto-selected.
59+
Sign in to the CLI. On a TTY, bare `mm login` shows a method picker (MetaMask Mobile QR, Google, or email). QR is recommended but not auto-selected.
6060

6161
### Syntax
6262

@@ -84,7 +84,7 @@ mm login --token "cliToken:cliRefreshToken"
8484
### Note
8585

8686
- If already authenticated, the CLI returns `ALREADY_AUTHENTICATED`. Run `mm logout` first, then log in again.
87-
- `mm login qr` returns `COMING_SOON`. Use Google or email sign-in instead.
87+
- `mm login qr` (scan with MetaMask Mobile) is available on non-production builds (dev/uat). On production it returns `COMING_SOON`; use Google or email sign-in instead.
8888
- Pairing codes tolerate `-` and whitespace separators (e.g. `608-225` is equivalent to `608225`).
8989
- Use `mm login google --no-wait` or `mm login email --no-wait` for non-interactive/CI flows. Bare `mm login --no-wait` fails without a TTY because no method is selected.
9090
- `--no-wait` is not supported with QR login. Complete authentication later with `mm login --token`.

skills/metamask-agent-wallet/references/errors.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -143,6 +143,7 @@ This reference lists error codes the CLI actually emits. SDK-only or remapped co
143143
| `PREDICT_METHOD_UNAVAILABLE` | Predict method not available |
144144
| `PREDICT_DEPOSIT_FAILED` | Predict deposit failed |
145145
| `PREDICT_ERROR` | Generic Predict error |
146+
| `PREDICT_GEOBLOCKED` | Polymarket is not available in your region; Predict features cannot be used from this location. Emitted by `mm predict setup` (region guard) and surfaced by `mm predict geoblock` |
146147
| `UNSUPPORTED_PREDICT_CHAIN` | Predict chain not supported |
147148

148149
## Network & Filesystem Errors

skills/metamask-agent-wallet/references/predict.md

Lines changed: 248 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -106,6 +106,22 @@ mm predict status
106106
mm predict status
107107
```
108108

109+
## `predict geoblock` Command
110+
111+
Check whether Polymarket access is geoblocked for your current IP. Returns `blocked`, `ip`, `country`, and `region`.
112+
113+
### Syntax
114+
115+
```bash
116+
mm predict geoblock
117+
```
118+
119+
### Example
120+
121+
```bash
122+
mm predict geoblock
123+
```
124+
109125
## `predict markets list` Command
110126

111127
List tradeable Predict markets with Gamma-style filters.
@@ -199,6 +215,160 @@ mm predict markets get will-the-new-york-knicks-win-the-2026-nba-finals
199215
mm predict markets get 0x713641f745d71f6ec61f906237ffca3c8583f251e49384429a63ceb0ccdb2d37
200216
```
201217

218+
## `predict events list` Command
219+
220+
List Polymarket events (groupings of related markets) with Gamma-style filters.
221+
222+
### Syntax
223+
224+
```bash
225+
mm predict events list [--tag-slug <slug>] [--tag-id <n>] [--active] [--closed] [--featured] [--order <field>] [--ascending] [--liquidity-min <n>] [--start-date-min <datetime>] [--start-date-max <datetime>] [--end-date-min <datetime>] [--end-date-max <datetime>] [--limit <n>] [--offset <n>]
226+
```
227+
228+
### Supported Flags
229+
230+
| Name | Required | Description |
231+
| --- | --- | --- |
232+
| `--tag-slug` | No | Filter by tag slug (e.g. sports, politics) |
233+
| `--tag-id` | No | Filter by tag ID (from `mm predict tags list`) |
234+
| `--active` | No | Active events only |
235+
| `--closed` | No | Include closed/resolved events |
236+
| `--featured` | No | Only featured/trending events |
237+
| `--order` | No | Sort field: `volume_24hr`, `volume`, `liquidity`, `start_date`, `end_date` |
238+
| `--ascending` | No | Sort ascending (defaults to descending) |
239+
| `--liquidity-min` | No | Minimum event liquidity |
240+
| `--start-date-min` | No | Minimum event start date-time |
241+
| `--start-date-max` | No | Maximum event start date-time |
242+
| `--end-date-min` | No | Minimum event end date-time |
243+
| `--end-date-max` | No | Maximum event end date-time |
244+
| `--limit` | No | Maximum events to return, 1-500 |
245+
| `--offset` | No | Result offset (0-based) |
246+
247+
### Example
248+
249+
```bash
250+
mm predict events list --tag-slug sports --limit 10
251+
mm predict events list --active --featured
252+
```
253+
254+
## `predict events get` Command
255+
256+
Inspect a single Polymarket event by slug or ID.
257+
258+
### Syntax
259+
260+
```bash
261+
mm predict events get <event>
262+
```
263+
264+
### Supported Flags
265+
266+
| Name | Required | Description |
267+
| --- | --- | --- |
268+
| `<event>` | Yes | Event slug or ID (positional) |
269+
270+
### Example
271+
272+
```bash
273+
mm predict events get some-event-slug
274+
```
275+
276+
## `predict series list` Command
277+
278+
List Polymarket event series (recurring groupings of events).
279+
280+
### Syntax
281+
282+
```bash
283+
mm predict series list [--recurrence <recurrence>] [--active] [--featured] [--tag-slug <slug>] [--limit <n>] [--offset <n>]
284+
```
285+
286+
### Supported Flags
287+
288+
| Name | Required | Description |
289+
| --- | --- | --- |
290+
| `--recurrence` | No | Filter by recurrence: `annual`, `daily`, `weekly`, or `monthly` |
291+
| `--active` | No | Active series only |
292+
| `--featured` | No | Only featured series |
293+
| `--tag-slug` | No | Filter by tag slug |
294+
| `--limit` | No | Maximum series to return, 1-500 |
295+
| `--offset` | No | Result offset (0-based) |
296+
297+
### Example
298+
299+
```bash
300+
mm predict series list --recurrence weekly --limit 10
301+
```
302+
303+
## `predict series get` Command
304+
305+
Inspect a single event series by ID.
306+
307+
### Syntax
308+
309+
```bash
310+
mm predict series get <id>
311+
```
312+
313+
### Supported Flags
314+
315+
| Name | Required | Description |
316+
| --- | --- | --- |
317+
| `<id>` | Yes | Series ID (positional) |
318+
319+
### Example
320+
321+
```bash
322+
mm predict series get 12345
323+
```
324+
325+
## `predict tags list` Command
326+
327+
List Polymarket tags, useful for `--tag-slug` / `--tag-id` filters on events and markets.
328+
329+
### Syntax
330+
331+
```bash
332+
mm predict tags list [--limit <n>] [--offset <n>] [--is-carousel]
333+
```
334+
335+
### Supported Flags
336+
337+
| Name | Required | Description |
338+
| --- | --- | --- |
339+
| `--limit` | No | Maximum tags to return, 1-500 |
340+
| `--offset` | No | Result offset (0-based) |
341+
| `--is-carousel` | No | Only carousel tags |
342+
343+
### Example
344+
345+
```bash
346+
mm predict tags list --limit 50
347+
```
348+
349+
## `predict tags get` Command
350+
351+
Fetch a single Polymarket tag by numeric ID or slug.
352+
353+
### Syntax
354+
355+
```bash
356+
mm predict tags get <tag>
357+
```
358+
359+
### Supported Flags
360+
361+
| Name | Required | Description |
362+
| --- | --- | --- |
363+
| `<tag>` | Yes | Tag ID (integer) or slug string (positional) |
364+
365+
### Example
366+
367+
```bash
368+
mm predict tags get sports
369+
mm predict tags get 100
370+
```
371+
202372
## `predict quote` Command
203373

204374
Preview order cost and fill before placing.
@@ -323,6 +493,80 @@ mm predict positions
323493
mm predict positions --market <condition-id>
324494
```
325495

496+
## `predict portfolio` Command
497+
498+
Full portfolio snapshot: deposit wallet pUSD balance, open positions with estimated value, and outstanding redeemable winnings.
499+
500+
### Syntax
501+
502+
```bash
503+
mm predict portfolio [--password <password>]
504+
```
505+
506+
### Supported Flags
507+
508+
| Name | Required | Description |
509+
| --- | --- | --- |
510+
| `--password` | No | Password to unlock the BYOK mnemonic (BYOK mode only) [env: `MM_PASSWORD`] |
511+
512+
### Example
513+
514+
```bash
515+
mm predict portfolio
516+
```
517+
518+
## `predict redeem list` Command
519+
520+
List all redeemable (winning) positions in your deposit wallet, with position size and market question.
521+
522+
### Syntax
523+
524+
```bash
525+
mm predict redeem list [--password <password>]
526+
```
527+
528+
### Supported Flags
529+
530+
| Name | Required | Description |
531+
| --- | --- | --- |
532+
| `--password` | No | Password to unlock the BYOK mnemonic (BYOK mode only) [env: `MM_PASSWORD`] |
533+
534+
### Example
535+
536+
```bash
537+
mm predict redeem list
538+
```
539+
540+
## `predict redeem` Command
541+
542+
Redeem winning tokens after market resolution. Redeem one position by condition ID, or all redeemable positions with `--all`. With `--wait`, polls for the transaction receipt.
543+
544+
### Syntax
545+
546+
```bash
547+
mm predict redeem [<condition-id>] [--all] [--wait] [--password <password>]
548+
```
549+
550+
### Supported Flags
551+
552+
| Name | Required | Description |
553+
| --- | --- | --- |
554+
| `<condition-id>` | Yes (unless `--all`) | Market condition ID to redeem (positional) |
555+
| `--all` | No | Redeem all redeemable positions |
556+
| `--wait` | No | Block until the redemption transaction is confirmed |
557+
| `--password` | No | Password to unlock the BYOK mnemonic (BYOK mode only) [env: `MM_PASSWORD`] |
558+
559+
### Validation Rules
560+
561+
- Provide either a `<condition-id>` or `--all`, not both.
562+
563+
### Example
564+
565+
```bash
566+
mm predict redeem 0xABC123... --wait
567+
mm predict redeem --all --wait
568+
```
569+
326570
## `predict orders` Command
327571

328572
View open Predict orders.
@@ -475,9 +719,12 @@ mm predict watch --id <job-id> --wait
475719
## Notes
476720

477721
- Before trading, run `mm predict setup --wait` to initialize credentials, deploy the deposit wallet, and set approvals.
722+
- `mm predict setup` aborts early with `PREDICT_GEOBLOCKED` if your IP resolves to a restricted region, before any wallet interaction. Use `mm predict geoblock` to check region status without running setup.
478723
- Use `mm predict markets get <slug>` to get outcome token IDs required by `quote`, `place`, `book`, and `balance --token-id`.
724+
- Use `mm predict events`, `mm predict series`, and `mm predict tags` to browse Polymarket content; tag slugs/IDs from `mm predict tags list` feed the `--tag-slug` / `--tag-id` filters on `events` and `markets`.
725+
- After a market resolves, use `mm predict redeem list` to see winnings and `mm predict redeem <condition-id> --wait` (or `--all`) to claim them. `mm predict portfolio` shows balance, open positions, and redeemable winnings in one snapshot.
479726
- Prices are per-share and must be in the range [0, 1].
480727
- Side must be `buy` or `sell`.
481728
- The `predict mode` command switches between `mainnet` and `testnet`.
482729
- If the user does not specify a mode, the CLI uses the previously set mode.
483-
- Setup, approve, deposit, withdraw, and order flows can return job IDs. Track them with `mm predict watch <job-id> --wait`.
730+
- Setup, approve, deposit, withdraw, redeem, and order flows can return job IDs. Track them with `mm predict watch <job-id> --wait`.

skills/metamask-agent-wallet/workflows/login.md

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -6,20 +6,22 @@ Reference command syntax in `references/auth.md`.
66

77
## Flow
88

9-
1. Ask the user which login method they want: Google or Email. QR login is coming soon and is not available.
9+
1. Ask the user which login method they want: MetaMask Mobile QR, Google, or Email.
1010
2. Execute login.
1111
3. Verify with token.
1212

1313
## Login
1414

15-
`mm login qr` returns `COMING_SOON`. Use Google or email sign-in.
15+
For non-interactive/CI flows, use Google or email with `--no-wait`:
1616

1717
```bash
1818
mm login google --no-wait
1919
mm login email --no-wait
2020
```
2121

22-
Use `--no-wait` for non-interactive environments. The command prints a sign-in URL.
22+
The command prints a sign-in URL.
23+
24+
`mm login qr` (scan with MetaMask Mobile) is available on non-production builds (dev/uat); on production it returns `COMING_SOON`. QR login keeps the CLI attached to the relay, so it does not support `--no-wait`.
2325

2426
## Verify
2527

skills/metamask-agent-wallet/workflows/onboarding.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ If this fails, the CLI is not installed. Guide the user to install it before pro
2222

2323
## Login Flow
2424

25-
Ask the user which login method they want to use: Google or Email. QR login is coming soon (`mm login qr` returns `COMING_SOON`).
25+
Ask the user which login method they want to use: MetaMask Mobile QR, Google, or Email. QR (`mm login qr`) is available on non-production builds (dev/uat); on production it returns `COMING_SOON`, so fall back to Google or email there.
2626

2727
### Login
2828

0 commit comments

Comments
 (0)