TrenchyToolsAPI

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
FieldTypeDescription
fromstringSource chain: sol or rh.
tostringDestination chain: sol, rh, eth, bnb.
amountnumberIn 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.