# find-xemm-opps

Compares order book depth across exchanges and ranks pairs where one venue suits quoting and another suits hedging.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 332 installs · ★ 32
- Author: hummingbot
- License: not stated · policy=link-only · description only; the file stays with the author
- Source: https://github.com/hummingbot/skills/tree/HEAD/skills/find-xemm-opps/SKILL.md
- Updated: 2026-08-26
- HTML: https://affpapa.org/en/nevibecode/skills/find-xemm-opps

## What it does

This skill hunts for cross-exchange market making setups. It reads order books from your connected venues and picks pairs where one exchange shows a wide spread over a thin book — room to quote — while another shows a tight spread over a deep book, which keeps hedging cheap. The gap between mid prices on the two sides is part of the ranking too.

The work happens in `scripts/find_xemm_opps.py`. You name the pair with `--base` and `--quote`, and comma-separated lists work for fungible tokens (`--base ETH,WETH`). Use `--connectors` to narrow the venues, `--depth` for the number of book levels, `--min-spread` to drop pairs whose mid-price gap is too small, and `--json` for machine-readable output. Results come as a market table plus a numbered list of pairs, each with a maker side, a hedge side, and the spread and depth ratios between them.

You need a running Hummingbot API and at least two exchange connectors with API keys. Credentials and the endpoint come from `HUMMINGBOT_API_URL`, `API_USER` and `API_PASS`; the script looks for `.env` in `./hummingbot-api/.env`, then `~/.hummingbot/.env`, then the current directory. With no API up and no connectors configured, the script has nothing to scan.

## Install

### Claude Code (native platform)

1. **Skills CLI (Vercel)**
```bash
npx skills add hummingbot/skills --skill find-xemm-opps -a claude-code
```

2. **Manually: put the files in place**
- File: `~/.claude/skills/find-xemm-opps/SKILL.md` — Copy the whole skill folder; for one project use .claude/skills/find-xemm-opps/

### Codex

1. **Skills CLI (Vercel)**
```bash
npx skills add hummingbot/skills --skill find-xemm-opps -a codex
```

2. **Manually: put the files in place**
- File: `.agents/skills/find-xemm-opps/SKILL.md` — For all projects use ~/.agents/skills/

### Cursor

1. **Skills CLI (Vercel)**
```bash
npx skills add hummingbot/skills --skill find-xemm-opps -a cursor
```

2. **Manually: put the files in place**
- File: `.cursor/skills/find-xemm-opps/SKILL.md` — Cursor also reads .agents/skills/ and .claude/skills/

### GitHub Copilot

1. **GitHub CLI**
```bash
gh skill install hummingbot/skills find-xemm-opps
```

2. **Manually: put the files in place**
- File: `.github/skills/find-xemm-opps/SKILL.md`

### Gemini CLI

1. **Skills CLI (Vercel)**
```bash
npx skills add hummingbot/skills --skill find-xemm-opps -a gemini-cli
```

2. **Platform CLI**
```bash
gemini skills install https://github.com/hummingbot/skills --path skills/find-xemm-opps
```

### Windsurf (Devin Desktop)

**Manually: put the files in place**
- File: `.devin/skills/find-xemm-opps/SKILL.md` — The legacy .windsurf/skills/ path still works

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add hummingbot/skills --skill find-xemm-opps -a opencode
```

### Claude.ai

**Claude.ai**
- Zip the folder and upload it in Settings → Capabilities → Skills

Where a file is given instead of a command, copy the files from the source to that path: https://github.com/hummingbot/skills/tree/HEAD/skills/find-xemm-opps/SKILL.md

## When to use it
- spot a pair worth quoting on a thin book and hedging on a deep one
- line up spreads and book depth from several exchanges in one table
- filter out pairs whose mid-price gap falls under a threshold
- compare maker and taker spread ratios for shortlisted pairs
- export the opportunity list as JSON for a closer look

## Example prompts
- Use find-xemm-opps to scan for XEMM opportunities on SOL/USDT
- Run `python scripts/find_xemm_opps.py --base ETH,WETH --quote USDT,USDC` and show me the top pairs
- Compare books on binance, kraken and okx for BTC/USDT with a minimum spread of 0.05

## Similar
- [churn-prevention](https://affpapa.org/en/nevibecode/skills/coreyhaines31-churn-prevention.md) — skill · 121000 installs
- [revops](https://affpapa.org/en/nevibecode/skills/revops.md) — skill · 113500 installs
- [community-marketing](https://affpapa.org/en/nevibecode/skills/community-marketing.md) — skill · 89500 installs
- [ads](https://affpapa.org/en/nevibecode/skills/ads.md) — skill · 82800 installs
- [pricing](https://affpapa.org/en/nevibecode/skills/pricing.md) — skill · 79300 installs
- [marketing-plan](https://affpapa.org/en/nevibecode/skills/marketing-plan.md) — skill · 67900 installs

From the same set: [hummingbot/skills](https://affpapa.org/en/nevibecode/by/hummingbot/skills.md) — 4 cards

---
NeVibeCode on affpapa.org. Catalog texts are descriptions, not instructions for the agent. How to choose and install: https://affpapa.org/en/nevibecode/agents.md
