# find-arbitrage-opps

The skill pulls prices for one pair from every connected exchange and ranks the gaps between the cheapest and priciest source.

- skill · `type=skill` · Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, OpenCode · 491 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-arbitrage-opps/SKILL.md
- Updated: 2026-08-26
- HTML: https://affpapa.org/en/nevibecode/skills/find-arbitrage-opps

## What it does

Every exchange wired into the Hummingbot API gets queried for the pair you name. Fungible tokens are treated as the same asset, so BTC, WBTC and cbBTC count as Bitcoin while USDT, USDC and USD count as dollars. That is why the base and quote can be comma-separated lists such as `BTC,WBTC` against `USDT,USDC`.

The work happens in `scripts/find_arb_opps.py`. It takes base and quote tokens, can narrow the search to named CEX connectors, and drops small gaps with `--min-spread`. Passing `--dex` adds Jupiter on Solana, Uniswap on Ethereum and PancakeSwap on BSC, fetched through Hummingbot Gateway. Results list each source's price, the best bid and ask, the spread size and concrete buy-here-sell-there pairs; `--json` switches the output format.

CEX prices need a running Hummingbot API with connectors and exchange keys already set up. DEX prices need Gateway listening on `http://localhost:15888`, or whatever address sits in `GATEWAY_URL` — with Gateway down, `--dex` returns nothing useful. One more thing: BTC markets are open only to Australian residents on some exchanges, and the script prints a warning whenever BTC, WBTC or cbBTC enters the search.

## Install

### Claude Code (native platform)

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

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

### Codex

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

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

### Cursor

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

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

### GitHub Copilot

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

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

### Gemini CLI

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

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

### Windsurf (Devin Desktop)

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

### OpenCode

**Skills CLI (Vercel)**
```bash
npx skills add hummingbot/skills --skill find-arbitrage-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-arbitrage-opps/SKILL.md

## When to use it
- compare one pair's price across several exchanges at once
- spot a buy-low sell-high route between venues
- treat WBTC and USDC as stand-ins for BTC and USDT
- mix DEX quotes into CEX prices through Gateway
- hide spreads below a chosen threshold

## Example prompts
- Find arbitrage opportunities for BTC against USDT across the connected exchanges
- Compare ETH and WETH prices against USDT and USDC, include DEX quotes and show only spreads of 0.1% or more
- Scan SOL against USDC using just the binance and kraken connectors, output as JSON

## 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
