curl --request POST \
--url https://api.velora.xyz/v2/delta/orders/build \
--header 'Content-Type: application/json' \
--data '
{
"route": {
"origin": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"destination": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"bridge": {
"protocol": "<string>",
"estimatedTimeMs": 123,
"tags": [],
"contractParams": {
"protocolSelector": "<string>",
"outputToken": "<string>",
"scalingFactor": 123,
"protocolData": "<string>"
}
},
"fees": {
"gas": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"bridge": [
{
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
]
}
},
"owner": "<string>",
"deadline": 123,
"side": "SELL",
"beneficiary": "<string>",
"nonce": "<string>",
"permit": "<string>",
"slippage": 100,
"limitAmount": "<string>",
"metadata": "0x",
"partiallyFillable": false,
"partnerAddress": "<string>",
"partnerFeeBps": 0,
"partnerTakesSurplus": false,
"capSurplus": true,
"orderType": "Order",
"handler": "<string>",
"data": "<string>",
"strategy": "<string>",
"useShares": true,
"interval": 61,
"numSlices": 3,
"totalSrcAmount": "<string>",
"totalDestAmount": "<string>",
"maxSrcAmount": "<string>"
}
'import requests
url = "https://api.velora.xyz/v2/delta/orders/build"
payload = {
"route": {
"origin": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"destination": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"bridge": {
"protocol": "<string>",
"estimatedTimeMs": 123,
"tags": [],
"contractParams": {
"protocolSelector": "<string>",
"outputToken": "<string>",
"scalingFactor": 123,
"protocolData": "<string>"
}
},
"fees": {
"gas": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"bridge": [
{
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
]
}
},
"owner": "<string>",
"deadline": 123,
"side": "SELL",
"beneficiary": "<string>",
"nonce": "<string>",
"permit": "<string>",
"slippage": 100,
"limitAmount": "<string>",
"metadata": "0x",
"partiallyFillable": False,
"partnerAddress": "<string>",
"partnerFeeBps": 0,
"partnerTakesSurplus": False,
"capSurplus": True,
"orderType": "Order",
"handler": "<string>",
"data": "<string>",
"strategy": "<string>",
"useShares": True,
"interval": 61,
"numSlices": 3,
"totalSrcAmount": "<string>",
"totalDestAmount": "<string>",
"maxSrcAmount": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
route: {
origin: {
input: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
},
output: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
}
},
destination: {
input: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
},
output: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
}
},
bridge: {
protocol: '<string>',
estimatedTimeMs: 123,
tags: [],
contractParams: {
protocolSelector: '<string>',
outputToken: '<string>',
scalingFactor: 123,
protocolData: '<string>'
}
},
fees: {
gas: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
},
bridge: [
{
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
}
]
}
},
owner: '<string>',
deadline: 123,
side: 'SELL',
beneficiary: '<string>',
nonce: '<string>',
permit: '<string>',
slippage: 100,
limitAmount: '<string>',
metadata: '0x',
partiallyFillable: false,
partnerAddress: '<string>',
partnerFeeBps: 0,
partnerTakesSurplus: false,
capSurplus: true,
orderType: 'Order',
handler: '<string>',
data: '<string>',
strategy: '<string>',
useShares: true,
interval: 61,
numSlices: 3,
totalSrcAmount: '<string>',
totalDestAmount: '<string>',
maxSrcAmount: '<string>'
})
};
fetch('https://api.velora.xyz/v2/delta/orders/build', 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/delta/orders/build",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'route' => [
'origin' => [
'input' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
],
'output' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
]
],
'destination' => [
'input' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
],
'output' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
]
],
'bridge' => [
'protocol' => '<string>',
'estimatedTimeMs' => 123,
'tags' => [
],
'contractParams' => [
'protocolSelector' => '<string>',
'outputToken' => '<string>',
'scalingFactor' => 123,
'protocolData' => '<string>'
]
],
'fees' => [
'gas' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
],
'bridge' => [
[
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
]
]
]
],
'owner' => '<string>',
'deadline' => 123,
'side' => 'SELL',
'beneficiary' => '<string>',
'nonce' => '<string>',
'permit' => '<string>',
'slippage' => 100,
'limitAmount' => '<string>',
'metadata' => '0x',
'partiallyFillable' => false,
'partnerAddress' => '<string>',
'partnerFeeBps' => 0,
'partnerTakesSurplus' => false,
'capSurplus' => true,
'orderType' => 'Order',
'handler' => '<string>',
'data' => '<string>',
'strategy' => '<string>',
'useShares' => true,
'interval' => 61,
'numSlices' => 3,
'totalSrcAmount' => '<string>',
'totalDestAmount' => '<string>',
'maxSrcAmount' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velora.xyz/v2/delta/orders/build"
payload := strings.NewReader("{\n \"route\": {\n \"origin\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"destination\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"bridge\": {\n \"protocol\": \"<string>\",\n \"estimatedTimeMs\": 123,\n \"tags\": [],\n \"contractParams\": {\n \"protocolSelector\": \"<string>\",\n \"outputToken\": \"<string>\",\n \"scalingFactor\": 123,\n \"protocolData\": \"<string>\"\n }\n },\n \"fees\": {\n \"gas\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"bridge\": [\n {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n ]\n }\n },\n \"owner\": \"<string>\",\n \"deadline\": 123,\n \"side\": \"SELL\",\n \"beneficiary\": \"<string>\",\n \"nonce\": \"<string>\",\n \"permit\": \"<string>\",\n \"slippage\": 100,\n \"limitAmount\": \"<string>\",\n \"metadata\": \"0x\",\n \"partiallyFillable\": false,\n \"partnerAddress\": \"<string>\",\n \"partnerFeeBps\": 0,\n \"partnerTakesSurplus\": false,\n \"capSurplus\": true,\n \"orderType\": \"Order\",\n \"handler\": \"<string>\",\n \"data\": \"<string>\",\n \"strategy\": \"<string>\",\n \"useShares\": true,\n \"interval\": 61,\n \"numSlices\": 3,\n \"totalSrcAmount\": \"<string>\",\n \"totalDestAmount\": \"<string>\",\n \"maxSrcAmount\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.velora.xyz/v2/delta/orders/build")
.header("Content-Type", "application/json")
.body("{\n \"route\": {\n \"origin\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"destination\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"bridge\": {\n \"protocol\": \"<string>\",\n \"estimatedTimeMs\": 123,\n \"tags\": [],\n \"contractParams\": {\n \"protocolSelector\": \"<string>\",\n \"outputToken\": \"<string>\",\n \"scalingFactor\": 123,\n \"protocolData\": \"<string>\"\n }\n },\n \"fees\": {\n \"gas\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"bridge\": [\n {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n ]\n }\n },\n \"owner\": \"<string>\",\n \"deadline\": 123,\n \"side\": \"SELL\",\n \"beneficiary\": \"<string>\",\n \"nonce\": \"<string>\",\n \"permit\": \"<string>\",\n \"slippage\": 100,\n \"limitAmount\": \"<string>\",\n \"metadata\": \"0x\",\n \"partiallyFillable\": false,\n \"partnerAddress\": \"<string>\",\n \"partnerFeeBps\": 0,\n \"partnerTakesSurplus\": false,\n \"capSurplus\": true,\n \"orderType\": \"Order\",\n \"handler\": \"<string>\",\n \"data\": \"<string>\",\n \"strategy\": \"<string>\",\n \"useShares\": true,\n \"interval\": 61,\n \"numSlices\": 3,\n \"totalSrcAmount\": \"<string>\",\n \"totalDestAmount\": \"<string>\",\n \"maxSrcAmount\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velora.xyz/v2/delta/orders/build")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"route\": {\n \"origin\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"destination\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"bridge\": {\n \"protocol\": \"<string>\",\n \"estimatedTimeMs\": 123,\n \"tags\": [],\n \"contractParams\": {\n \"protocolSelector\": \"<string>\",\n \"outputToken\": \"<string>\",\n \"scalingFactor\": 123,\n \"protocolData\": \"<string>\"\n }\n },\n \"fees\": {\n \"gas\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"bridge\": [\n {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n ]\n }\n },\n \"owner\": \"<string>\",\n \"deadline\": 123,\n \"side\": \"SELL\",\n \"beneficiary\": \"<string>\",\n \"nonce\": \"<string>\",\n \"permit\": \"<string>\",\n \"slippage\": 100,\n \"limitAmount\": \"<string>\",\n \"metadata\": \"0x\",\n \"partiallyFillable\": false,\n \"partnerAddress\": \"<string>\",\n \"partnerFeeBps\": 0,\n \"partnerTakesSurplus\": false,\n \"capSurplus\": true,\n \"orderType\": \"Order\",\n \"handler\": \"<string>\",\n \"data\": \"<string>\",\n \"strategy\": \"<string>\",\n \"useShares\": true,\n \"interval\": 61,\n \"numSlices\": 3,\n \"totalSrcAmount\": \"<string>\",\n \"totalDestAmount\": \"<string>\",\n \"maxSrcAmount\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"toSign": {
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"types": {},
"value": {}
},
"orderHash": "<string>"
}Build a Delta order
Server-built EIP-712 typed data ready to sign. Pass the route from /v2/delta/prices verbatim.
curl --request POST \
--url https://api.velora.xyz/v2/delta/orders/build \
--header 'Content-Type: application/json' \
--data '
{
"route": {
"origin": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"destination": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"bridge": {
"protocol": "<string>",
"estimatedTimeMs": 123,
"tags": [],
"contractParams": {
"protocolSelector": "<string>",
"outputToken": "<string>",
"scalingFactor": 123,
"protocolData": "<string>"
}
},
"fees": {
"gas": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"bridge": [
{
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
]
}
},
"owner": "<string>",
"deadline": 123,
"side": "SELL",
"beneficiary": "<string>",
"nonce": "<string>",
"permit": "<string>",
"slippage": 100,
"limitAmount": "<string>",
"metadata": "0x",
"partiallyFillable": false,
"partnerAddress": "<string>",
"partnerFeeBps": 0,
"partnerTakesSurplus": false,
"capSurplus": true,
"orderType": "Order",
"handler": "<string>",
"data": "<string>",
"strategy": "<string>",
"useShares": true,
"interval": 61,
"numSlices": 3,
"totalSrcAmount": "<string>",
"totalDestAmount": "<string>",
"maxSrcAmount": "<string>"
}
'import requests
url = "https://api.velora.xyz/v2/delta/orders/build"
payload = {
"route": {
"origin": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"destination": {
"input": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"output": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
},
"bridge": {
"protocol": "<string>",
"estimatedTimeMs": 123,
"tags": [],
"contractParams": {
"protocolSelector": "<string>",
"outputToken": "<string>",
"scalingFactor": 123,
"protocolData": "<string>"
}
},
"fees": {
"gas": {
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
},
"bridge": [
{
"token": {
"chainId": 123,
"address": "<string>"
},
"amount": "<string>",
"amountUSD": "<string>"
}
]
}
},
"owner": "<string>",
"deadline": 123,
"side": "SELL",
"beneficiary": "<string>",
"nonce": "<string>",
"permit": "<string>",
"slippage": 100,
"limitAmount": "<string>",
"metadata": "0x",
"partiallyFillable": False,
"partnerAddress": "<string>",
"partnerFeeBps": 0,
"partnerTakesSurplus": False,
"capSurplus": True,
"orderType": "Order",
"handler": "<string>",
"data": "<string>",
"strategy": "<string>",
"useShares": True,
"interval": 61,
"numSlices": 3,
"totalSrcAmount": "<string>",
"totalDestAmount": "<string>",
"maxSrcAmount": "<string>"
}
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({
route: {
origin: {
input: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
},
output: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
}
},
destination: {
input: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
},
output: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
}
},
bridge: {
protocol: '<string>',
estimatedTimeMs: 123,
tags: [],
contractParams: {
protocolSelector: '<string>',
outputToken: '<string>',
scalingFactor: 123,
protocolData: '<string>'
}
},
fees: {
gas: {
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
},
bridge: [
{
token: {chainId: 123, address: '<string>'},
amount: '<string>',
amountUSD: '<string>'
}
]
}
},
owner: '<string>',
deadline: 123,
side: 'SELL',
beneficiary: '<string>',
nonce: '<string>',
permit: '<string>',
slippage: 100,
limitAmount: '<string>',
metadata: '0x',
partiallyFillable: false,
partnerAddress: '<string>',
partnerFeeBps: 0,
partnerTakesSurplus: false,
capSurplus: true,
orderType: 'Order',
handler: '<string>',
data: '<string>',
strategy: '<string>',
useShares: true,
interval: 61,
numSlices: 3,
totalSrcAmount: '<string>',
totalDestAmount: '<string>',
maxSrcAmount: '<string>'
})
};
fetch('https://api.velora.xyz/v2/delta/orders/build', 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/delta/orders/build",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'route' => [
'origin' => [
'input' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
],
'output' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
]
],
'destination' => [
'input' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
],
'output' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
]
],
'bridge' => [
'protocol' => '<string>',
'estimatedTimeMs' => 123,
'tags' => [
],
'contractParams' => [
'protocolSelector' => '<string>',
'outputToken' => '<string>',
'scalingFactor' => 123,
'protocolData' => '<string>'
]
],
'fees' => [
'gas' => [
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
],
'bridge' => [
[
'token' => [
'chainId' => 123,
'address' => '<string>'
],
'amount' => '<string>',
'amountUSD' => '<string>'
]
]
]
],
'owner' => '<string>',
'deadline' => 123,
'side' => 'SELL',
'beneficiary' => '<string>',
'nonce' => '<string>',
'permit' => '<string>',
'slippage' => 100,
'limitAmount' => '<string>',
'metadata' => '0x',
'partiallyFillable' => false,
'partnerAddress' => '<string>',
'partnerFeeBps' => 0,
'partnerTakesSurplus' => false,
'capSurplus' => true,
'orderType' => 'Order',
'handler' => '<string>',
'data' => '<string>',
'strategy' => '<string>',
'useShares' => true,
'interval' => 61,
'numSlices' => 3,
'totalSrcAmount' => '<string>',
'totalDestAmount' => '<string>',
'maxSrcAmount' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.velora.xyz/v2/delta/orders/build"
payload := strings.NewReader("{\n \"route\": {\n \"origin\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"destination\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"bridge\": {\n \"protocol\": \"<string>\",\n \"estimatedTimeMs\": 123,\n \"tags\": [],\n \"contractParams\": {\n \"protocolSelector\": \"<string>\",\n \"outputToken\": \"<string>\",\n \"scalingFactor\": 123,\n \"protocolData\": \"<string>\"\n }\n },\n \"fees\": {\n \"gas\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"bridge\": [\n {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n ]\n }\n },\n \"owner\": \"<string>\",\n \"deadline\": 123,\n \"side\": \"SELL\",\n \"beneficiary\": \"<string>\",\n \"nonce\": \"<string>\",\n \"permit\": \"<string>\",\n \"slippage\": 100,\n \"limitAmount\": \"<string>\",\n \"metadata\": \"0x\",\n \"partiallyFillable\": false,\n \"partnerAddress\": \"<string>\",\n \"partnerFeeBps\": 0,\n \"partnerTakesSurplus\": false,\n \"capSurplus\": true,\n \"orderType\": \"Order\",\n \"handler\": \"<string>\",\n \"data\": \"<string>\",\n \"strategy\": \"<string>\",\n \"useShares\": true,\n \"interval\": 61,\n \"numSlices\": 3,\n \"totalSrcAmount\": \"<string>\",\n \"totalDestAmount\": \"<string>\",\n \"maxSrcAmount\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.velora.xyz/v2/delta/orders/build")
.header("Content-Type", "application/json")
.body("{\n \"route\": {\n \"origin\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"destination\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"bridge\": {\n \"protocol\": \"<string>\",\n \"estimatedTimeMs\": 123,\n \"tags\": [],\n \"contractParams\": {\n \"protocolSelector\": \"<string>\",\n \"outputToken\": \"<string>\",\n \"scalingFactor\": 123,\n \"protocolData\": \"<string>\"\n }\n },\n \"fees\": {\n \"gas\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"bridge\": [\n {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n ]\n }\n },\n \"owner\": \"<string>\",\n \"deadline\": 123,\n \"side\": \"SELL\",\n \"beneficiary\": \"<string>\",\n \"nonce\": \"<string>\",\n \"permit\": \"<string>\",\n \"slippage\": 100,\n \"limitAmount\": \"<string>\",\n \"metadata\": \"0x\",\n \"partiallyFillable\": false,\n \"partnerAddress\": \"<string>\",\n \"partnerFeeBps\": 0,\n \"partnerTakesSurplus\": false,\n \"capSurplus\": true,\n \"orderType\": \"Order\",\n \"handler\": \"<string>\",\n \"data\": \"<string>\",\n \"strategy\": \"<string>\",\n \"useShares\": true,\n \"interval\": 61,\n \"numSlices\": 3,\n \"totalSrcAmount\": \"<string>\",\n \"totalDestAmount\": \"<string>\",\n \"maxSrcAmount\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.velora.xyz/v2/delta/orders/build")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"route\": {\n \"origin\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"destination\": {\n \"input\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"output\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n },\n \"bridge\": {\n \"protocol\": \"<string>\",\n \"estimatedTimeMs\": 123,\n \"tags\": [],\n \"contractParams\": {\n \"protocolSelector\": \"<string>\",\n \"outputToken\": \"<string>\",\n \"scalingFactor\": 123,\n \"protocolData\": \"<string>\"\n }\n },\n \"fees\": {\n \"gas\": {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n },\n \"bridge\": [\n {\n \"token\": {\n \"chainId\": 123,\n \"address\": \"<string>\"\n },\n \"amount\": \"<string>\",\n \"amountUSD\": \"<string>\"\n }\n ]\n }\n },\n \"owner\": \"<string>\",\n \"deadline\": 123,\n \"side\": \"SELL\",\n \"beneficiary\": \"<string>\",\n \"nonce\": \"<string>\",\n \"permit\": \"<string>\",\n \"slippage\": 100,\n \"limitAmount\": \"<string>\",\n \"metadata\": \"0x\",\n \"partiallyFillable\": false,\n \"partnerAddress\": \"<string>\",\n \"partnerFeeBps\": 0,\n \"partnerTakesSurplus\": false,\n \"capSurplus\": true,\n \"orderType\": \"Order\",\n \"handler\": \"<string>\",\n \"data\": \"<string>\",\n \"strategy\": \"<string>\",\n \"useShares\": true,\n \"interval\": 61,\n \"numSlices\": 3,\n \"totalSrcAmount\": \"<string>\",\n \"totalDestAmount\": \"<string>\",\n \"maxSrcAmount\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"toSign": {
"domain": {
"name": "<string>",
"version": "<string>",
"chainId": 123,
"verifyingContract": "<string>"
},
"types": {},
"value": {}
},
"orderHash": "<string>"
}Body
Pass the unmodified route from GET /v2/delta/prices. The chain ID is derived from the route.
Show child attributes
Show child attributes
Required. Unix seconds after which the order is unfillable.
SELL, BUY Defaults to owner.
Permit / Permit2 payload, or 0x if approved on-chain.
Slippage in basis points.
0 <= x <= 10000Override the SDK-computed destAmount (SELL) / srcAmount (BUY).
Defaults to zero address.
0 <= x <= 200Order, ProductiveOrder, ExternalOrder, TWAPOrder, TWAPBuyOrder Required for ExternalOrder.
Required for ExternalOrder. Handler-specific encoded bytes.
Required for ProductiveOrder.
Required for TWAP. Slice interval in seconds.
x >= 60Required for TWAP.
x >= 2Required for TWAPOrder. route.origin.input.amount must equal floor(totalSrcAmount / numSlices).
Required for TWAPBuyOrder. route.origin.output.amount must equal floor(totalDestAmount / numSlices).
Required for TWAPBuyOrder. Maximum total source the user is willing to spend.
Was this page helpful?