Quotes
Everything available for a pair and amount right now: direct, best-rate exchange, fixed, private — with receive amount, fee, minimum and ETA.
Call this before creating a transfer. The exchange minimum changes with the pair and the market; a create below it fails with transfer_min_amount.
GEThttps://api.trenchytools.lol/api/transfer/routes
| Field | Type | Description |
|---|---|---|
| from | string | Source chain: sol or rh. |
| to | string | Destination chain: sol, rh, eth, bnb. |
| amount | number | In the source chain's native unit. |
cURL
curl "https://api.trenchytools.lol/api/transfer/routes?from=sol&to=rh&amount=0.5&api-key=YOUR_API_KEY"
Response
{
"from": "sol", "to": "rh", "amount": 0.5,
"routes": [
{ "route": "exchange", "mode": "float", "venue": "auto", "receive": 0.02156, "fee": 0.000054, "networkFee": 0.00005, "etaS": 40, "min": 0.087, "max": 200300 },
{ "route": "exchange", "mode": "fixed", "venue": "auto", "receive": 0.02145, "fee": 0.00255, "networkFee": 0.00005, "etaS": 40, "min": 0.087 },
{ "route": "exchange", "mode": "float", "venue": "bybit", "status": "open", "receive": 0.02134, "fee": 0.00505, "etaS": 40, "min": 0.087, "note": "funds the destination from this exchange (breaks the wallet cluster); ~1 % extra" },
{ "route": "exchange", "mode": "float", "venue": "htx", "status": "closed", "note": "switched off at the exchange right now" },
{ "route": "exchange", "mode": "private", "venue": "auto", "receive": 0.02134, "fee": 0.00505, "networkFee": 0.00005, "etaS": 300, "min": 0.087 }
],
"venues": ["auto", "random", "binance", "bybit", "kucoin", "htx", "mexc", "bitget", "gate"],
"chains": { "sol": { "source": true, "destination": true }, "rh": { "source": true, "destination": true }, "eth": { "source": false, "destination": true }, "bnb": { "source": false, "destination": true } },
"exchange": "on"
}
A same-chain pair also lists { "route": "direct", "fee": 0 }. exchange: "off" means the server has no exchange route configured; direct still works.
The per-venue entries are the break-wallet-cluster option: one line per exchange with its live status. Pass that venue to POST /api/transfer.