Skip to main content
GET
/
quotes
/
byChainAddress
Get Quotes By Chain And Address
curl --request GET \
  --url https://api-partner.houdiniswap.com/v2/quotes/byChainAddress \
  --header 'Authorization: <api-key>'
import requests

url = "https://api-partner.houdiniswap.com/v2/quotes/byChainAddress"

headers = {"Authorization": "<api-key>"}

response = requests.get(url, headers=headers)

print(response.text)
const options = {method: 'GET', headers: {Authorization: '<api-key>'}};

fetch('https://api-partner.houdiniswap.com/v2/quotes/byChainAddress', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));
<?php

$curl = curl_init();

curl_setopt_array($curl, [
CURLOPT_URL => "https://api-partner.houdiniswap.com/v2/quotes/byChainAddress",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: <api-key>"
],
]);

$response = curl_exec($curl);
$err = curl_error($curl);

curl_close($curl);

if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}
package main

import (
"fmt"
"net/http"
"io"
)

func main() {

url := "https://api-partner.houdiniswap.com/v2/quotes/byChainAddress"

req, _ := http.NewRequest("GET", url, nil)

req.Header.Add("Authorization", "<api-key>")

res, _ := http.DefaultClient.Do(req)

defer res.Body.Close()
body, _ := io.ReadAll(res.Body)

fmt.Println(string(body))

}
HttpResponse<String> response = Unirest.get("https://api-partner.houdiniswap.com/v2/quotes/byChainAddress")
.header("Authorization", "<api-key>")
.asString();
require 'uri'
require 'net/http'

url = URI("https://api-partner.houdiniswap.com/v2/quotes/byChainAddress")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["Authorization"] = '<api-key>'

response = http.request(request)
puts response.read_body
{
  "quotes": [
    {
      "swap": "<string>",
      "quoteId": "<string>",
      "duration": 123,
      "providerEta": 123,
      "gas": 123,
      "gasUsd": 123,
      "amountIn": 123,
      "amountOut": 123,
      "amountOutUsd": 123,
      "amountInUsd": 123,
      "feeUsd": 123,
      "bridgeFeeUsd": 123,
      "netAmountOut": 123,
      "error": "<string>",
      "swapName": "<string>",
      "filtered": false,
      "supportsSignatures": true,
      "logoUrl": "<string>",
      "markupSupported": true,
      "slippageSupported": true,
      "apiMarkupValue": 123,
      "restrictedCountries": [
        "<string>"
      ],
      "rewardsAvailable": true,
      "min": 123,
      "max": 123,
      "minOut": 123,
      "maxOut": 123,
      "rateId": "<string>",
      "fixed": true,
      "validUntil": "<string>",
      "requiresApproval": true,
      "isPriority": true,
      "refundAddress": "<string>"
    }
  ],
  "total": 123
}
{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}
{
"message": "<string>",
"code": "<string>",
"fields": {},
"requestId": "<string>"
}
{
"message": "<string>",
"code": "<string>",
"requestId": "<string>"
}

Authorizations

Authorization
string
header
required

Query Parameters

amount
number<double>
required

Amount of the from token to swap as a decimal float in the token's display units (e.g. 1.5 BTC, 250.75 USDT) — not a base-units / wei integer like 100000000000000. Must be strictly greater than 0 and at most the maximum BSON Double value (Number.MAX_VALUE ≈ 1.7976931348623157e308).

Required range: 0 <= x <= 1.7976931348623157e+308
fromChain
string
required

Source chain identifier — shortName from GET /v2/chains (e.g. "ethereum", "kava_2222-10", "AssetHub") or numeric EVM chainId (e.g. "1", "42161").

Pattern: ^[A-Za-z0-9][A-Za-z0-9_.\-]{0,49}$
toChain
string
required

Destination chain identifier — shortName from GET /v2/chains (e.g. "ethereum", "kava_2222-10", "AssetHub") or numeric EVM chainId (e.g. "1", "42161").

Pattern: ^[A-Za-z0-9][A-Za-z0-9_.\-]{0,49}$
fromTokenAddress
string
toTokenAddress
string
slippage
number<double>

Slippage percentage, only used for decentralized swaps.

Required range: 0 <= x <= 100
useXmr
boolean
fixed
boolean

Request a fixed-rate quote. Only partners that support fixed rate will be returned.

deviationThreshold
number<double>

Maximum price deviation percentage when rotating wallets. Only used if rotatePayoutWallets is true. Default 5

Required range: 0 <= x <= 100
rotationLookback
integer<int32>

Number of recent orders to check for path rotation. Only used if rotatePayoutWallets is true. Default 10

Required range: 1 <= x <= 100
rotatePayoutWallets
boolean
types
enum<string>[]
Available options:
private,
standard,
dex
swaps
enum<string>[]
Available options:
ch,
cl,
cn,
le,
se,
ss,
sz,
sp,
eb,
nx,
cc,
qx,
tc,
hu,
dl,
ad,
wh,
cf,
un,
jp,
mn,
rd,
ps,
cs,
kd,
ct,
zx,
wc,
su,
tt,
ni,
sd,
bg,
ab,
pt
inLegIncludedSwaps
string[]

Allowlist for the in-leg of anonymous (private, 2-hop) paths. When set, only these providers may be used as the in-leg. Silently ignored for STANDARD and DEX quotes, which are single-hop and have no in/out leg concept.

inLegExcludedSwaps
string[]

Providers excluded from the in-leg of anonymous (private, 2-hop) paths. Does not affect the out-leg. Silently ignored for STANDARD and DEX quotes, which are single-hop and have no in/out leg concept.

outLegIncludedSwaps
string[]

Allowlist for the out-leg of anonymous (private, 2-hop) paths. When set, only these providers may be used as the out-leg. Silently ignored for STANDARD and DEX quotes, which are single-hop and have no in/out leg concept.

outLegExcludedSwaps
string[]

Providers excluded from the out-leg of anonymous (private, 2-hop) paths. Does not affect the in-leg. Silently ignored for STANDARD and DEX quotes, which are single-hop and have no in/out leg concept.

senderAddress
string
receiverAddress
string
sort
enum<string>
Available options:
amountOut,
amountOutUsd,
amountIn,
duration
sortOrder
enum<string>
Available options:
asc,
desc

Response

Success

quotes
object[]
required
total
number<double>
required