Skip to content

Repository files navigation

OpenSwap — open-source crosschain swaps, right from your terminal

OpenSwap CLI

Open-source crosschain swaps, right from your terminal. Quote, compare, and swap across 30+ chains — BTC, ETH, SOL, and everything between — for humans, AI agents, and trading bots.

By LeoDex · powered by the LeoKit API.

npx openswap@latest

OpenSwap is noncustodial by design: it finds the route, mints a deposit address, and you pay from any wallet you already trust (scan the terminal QR). No seed phrases, no private keys, no browser extension.

New here? openswap tour walks you through a complete swap in 2 minutes — real prices, simulated payment, nothing real moves. Want to actually drive? openswap test on puts the whole CLI in a simulated sandbox: full swap flows, simulated wallets and balances, zero risk.

Swap in one line

openswap swap --amount 100 --from arb:USDC --to btc:BTC

Routes stream in live from every provider (Chainflip, THORChain, Maya, NEAR, Relay, and more), every fee is shown honestly — including when one isn't provided — then you get a deposit address, a QR, and a durable receipt. Close the terminal any time; openswap resume picks the swap back up.

Commands

Command What it does
openswap tour 2-minute guided walkthrough — nothing real moves
openswap test on Test mode: full swap flows against a simulated backend
openswap quote Compare routes — read-only, no wallet needed
openswap swap Full funnel: routes → review → deposit address + QR → tracking
openswap status [id] --watch Track or resume any swap by receipt
openswap history Browse every swap from this machine — inspect, track
openswap assets search <q> Explore 7,000+ supported assets
openswap balances <addr> --chains ETH,ARB Multi-chain balances
openswap watch --jsonl Live streaming quotes (SSE) for bots
openswap bot init Policy-gated automation scaffold
openswap agent setup Teach Claude Code (and friends) to swap safely
openswap auth login Store your API key in the OS keychain
openswap feedback Bug or idea → straight to the team
openswap doctor Check your setup

For agents

Every command takes --json and returns a versioned envelope with stable exit codes. See AGENT-CONTRACT.md, or run openswap agent setup to install the Claude Code skill.

For bots

openswap bot init scaffolds a deterministic policy (allowlists, USD ceilings, fee caps, cooldowns, a kill-switch file). A script or LLM may propose a trade; only the policy can authorize it. bot run simulates by default and broadcasts only with --live. See docs/bot-mode.md.

Keys, fees — and forks

Works out of the box on a built-in community key. Using your own LeoKit API key routes affiliate fees to you — which is also why we genuinely welcome forks: see docs/forking.md.

Privacy & network

The CLI talks to api.leokit.dev for quotes, deposit addresses, and swap status — nothing else, and never in the background. There is no telemetry. openswap feedback and the occasional satisfaction prompt send data only on your explicit action, show you the exact payload first, and redact anything secret-shaped. All state (receipts, config, cache) stays on your machine.

Install & requirements

Node ≥ 20 on macOS or Linux (Windows works via WSL; the OS keychain integration covers macOS and Linux, with a permission-locked file fallback).

npm install -g openswap   # or: npx openswap@latest

Uninstall: npm uninstall -g openswap, then optionally remove local state at ~/.local/share/openswap, ~/.config/openswap, ~/.cache/openswap, and the openswap-cli entry in your OS keychain. Something misbehaving? openswap doctor diagnoses setup issues.

Docs

Getting started · Commands · Architecture · Security model · Bot mode · Brand · Contributing

MIT © LeoDex

About

Swap BTC, ETH, SOL, and 30+ chains without a wallet extension, an account, or custody. One command streams live routes from every major protocol — built for humans, AI agents, and bots.

Topics

Resources

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors

Languages