The best swap rate. Every time. Multi-DEX aggregator that queries 1inch, Paraswap, 0x, OpenOcean, KyberSwap, OKX, and Jupiter (Solana) in parallel and surfaces the winner โ with one-click execution via WalletConnect.
- 7 aggregators in parallel โ 1inch, Paraswap, 0x, OpenOcean, KyberSwap, OKX (EVM), Jupiter (Solana)
- 6 EVM chains + Solana โ Ethereum, Arbitrum, Optimism, Base, Polygon, BSC, Solana
- CLI + Web UI โ pick whichever vibe matches your workflow
- WalletConnect / RainbowKit โ connect MetaMask, Rabby, WalletConnect-compatible wallet, sign + execute swaps from the UI
- ERC20 approve + swap flow โ automated approval check, slippage-protected
minAmountOut - No tracking, no analytics โ runs locally, your wallet your keys
- Async-first backend โ every aggregator queried concurrently via
httpx.AsyncClient - Type-safe end to end โ Pydantic on the backend, TypeScript on the frontend
cd backend
python3 -m venv .venv && source .venv/bin/activate
pip install -e .
raksa quote --from USDC --to ETH --amount 100 --chain arbitrum# Terminal 1 โ backend
cd backend && source .venv/bin/activate
uvicorn app.main:app --reload --port 8787
# Terminal 2 โ frontend
cd frontend
npm install
npm run dev # opens http://localhost:3000The free aggregators (Paraswap, OpenOcean, KyberSwap, Jupiter) work out of the box.
To enable the others, set environment variables:
export ONEINCH_API_KEY="<key>" # https://portal.1inch.dev
export ZEROX_API_KEY="<key>" # https://0x.org
export OKX_API_KEY="<key>" # https://www.okx.com/web3/build/dev-portal
export OKX_API_SECRET="<secret>"
export OKX_API_PASSPHRASE="<phrase>"For WalletConnect Project ID (frontend):
# In frontend/.env.local
NEXT_PUBLIC_WALLETCONNECT_PROJECT_ID="your_walletconnect_project_id"Get one for free at https://cloud.walletconnect.com.
$ curl "http://localhost:8787/api/quote?chain=arbitrum&sell=USDC&buy=ETH&amount=100"{
"chain": "arbitrum",
"best_source": "kyberswap",
"elapsed_ms": 1188,
"quotes": [
{"source": "kyberswap", "amount_out": "0.044417354026048374", "winner": true},
{"source": "paraswap", "amount_out": "0.044342303367261292", "winner": false},
{"source": "openocean", "amount_out": "0.044331495626232815", "winner": false}
]
}Full reference: docs/API.md
โโโโโโโโโโโโโโโโโโโ โโโโโโโโโโโโโโโโโโโ
โ Next.js Web UI โโโโโโถโ Python FastAPI โ
โ (wagmi + viem) โ โ (aggregator) โ
โโโโโโโโโโโโโโโโโโโ โโโโโโโโฌโโโโโโโโโโโ
โ asyncio.gather
โโโโโโโโฌโโโโโโโฌโโโโโโโโโโผโโโโโโโโโโฌโโโโโโโฌโโโโโโโ
โผ โผ โผ โผ โผ โผ โผ
1inch Paraswap 0x OpenOcean KyberSwap OKX Jupiter
(Solana)
Each aggregator is an Aggregator subclass with get_quote(ctx) -> Quote. Adding a new one is two files: the adapter + a registry line. See docs/CONTRIBUTING.md.
Raksa adalah DEX aggregator open-source yang membandingkan harga swap dari 7 aggregator (1inch, Paraswap, 0x, OpenOcean, KyberSwap, OKX, Jupiter) di 6 EVM chain + Solana, secara paralel. Dapet harga terbaik tanpa harus buka satu-satu.
# Backend (CLI)
cd backend && python3 -m venv .venv && source .venv/bin/activate
pip install -e .
raksa quote --from USDC --to ETH --amount 100 --chain arbitrum
# Frontend (Web UI)
cd frontend && npm install && npm run dev- 7 aggregator paralel (3-7 detik response)
- Connect wallet (MetaMask / Rabby / WalletConnect) langsung di UI
- Auto approve + swap flow dengan slippage protection
- Dukungan native ETH / BNB / MATIC + ERC20 + token Solana
- API publik gratis tanpa registrasi (untuk Paraswap, OpenOcean, KyberSwap, Jupiter)
Semua aggregator pakai pola yang sama โ tinggal subclass Aggregator, implementasi get_quote(), daftarin di registry. Detail di docs/CONTRIBUTING.md.
- CLI + REST API
- Web UI dark-mode
- 5 EVM aggregators
- OKX aggregator
- Jupiter (Solana) integration
- WalletConnect + execute swap
- Solana wallet adapter (Phantom)
- Cross-chain bridge quotes (LiFi / Squid)
- Limit orders
- Historical price chart
- Self-hosted Docker compose
PRs welcome. See docs/CONTRIBUTING.md for development setup, code style, and how to add a new aggregator.
MIT โ do whatever you want, just don't blame us.
Raksa is not a custodian. It does not hold funds, store private keys, or have access to your wallet. All swap calldata is built directly from public DEX aggregator APIs and signed locally by your wallet. Always verify the destination address, sell amount, and minimum receive in your wallet's confirmation prompt before signing. Crypto involves risk โ slippage, MEV, sandwich attacks, and smart-contract bugs are real. Use small amounts to test first.