curl --request GET \
--url https://quote-api.dflow.net/quote \
--header 'x-api-key: <api-key>'import requests
url = "https://quote-api.dflow.net/quote"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://quote-api.dflow.net/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://quote-api.dflow.net/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 => [
"x-api-key: <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://quote-api.dflow.net/quote"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<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://quote-api.dflow.net/quote")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://quote-api.dflow.net/quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"contextSlot": 1,
"inAmount": "<string>",
"inputMint": "<string>",
"minOutAmount": "<string>",
"otherAmountThreshold": "<string>",
"outAmount": "<string>",
"outputMint": "<string>",
"priceImpactPct": "<string>",
"routePlan": [
{
"data": "<string>",
"inAmount": "<string>",
"inputMint": "<string>",
"inputMintDecimals": 1,
"marketKey": "<string>",
"outAmount": "<string>",
"outputMint": "<string>",
"outputMintDecimals": 1,
"venue": "<string>"
}
],
"slippageBps": 1,
"forJitoBundle": true,
"outTransferFee": "<string>",
"platformFee": {
"amount": "<string>",
"feeBps": 1,
"mode": "outputMint"
},
"requestId": "<string>",
"routingSlot": 1,
"simulatedComputeUnits": 1,
"skipPumpfunCashbackClaim": true
}{
"code": "<enum<string>>",
"msg": "<string>"
}{
"code": "<enum<string>>",
"msg": "<string>"
}{
"code": "<enum<string>>",
"msg": "<string>"
}{
"code": "<enum<string>>",
"msg": "<string>"
}Get Quote
API reference for GET /quote
curl --request GET \
--url https://quote-api.dflow.net/quote \
--header 'x-api-key: <api-key>'import requests
url = "https://quote-api.dflow.net/quote"
headers = {"x-api-key": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'x-api-key': '<api-key>'}};
fetch('https://quote-api.dflow.net/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://quote-api.dflow.net/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 => [
"x-api-key: <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://quote-api.dflow.net/quote"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<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://quote-api.dflow.net/quote")
.header("x-api-key", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://quote-api.dflow.net/quote")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"contextSlot": 1,
"inAmount": "<string>",
"inputMint": "<string>",
"minOutAmount": "<string>",
"otherAmountThreshold": "<string>",
"outAmount": "<string>",
"outputMint": "<string>",
"priceImpactPct": "<string>",
"routePlan": [
{
"data": "<string>",
"inAmount": "<string>",
"inputMint": "<string>",
"inputMintDecimals": 1,
"marketKey": "<string>",
"outAmount": "<string>",
"outputMint": "<string>",
"outputMintDecimals": 1,
"venue": "<string>"
}
],
"slippageBps": 1,
"forJitoBundle": true,
"outTransferFee": "<string>",
"platformFee": {
"amount": "<string>",
"feeBps": 1,
"mode": "outputMint"
},
"requestId": "<string>",
"routingSlot": 1,
"simulatedComputeUnits": 1,
"skipPumpfunCashbackClaim": true
}{
"code": "<enum<string>>",
"msg": "<string>"
}{
"code": "<enum<string>>",
"msg": "<string>"
}{
"code": "<enum<string>>",
"msg": "<string>"
}{
"code": "<enum<string>>",
"msg": "<string>"
}/order endpoint for new
integrations. This endpoint is still available but /order is the preferred
approach. For a code example, see the
Send Orders recipe.transactionVersion for v1 route simulation. See the
v1 migration guide for details.Authorizations
API key for authentication. Apply for one at https://pond.dflow.net/get-started/api-key
Query Parameters
Max allowed slippage for the swap. Allowed values are:
- a u16 which specifies the maximum allowed slippage in basis points
- the string value "auto", where the server determines the maximum allowed slippage automatically Slippage tolerance specified in basis points
x >= 0If true, Pump.fun cashback will not be claimed for cashback-eligible coins. When set, sell
quotes include the full creator fee, and execution skips Pump.fun cashback claiming. Default
is false. Cannot be used with sponsor-executed swaps (sponsorExec is true or defaulted to
true).
Wire format the quoted route must fit. Default is v0. This does not change the quote
response itself, but v1's larger envelope admits routes that a v0 transaction cannot
carry, so it should match the transactionVersion passed to the swap endpoint.
Wire format of the transaction returned to the client.
v0, v1 "v0"
Response
Imperative swap quote