# PlayHunch Base MCP Read Plugin

> [!IMPORTANT]
> Phase 1 is read-only. Use this plugin to discover PlayHunch markets, fetch quotes, and open Hunch trade/proof links. Do not ask Base MCP to sign Hunch trades yet.

PlayHunch is a social swipe layer for prediction markets. It turns X posts, token narratives, and market signals into YES/NO trade surfaces with proof links.

## Read endpoints

```
GET https://www.playhunch.xyz/api/base-mcp/markets?query=<topic>&limit=<1-50>
GET https://www.playhunch.xyz/api/base-mcp/market/<marketId>
GET https://www.playhunch.xyz/api/base-mcp/quote?marketId=<marketId>&side=yes|no&sizeUsd=<decimal>&venue=<optional>
GET https://www.playhunch.xyz/api/base-mcp/proof/<swipeId>
```

## How to use

1. Search markets with `/api/base-mcp/markets`.
2. Pick a market and side.
3. Fetch `/api/base-mcp/quote` for a fresh price and Hunch quick link.
4. Send the user to `quote.quickLink` or the market's `links.yes` / `links.no`.
5. After a filled trade, fetch proof with `/api/base-mcp/proof/<swipeId>`.

## Example prompts

- Find PlayHunch markets about Base and show me YES/NO links.
- Quote a $1 YES ticket on the most liquid BTC market on Hunch.
- Show the PlayHunch first-party HUNCH market and its current quote.
- Open the proof for this PlayHunch swipe id.

## Response contract

Markets return:

```json
{
  "id": "market-id",
  "source": "hunch",
  "question": "Will ...?",
  "venue": "hunch",
  "links": {
    "yes": "https://www.playhunch.xyz/...",
    "no": "https://www.playhunch.xyz/...",
    "quote": "https://www.playhunch.xyz/api/base-mcp/quote?..."
  }
}
```

Quotes return:

```json
{
  "marketId": "market-id",
  "side": "yes",
  "sizeUsd": 1,
  "priceCents": 52,
  "quickLink": "https://www.playhunch.xyz/quick/..."
}
```

## Safety

This plugin does not create unsigned calldata and does not call `send_calls`. When Hunch adds Base Account execution, a Phase 2 plugin will expose a separate prepare endpoint that returns an approval batch for Base MCP.
