Skip to main content
GET
/
v2
/
quote
Get a Delta V2 quote (Delta price, optional Market fallback)
curl --request GET \
  --url https://api.velora.xyz/v2/quote
import requests

url = "https://api.velora.xyz/v2/quote"

response = requests.get(url)

print(response.text)
const options = {method: 'GET'};

fetch('https://api.velora.xyz/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.velora.xyz/v2/quote",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 30,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "GET",
]);

$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.velora.xyz/v2/quote"

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

	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.velora.xyz/v2/quote")
  .asString();
require 'uri'
require 'net/http'

url = URI("https://api.velora.xyz/v2/quote")

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

request = Net::HTTP::Get.new(url)

response = http.request(request)
puts response.read_body
{
  "delta": {
    "id": "4899cda3-795d-467d-a5e2-c6633415ecc0",
    "side": "SELL",
    "inputToken": {
      "chainId": 10,
      "address": "0x0b2c639c533813f4aa9d7837caf62653d097ff85"
    },
    "outputToken": {
      "chainId": 10,
      "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
    },
    "route": {
      "origin": {
        "input": {
          "token": {
            "chainId": 10,
            "address": "0x0b2c639c533813f4aa9d7837caf62653d097ff85"
          },
          "amount": "1000000",
          "amountUSD": "0.9995570000"
        },
        "output": {
          "token": {
            "chainId": 10,
            "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
          },
          "amount": "560908985930384",
          "amountUSD": "0.9950301048"
        }
      },
      "destination": {
        "input": {
          "token": {
            "chainId": 10,
            "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
          },
          "amount": "560908985930384",
          "amountUSD": "0.9950301048"
        },
        "output": {
          "token": {
            "chainId": 10,
            "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
          },
          "amount": "560908985930384",
          "amountUSD": "0.9950301048"
        }
      },
      "bridge": null,
      "fees": {
        "gas": {
          "token": {
            "chainId": 10,
            "address": "0xeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeeee"
          },
          "amount": "388230",
          "amountUSD": "0.0007580000"
        },
        "bridge": []
      }
    },
    "partner": {
      "name": "paraswap.io-orders",
      "feePercent": 0
    },
    "spender": "0x76e0ebb8d4c6dccb3fdedab7a3e1c87036719a42",
    "alternatives": []
  }
}
GET /v2/quote is the entry point of the Delta flow: it returns a delta block (a gasless, MEV-protected intent price) and, with mode=ALL, falls back to a ready-to-build Market route when no solver can fill. You never compare routes client-side; fallbackReason tells you why a downgrade happened. See Trading modes for the mode semantics.
With mode=DELTA the response carries a single delta block: a Delta V2 price with route + alternatives (no hmac). Pass delta.route verbatim to POST /v2/delta/orders/build. For the raw price object without the quote envelope, use GET /v2/delta/prices.

Query Parameters

chainId
integer
required

Source chain ID. Supported: 1, 10, 56, 100, 130, 137, 8453, 42161, 43114.

Example:

1

srcToken
string
required
Example:

"0x6B175474E89094C44Da98b954EedeAC495271d0F"

destToken
string
required

Destination token. For crosschain quotes, the destination token on destChainId.

Example:

"0xA0b86991c6218b36c1d19D4a2e9Eb0cE3606eB48"

amount
string
required

Source amount (SELL) or destination amount (BUY), in raw token units.

Example:

"1000000000000000000"

srcDecimals
integer
required
Example:

18

destDecimals
integer
required
Example:

6

mode
enum<string>
default:ALL

Which execution path to return. DELTA returns the delta block only; MARKET returns the market block only; ALL (default) lets Velora pick and may fall back to Market.

Available options:
ALL,
DELTA,
MARKET
side
enum<string>
default:SELL
Available options:
SELL,
BUY
destChainId
integer

Omit for same-chain. When set, the delta block's route.bridge is populated.

userAddress
string
beneficiary
string

Address that receives the destination token. Defaults to userAddress.

partner
string
default:anon

Partner key. Defaults to anon (1bps fee).

Example:

"my-app-name"

partnerFeeBps
integer

Override partner fee in basis points (max 200 = 2%).

Required range: 0 <= x <= 200

Response

Delta quote, optionally with a Market block depending on mode.

delta
object

Delta V2 price. Present for mode=DELTA and mode=ALL (when Delta can price). Pass delta.route verbatim to POST /v2/delta/orders/build.

market
object

Market route block. Same shape as the GET /prices priceRoute field. Present when mode is ALL or MARKET.

fallbackReason
object

Set when Delta couldn't price and the response fell back to Market.

Last modified on June 14, 2026