A minimal Go program that calls GET /v2/quote?mode=DELTA and prints the recommended route’s expected output and the spender from the returned delta block. Standard library only.
File tree
my-app/
├─ go.mod
└─ main.go
Install
mkdir my-app && cd my-app
go mod init example.com/my-app
main.go
package main
import (
"encoding/json"
"fmt"
"net/http"
"net/url"
)
func main() {
params := url.Values{
"srcToken": {"0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE"}, // ETH
"destToken": {"0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"}, // USDC
"amount": {"1000000000000000000"}, // 1 ETH
"srcDecimals": {"18"},
"destDecimals": {"6"},
"side": {"SELL"},
"chainId": {"1"},
"mode": {"DELTA"},
"userAddress": {"0xd8dA6BF26964aF9D7eEd9e03E53415D37aA96045"},
"partner": {"my-app-name"},
}
res, err := http.Get("https://api.velora.xyz/v2/quote?" + params.Encode())
if err != nil {
panic(err)
}
defer res.Body.Close()
if res.StatusCode != http.StatusOK {
panic(fmt.Sprintf("HTTP %d", res.StatusCode))
}
var body struct {
Delta struct {
Route struct {
Origin struct {
Output struct {
Amount string `json:"amount"`
} `json:"output"`
} `json:"origin"`
} `json:"route"`
Spender string `json:"spender"`
} `json:"delta"`
}
if err := json.NewDecoder(res.Body).Decode(&body); err != nil {
panic(err)
}
fmt.Println("expected output:", body.Delta.Route.Origin.Output.Amount)
fmt.Println("spender: ", body.Delta.Spender)
}
Run it
You should see the recommended route’s expected output (USDC, 6 decimals) and the spender address to approve before building the order.
Next: build, sign, submit
Pass the unmodified delta.route into POST /v2/delta/orders/build (with owner set to the user address) to get EIP-712 typed data back as { toSign, orderHash }. Sign toSign with an ERC-2098 compact signature, then POST /v2/delta/orders with order (the toSign.value), the signature, chainId, and your partner. Poll GET /v2/delta/orders/{orderId} for status. See Delta → How it works.
Pass delta.route verbatim to /v2/delta/orders/build. Reordering or re-encoding it will cause the build call to reject.
Related pages