| production | |
|---|---|
| Base URL (DEV) | https://api.rabbit.io |
| Auth | x-api-key HTTP header with your API key |
| API docs (openapi) | https://api.rabbit.io/rabbit-swap-api-docs |
| Rate limit | 10 req/seq per IP |
Contact [email protected] or the live chat and we’ll create your an API key.
❗NOTE: if you call API without API key, we will not assign the created swaps to you
0. GET /asset → fetch asset list (prettyTicker, protocol, etc.)
1. GET /estimateSwap → get quote & estimationId
2. POST /swap → obtain payToAddress
3. Send coins → on-chain transfer
4. GET /swap → poll until status is 'completed'
| Purpose | Method & Path | Notes |
|---|---|---|
| Asset picker | GET /asset |
Build UI dropdowns; response gives prettyTicker and protocol. |
Want a ready to use sophisticated React JS swap form (npm package, no iframes)? contact us at [email protected] |
| Quote | GET /estimateSwap | Ticker rule: use prettyTicker+protocol if protocol differs (e.g. USDTERC20, USDCSOL), otherwise just prettyTicker (e.g. BTC, ETH TRX). |
| Create swap | POST /swap | Same ticker rule, plus the estimationId from quoting step. |
| Track swap | GET /swap?swapIds= | Accepts one or many swapIds. |
All parameters/fields: see api docs.
| Code | Meaning |
|---|---|
waiting_for_payment |
Swap created; coins not detected yet. |
confirming |
Payment tx seen; awaiting confirmations. |
payment_received |
Confirmations reached. |
verifying |
Compliance/risk review — contact support in chat (< 0.3 % of swaps). |
exchanging |
Our side is converting assets. |
completed |
Exchange done; payout tx sent. |
refunded |
Funds returned. |
expired |
Payment never arrived before expiresAt. |
failed |
Terminal error - contact the support. |
bash
# 0. Fetch assets
curl "$BASE/asset?count=100" | jq .
# 1. Quote 0.5 BTC → ETH
curl "$BASE/estimateSwap?tickerFrom=BTC&tickerTo=ETH&amountCoins=0.5&ipAddress=1.1.1.1"
# 2. Create swap (estimationId=EST123)
curl -X POST "$BASE/swap" -H 'Content-Type: application/json' -d '{
"estimationId":"EST123",
"tickerFrom":"BTC",
"tickerTo":"ETH",
"amountCoins":"0.5",
"ipAddress":"203.0.113.5",
"recipientAddress":"0x92C…"
}'
# 3. Poll status
curl "$BASE/swap?swapIds=SWAP456"
| Channel | Link | Typical reply |
|---|---|---|
| Live chat for any questions | https://rabbit.io | 1–2 minutes (max 10 min) |
| Email for partnership questions | **[email protected]** | Same rapid response |
| Email to settle specific swaps/transactions | [email protected] | Same rapid response |