curl --request GET \
--url https://api.bebop.xyz/jam/{chain}/v2/quote \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bebop.xyz/jam/{chain}/v2/quote"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bebop.xyz/jam/{chain}/v2/quote', 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.bebop.xyz/jam/{chain}/v2/quote",
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: Bearer <token>"
],
]);
$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.bebop.xyz/jam/{chain}/v2/quote"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.bebop.xyz/jam/{chain}/v2/quote")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bebop.xyz/jam/{chain}/v2/quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"requestId": "971da938-4c62-420b-b6d6-4f234abb25f5",
"type": "121",
"status": "Success",
"quoteId": "12321539-2a28-42cb-9328-b0159f5b15b6",
"chainId": 1,
"approvalType": "Standard",
"nativeToken": "ETH",
"taker": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"receiver": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"expiry": 1772813548,
"slippage": 0.1,
"gasFee": {
"native": "0",
"usd": 0
},
"buyTokens": {
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2": {
"amount": "507481070765462272",
"decimals": 18,
"priceUsd": 1980.81,
"symbol": "WETH",
"minimumAmount": "506973589694696809",
"price": 1970.5168480306936,
"priceBeforeFee": 1970.5168480306936,
"amountBeforeFee": "507481070765462272",
"deltaFromExpected": 0.005272838152004709
}
},
"sellTokens": {
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48": {
"amount": "1000000000",
"decimals": 6,
"priceUsd": 0.999951,
"symbol": "USDC",
"price": 0.0005074810707654622,
"priceBeforeFee": 0.0005074810707654622
}
},
"settlementAddress": "0xbeb0b0623f66bE8cE162EbDfA2ec543A522F4ea6",
"approvalTarget": "0xC5a350853E4e36b73EB0C24aaA4b8816C9A3579a",
"requiredSignatures": [],
"priceImpact": 0.005272838152004709,
"warnings": [],
"tx": {
"chainId": 1,
"from": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"to": "0xbeb0b0623f66bE8cE162EbDfA2ec543A522F4ea6",
"value": "0x0",
"data": "0x2143d82c00...",
"gas": 593494
},
"hooksHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"toSign": {
"taker": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"receiver": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"expiry": 1772813548,
"exclusivityDeadline": 1772813548,
"nonce": "24186149226709209968603110968399697334",
"executor": "0x0000000000000000000000000000000000000000",
"partnerInfo": "0",
"sellTokens": [
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
],
"buyTokens": [
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
],
"sellAmounts": [
"1000000000"
],
"buyAmounts": [
"506973589694696809"
],
"hooksHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"solver": "🍆"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Quote
Get a quote for a token swap via solver competition. Solvers compete to offer the best price. By default returns a gasless quote that must be signed and submitted to /order. Set gasless=false to get a self-execution transaction.
curl --request GET \
--url https://api.bebop.xyz/jam/{chain}/v2/quote \
--header 'Authorization: Bearer <token>'import requests
url = "https://api.bebop.xyz/jam/{chain}/v2/quote"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://api.bebop.xyz/jam/{chain}/v2/quote', 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.bebop.xyz/jam/{chain}/v2/quote",
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: Bearer <token>"
],
]);
$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.bebop.xyz/jam/{chain}/v2/quote"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
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.bebop.xyz/jam/{chain}/v2/quote")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bebop.xyz/jam/{chain}/v2/quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"requestId": "971da938-4c62-420b-b6d6-4f234abb25f5",
"type": "121",
"status": "Success",
"quoteId": "12321539-2a28-42cb-9328-b0159f5b15b6",
"chainId": 1,
"approvalType": "Standard",
"nativeToken": "ETH",
"taker": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"receiver": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"expiry": 1772813548,
"slippage": 0.1,
"gasFee": {
"native": "0",
"usd": 0
},
"buyTokens": {
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2": {
"amount": "507481070765462272",
"decimals": 18,
"priceUsd": 1980.81,
"symbol": "WETH",
"minimumAmount": "506973589694696809",
"price": 1970.5168480306936,
"priceBeforeFee": 1970.5168480306936,
"amountBeforeFee": "507481070765462272",
"deltaFromExpected": 0.005272838152004709
}
},
"sellTokens": {
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48": {
"amount": "1000000000",
"decimals": 6,
"priceUsd": 0.999951,
"symbol": "USDC",
"price": 0.0005074810707654622,
"priceBeforeFee": 0.0005074810707654622
}
},
"settlementAddress": "0xbeb0b0623f66bE8cE162EbDfA2ec543A522F4ea6",
"approvalTarget": "0xC5a350853E4e36b73EB0C24aaA4b8816C9A3579a",
"requiredSignatures": [],
"priceImpact": 0.005272838152004709,
"warnings": [],
"tx": {
"chainId": 1,
"from": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"to": "0xbeb0b0623f66bE8cE162EbDfA2ec543A522F4ea6",
"value": "0x0",
"data": "0x2143d82c00...",
"gas": 593494
},
"hooksHash": "0x0000000000000000000000000000000000000000000000000000000000000000",
"toSign": {
"taker": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"receiver": "0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6",
"expiry": 1772813548,
"exclusivityDeadline": 1772813548,
"nonce": "24186149226709209968603110968399697334",
"executor": "0x0000000000000000000000000000000000000000",
"partnerInfo": "0",
"sellTokens": [
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
],
"buyTokens": [
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
],
"sellAmounts": [
"1000000000"
],
"buyAmounts": [
"506973589694696809"
],
"hooksHash": "0x0000000000000000000000000000000000000000000000000000000000000000"
},
"solver": "🍆"
}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>"
}
]
}Authorizations
API key passed as a Bearer token.
Query Parameters
The tokens that will be supplied by the taker
"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"
The tokens that will be supplied by the maker
"0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2"
The amount of each taker token, order respective to taker_tokens
"1000000000"
The amount of each maker token, order respective to maker_tokens
Address which will sign the order
"0x5Bad996643a924De21b6b2875c85C33F3c5bBcB6"
Address which will receive the taker tokens. (Defaults to taker_address if not specified)
Type of Approval for EVM: Standard/Permit/Permit2
Standard, Permit, Permit2 Ratios of maker tokens to receive for each taker token
Ratios of taker tokens to receive for each maker token
Set to false to receive call data and self execute.
The slippage to use
Original user of the quote if different than taker.
The list of solvers to include
The recipient of the fee
Fee (bps) to be charged for this quote
Response
Successful Response
Standard, Permit, Permit2 Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Show child attributes
Was this page helpful?