> ## Documentation Index
> Fetch the complete documentation index at: https://docs.polygon.technology/llms.txt
> Use this file to discover all available pages before exploring further.

# Polymarket trading

> Trade Polymarket prediction markets from the CLI: list markets, buy and sell YES/NO tokens via CLOB, manage positions.

The CLI ships with first-class Polymarket support: discover markets by volume or keyword, fund a Polymarket proxy wallet from the smart wallet, place CLOB orders for YES/NO outcomes, and list open positions and orders. Polymarket uses a separate EOA key for CLOB signing, imported once via `set-key`. The proxy wallet needs a one-time `approve` call before the first buy.

For an enterprise context, this is the surface for hedging operational risk (regulatory events, supply-chain disruptions, demand shocks) at small dollar values within a clear cap.

***

## How it works

<div style={{border:"1px solid #C8CFE1",borderRadius:"12px",overflow:"hidden",marginBottom:"24px"}}>
  <div style={{background:"linear-gradient(180deg,#EAE4F5 0%,#F6F3FB 100%)",borderBottom:"1px solid #D5C4F2",padding:"10px 16px",fontSize:"11px",fontWeight:"700",color:"#670DE5",letterSpacing:"0.06em",textTransform:"uppercase"}}>Trade flow</div>

  <div style={{borderBottom:"1px solid #EEF0F9",padding:"9px 16px",display:"flex",alignItems:"center",gap:"10px"}}>
    <span style={{color:"#929EBA",fontSize:"11px",fontWeight:"700",minWidth:"16px",textAlign:"right"}}>1</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>Operator</span>
    <span style={{color:"#670DE5",fontWeight:"700"}}>→</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>CLI</span>
    <span style={{fontFamily:"'Geist Mono',ui-monospace,monospace",fontSize:"12px",color:"#141635"}}>polymarket set-key \<privateKey> (one-time)</span>
  </div>

  <div style={{borderBottom:"1px solid #EEF0F9",padding:"9px 16px",display:"flex",alignItems:"center",gap:"10px"}}>
    <span style={{color:"#929EBA",fontSize:"11px",fontWeight:"700",minWidth:"16px",textAlign:"right"}}>2</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>Operator</span>
    <span style={{color:"#670DE5",fontWeight:"700"}}>→</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>CLI</span>
    <span style={{fontFamily:"'Geist Mono',ui-monospace,monospace",fontSize:"12px",color:"#141635"}}>polymarket approve --broadcast (one-time)</span>
  </div>

  <div style={{borderBottom:"1px solid #EEF0F9",padding:"9px 16px",display:"flex",alignItems:"center",gap:"10px"}}>
    <span style={{color:"#929EBA",fontSize:"11px",fontWeight:"700",minWidth:"16px",textAlign:"right"}}>3</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>Operator</span>
    <span style={{color:"#670DE5",fontWeight:"700"}}>→</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>CLI</span>
    <span style={{fontFamily:"'Geist Mono',ui-monospace,monospace",fontSize:"12px",color:"#141635"}}>polymarket markets --search ...</span>
  </div>

  <div style={{borderBottom:"1px solid #EEF0F9",padding:"9px 16px",display:"flex",alignItems:"center",gap:"10px"}}>
    <span style={{color:"#929EBA",fontSize:"11px",fontWeight:"700",minWidth:"16px",textAlign:"right"}}>4</span>
    <span style={{background:"#EAE4F5",color:"#670DE5",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"700",whiteSpace:"nowrap"}}>Smart wallet</span>
    <span style={{color:"#670DE5",fontWeight:"700"}}>→</span>
    <span style={{background:"#EAE4F5",color:"#670DE5",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"700",whiteSpace:"nowrap"}}>Proxy wallet</span>
    <span style={{fontSize:"13px",color:"#141635"}}>Funds the proxy wallet, then buys YES/NO tokens via CLOB</span>
  </div>

  <div style={{padding:"9px 16px",display:"flex",alignItems:"center",gap:"10px"}}>
    <span style={{color:"#929EBA",fontSize:"11px",fontWeight:"700",minWidth:"16px",textAlign:"right"}}>5</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>Operator</span>
    <span style={{color:"#670DE5",fontWeight:"700"}}>→</span>
    <span style={{background:"#EEF0F9",color:"#48526F",padding:"2px 8px",borderRadius:"4px",fontSize:"11px",fontWeight:"600",whiteSpace:"nowrap"}}>CLI</span>
    <span style={{fontFamily:"'Geist Mono',ui-monospace,monospace",fontSize:"12px",color:"#141635"}}>polymarket positions / orders / sell / cancel</span>
  </div>
</div>

The proxy wallet is Polymarket's per-EOA execution wallet. `clob-buy` funds it from the smart wallet first, then submits the buy order. `sell` and order management work directly against the proxy.

***

## One-time setup

```bash theme={null}
polygon-agent polymarket set-key 0xYOUR_EOA_PRIVATE_KEY
polygon-agent polymarket proxy-wallet
# 0xProxyAddress (the destination for funding)
polygon-agent polymarket approve --broadcast
```

`set-key` stores the EOA private key encrypted in `~/.polygon-agent/`. `approve` is a one-time onchain transaction that authorizes the proxy wallet to spend USDC on Polymarket's CLOB; without it, the first buy fails.

***

## Commands

### markets

```bash theme={null}
polygon-agent polymarket markets
polygon-agent polymarket markets --search "election" --limit 50
```

| Flag       | Default | Purpose                 |
| ---------- | ------- | ----------------------- |
| `--search` | none    | Filter by question text |
| `--limit`  | `20`    | Number of results       |
| `--offset` | `0`     | Pagination offset       |

Lists active markets sorted by volume.

### market

```bash theme={null}
polygon-agent polymarket market <conditionId>
```

Returns full detail for one market identified by `conditionId`.

### set-key

```bash theme={null}
polygon-agent polymarket set-key <privateKey>
```

Imports an EOA private key for Polymarket signing. Stored AES-256-GCM encrypted. Required before any trading commands.

### proxy-wallet

```bash theme={null}
polygon-agent polymarket proxy-wallet
```

Returns the Polymarket proxy wallet address derived from the active EOA. Use this address as the funding destination.

### approve

```bash theme={null}
polygon-agent polymarket approve --broadcast
polygon-agent polymarket approve --neg-risk --broadcast
```

| Flag          | Default | Purpose                       |
| ------------- | ------- | ----------------------------- |
| `--neg-risk`  | `false` | Approve negative-risk markets |
| `--broadcast` | `false` | Execute the transaction       |

One-time approval before the first `clob-buy`. Pass `--neg-risk` to also approve negative-risk markets.

### clob-buy

```bash theme={null}
polygon-agent polymarket clob-buy <conditionId> YES 25 --broadcast
polygon-agent polymarket clob-buy <conditionId> NO 100 --price 0.42 --broadcast
```

Buy YES or NO tokens via CLOB. Positional args are conditionId, outcome (YES or NO), and USDC to spend.

| Flag          | Default | Purpose                                          |
| ------------- | ------- | ------------------------------------------------ |
| `--wallet`    | `main`  | Smart wallet to fund the proxy from              |
| `--price`     | none    | Limit price 0–1 (GTC); omit for market order     |
| `--fak`       | `false` | Fill-and-kill instead of fill-or-kill            |
| `--skip-fund` | `false` | Skip wallet→proxy funding (proxy already funded) |
| `--broadcast` | `false` | Execute the transaction                          |

### sell

```bash theme={null}
polygon-agent polymarket sell <conditionId> YES 50 --broadcast
polygon-agent polymarket sell <conditionId> NO 50 --price 0.55 --broadcast
```

Sell YES or NO tokens. Positional args are conditionId, outcome, and number of shares.

| Flag          | Default | Purpose                                      |
| ------------- | ------- | -------------------------------------------- |
| `--price`     | none    | Limit price 0–1 (GTC); omit for market order |
| `--fak`       | `false` | Fill-and-kill instead of fill-or-kill        |
| `--broadcast` | `false` | Execute the transaction                      |

### positions, orders, cancel

```bash theme={null}
polygon-agent polymarket positions
polygon-agent polymarket orders
polygon-agent polymarket cancel <orderId>
```

`positions` lists open positions for the proxy wallet. `orders` lists open CLOB orders for the active EOA. `cancel` cancels a specific order by ID.

***

## Worked example

```bash theme={null}
# One-time per machine
polygon-agent polymarket set-key 0xEOA_KEY
polygon-agent polymarket approve --broadcast

# Find a market
polygon-agent polymarket markets --search "fed cuts" --limit 5

# Buy YES with $25 USDC at market price
polygon-agent polymarket clob-buy 0xCONDITION_ID YES 25
# ⚡ Dry run, funds proxy with 25 USDC, places market buy

polygon-agent polymarket clob-buy 0xCONDITION_ID YES 25 --broadcast
# Funded proxy + placed buy
# Tx: 0xabc... → https://polygonscan.com/tx/0xabc...

# Track
polygon-agent polymarket positions
polygon-agent polymarket orders
```

***

## Implementation

<CardGroup cols={2}>
  <Card title="CLI overview" icon="terminal" href="/payment-services/agentic-payments/cli/index">
    Topology, safety model, supported chains.
  </Card>

  <Card title="Setup and wallets" icon="key" href="/payment-services/agentic-payments/cli/setup-and-wallets">
    Smart wallet is the funding source for the proxy.
  </Card>

  <Card title="Transfers" icon="paper-plane" href="/payment-services/agentic-payments/cli/transfers">
    Move USDC into the smart wallet before trading.
  </Card>

  <Card title="Balances and funding" icon="wallet" href="/payment-services/agentic-payments/cli/balances-and-funding">
    Confirm USDC available before placing orders.
  </Card>
</CardGroup>
