
find-arbitrage-opps
Find arbitrage opportunities across exchanges by comparing prices for fungible token pairs like BTC/WBTC and USDT/USDC.
- Installs
- 493
- Last 24h
- —
- Trending rank
- —
- Security
- Not audited
Install
Works with every agent the skills CLI supports.
npx skills add https://github.com/hummingbot/skills --skill find-arbitrage-opps- 01
Install
Run the command in your project. The CLI asks which agents to install for.
- 02
Describe the task
Ask your agent for something this skill covers. It loads find-arbitrage-opps automatically when relevant.
- 03
Review the result
The agent follows the SKILL.md steps, scripts and references bundled with the skill.
SKILL.md
The instructions your agent reads when the skill is triggered.
find-arbitrage-opps
Find arbitrage opportunities across all Hummingbot-connected exchanges by comparing prices for a trading pair, accounting for fungible tokens (e.g., BTC = WBTC, USDT = USDC).
Prerequisites
Hummingbot API must be running with exchange connectors configured:
bash <(curl -s https://raw.githubusercontent.com/hummingbot/skills/main/skills/lp-agent/scripts/check_prerequisites.sh)
DEX Support
By default the script queries CEX connectors via the Hummingbot API. Add --dex to also fetch prices from:
| DEX | Chain | Default Network |
|---|---|---|
| Jupiter | Solana | mainnet-beta |
| Uniswap | Ethereum | mainnet |
| PancakeSwap | Ethereum (BSC) | bsc |
DEX prices are fetched directly via the Hummingbot Gateway. Make sure Gateway is running on http://localhost:15888 (or set GATEWAY_URL).
⚠️ BTC markets are only available to Australian residents on some exchanges. A warning is printed automatically when BTC/WBTC/cbBTC is included in the search.
Workflow
Step 1: Define Token Mappings
User specifies the base and quote tokens, including fungible equivalents:
- Base tokens: BTC, WBTC, cbBTC (all represent Bitcoin)
- Quote tokens: USDT, USDC, USD (all represent USD)
Step 2: Find Arbitrage Opportunities
# Basic - CEX only
python scripts/find_arb_opps.py --base BTC --quote USDT
# Include fungible tokens
python scripts/find_arb_opps.py --base BTC,WBTC --quote USDT,USDC
# Include DEX prices (Jupiter + Uniswap via Gateway)
python scripts/find_arb_opps.py --base SOL --quote USDC --dex
python scripts/find_arb_opps.py --base ETH,WETH --quote USDT,USDC --dex
# Minimum spread filter
python scripts/find_arb_opps.py --base SOL --quote USDC --dex --min-spread 0.1
# Filter to specific CEX connectors
python scripts/find_arb_opps.py --base BTC --quote USDT --connectors binance,kraken,coinbase
Step 3: Analyze Results
The script outputs:
- Prices from each CEX and DEX source
- Best bid/ask across all sources
- Arbitrage spread (buy low, sell high)
- Recommended pairs for arbitrage
Script Options
python scripts/find_arb_opps.py --help
| Option | Description |
|---|---|
--base | Base token(s), comma-separated (e.g., BTC,WBTC) |
--quote | Quote token(s), comma-separated (e.g., USDT,USDC) |
--connectors | Filter to specific CEX connectors (optional) |
--dex | Include DEX prices via Gateway (Jupiter + Uniswap) |
--min-spread | Minimum spread % to show (default: 0.0) |
--json | Output as JSON |
Output Example
============================================================
SOL / USDC Arbitrage Scanner
DEX: Jupiter (Solana mainnet-beta), Uniswap (Ethereum mainnet)
============================================================
Lowest: binance $132.4500
Highest: jupiter (DEX) $132.8900
Spread: 0.332% ($0.4400)
Sources: 5 prices from 5 sources
Top Arbitrage Opportunities:
--------------------------------------------------------
1. Buy binance @ $132.4500
Sell jupiter (DEX) @ $132.8900
Profit: 0.332% ($0.4400)
Environment Variables
export HUMMINGBOT_API_URL=http://localhost:8000
export API_USER=admin
export API_PASS=admin
export GATEWAY_URL=http://localhost:15888 # for DEX prices
Scripts check for .env in: ./hummingbot-api/.env → ~/.hummingbot/.env → .env
Requirements
- Hummingbot API running (for CEX prices)
- Gateway running (for DEX prices with
--dexflag) - Exchange connectors configured with API keys
FAQ
What does the find-arbitrage-opps skill do?
Find arbitrage opportunities across exchanges by comparing prices for fungible token pairs like BTC/WBTC and USDT/USDC.
How do I install find-arbitrage-opps?
Run npx skills add https://github.com/hummingbot/skills --skill find-arbitrage-opps in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/find-arbitrage-opps/ (personal) or .claude/skills/find-arbitrage-opps/ (project).
Which AI agents can use find-arbitrage-opps?
Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.
Is find-arbitrage-opps safe to install?
No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.
Who maintains find-arbitrage-opps?
It is published by hummingbot in hummingbot/skills. It has 493 recorded installs.
More from hummingbot/skills
hummingbot-deploy
hummingbot/skills
Deploy Hummingbot trading infrastructure including API server, MCP server, and Condor Telegram bot. Use this skill when the user wants to install, deploy, set up, or configure Hummingbot.
slides-generator
hummingbot/skills
Open the skill to read its SKILL.md instructions.
Popular other skills
hyperframes-cli
heygen-com/hyperframes
The HyperFrames CLI by job - scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history - plus reading its JSON and recovering from build or render failures.
triage
mattpocock/skills
Move issues and external PRs through a state machine of triage roles, categorise, verify, grill if needed, and write agent-ready briefs.
ask-matt
mattpocock/skills
Ask which skill or flow fits your situation. A router over the skills in this repo.
to-questionnaire
mattpocock/skills
Turn a decision you can't fully answer into a questionnaire for someone else to fill in.
loop-me
mattpocock/skills
Grill me about specs for the workflows I want to build, within this workspace.