cURL
curl --request POST \
--url https://api.bestflow.xyz/swap \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"from": "<string>",
"to": "<string>",
"fromNetwork": "<string>",
"toNetwork": "<string>",
"toAddress": "<string>",
"amount": 123,
"memo": "<string>"
}
'import requests
url = "https://api.bestflow.xyz/swap"
payload = {
"from": "<string>",
"to": "<string>",
"fromNetwork": "<string>",
"toNetwork": "<string>",
"toAddress": "<string>",
"amount": 123,
"memo": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '<string>',
to: '<string>',
fromNetwork: '<string>',
toNetwork: '<string>',
toAddress: '<string>',
amount: 123,
memo: '<string>'
})
};
fetch('https://api.bestflow.xyz/swap', 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.bestflow.xyz/swap",
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([
'from' => '<string>',
'to' => '<string>',
'fromNetwork' => '<string>',
'toNetwork' => '<string>',
'toAddress' => '<string>',
'amount' => 123,
'memo' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.bestflow.xyz/swap"
payload := strings.NewReader("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"fromNetwork\": \"<string>\",\n \"toNetwork\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"amount\": 123,\n \"memo\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.bestflow.xyz/swap")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"fromNetwork\": \"<string>\",\n \"toNetwork\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"amount\": 123,\n \"memo\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bestflow.xyz/swap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"fromNetwork\": \"<string>\",\n \"toNetwork\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"amount\": 123,\n \"memo\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"from": "<string>",
"to": "<string>",
"fromNetwork": "<string>",
"toNetwork": "<string>",
"sendAmount": 123,
"sendAddress": "<string>",
"sendMemo": "<string>"
}{
"message": "<string>"
}{
"error": "UNAUTHORIZED",
"message": "Invalid API key"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"error": "SERVICE_UNAVAILABLE",
"message": "Auth service unavailable"
}Endpoints
Create Swap
Creates a new cryptocurrency swap on the specified exchange
POST
/
swap
cURL
curl --request POST \
--url https://api.bestflow.xyz/swap \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"from": "<string>",
"to": "<string>",
"fromNetwork": "<string>",
"toNetwork": "<string>",
"toAddress": "<string>",
"amount": 123,
"memo": "<string>"
}
'import requests
url = "https://api.bestflow.xyz/swap"
payload = {
"from": "<string>",
"to": "<string>",
"fromNetwork": "<string>",
"toNetwork": "<string>",
"toAddress": "<string>",
"amount": 123,
"memo": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
from: '<string>',
to: '<string>',
fromNetwork: '<string>',
toNetwork: '<string>',
toAddress: '<string>',
amount: 123,
memo: '<string>'
})
};
fetch('https://api.bestflow.xyz/swap', 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.bestflow.xyz/swap",
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([
'from' => '<string>',
'to' => '<string>',
'fromNetwork' => '<string>',
'toNetwork' => '<string>',
'toAddress' => '<string>',
'amount' => 123,
'memo' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"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.bestflow.xyz/swap"
payload := strings.NewReader("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"fromNetwork\": \"<string>\",\n \"toNetwork\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"amount\": 123,\n \"memo\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
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.bestflow.xyz/swap")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"fromNetwork\": \"<string>\",\n \"toNetwork\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"amount\": 123,\n \"memo\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.bestflow.xyz/swap")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"from\": \"<string>\",\n \"to\": \"<string>\",\n \"fromNetwork\": \"<string>\",\n \"toNetwork\": \"<string>\",\n \"toAddress\": \"<string>\",\n \"amount\": 123,\n \"memo\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"id": "<string>",
"from": "<string>",
"to": "<string>",
"fromNetwork": "<string>",
"toNetwork": "<string>",
"sendAmount": 123,
"sendAddress": "<string>",
"sendMemo": "<string>"
}{
"message": "<string>"
}{
"error": "UNAUTHORIZED",
"message": "Invalid API key"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"message": "<string>"
}{
"error": "SERVICE_UNAVAILABLE",
"message": "Auth service unavailable"
}Authorizations
Optional Bearer authentication using an API key provided as a Bearer token. Required for unlimited requests and revenue sharing.
Body
application/json
Swap creation details
Exchange to use for the swap
Available options:
swapter, etzswap, pegasusswap Source currency ticker
Destination currency ticker
Source network identifier
Destination network identifier
Destination wallet address
Amount to swap
Optional memo/tag for destination address
Response
Swap created successfully
Unique identifier for the swap
Source currency ticker
Destination currency ticker
Source network identifier
Destination network identifier
Amount to send to complete the swap
Deposit address to send funds to
Memo/tag for the deposit; null when not required or not provided
⌘I
