Add Network Pool
curl --request POST \
--url http://localhost:8000/gateway/networks/{network_id}/pools \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"connector_name": "<string>",
"type": "<string>",
"address": "<string>",
"base": "<string>",
"quote": "<string>",
"base_address": "<string>",
"quote_address": "<string>",
"network": "<string>",
"fee_pct": 123
}
'import requests
url = "http://localhost:8000/gateway/networks/{network_id}/pools"
payload = {
"connector_name": "<string>",
"type": "<string>",
"address": "<string>",
"base": "<string>",
"quote": "<string>",
"base_address": "<string>",
"quote_address": "<string>",
"network": "<string>",
"fee_pct": 123
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
connector_name: '<string>',
type: '<string>',
address: '<string>',
base: '<string>',
quote: '<string>',
base_address: '<string>',
quote_address: '<string>',
network: '<string>',
fee_pct: 123
})
};
fetch('http://localhost:8000/gateway/networks/{network_id}/pools', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/gateway/networks/{network_id}/pools",
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([
'connector_name' => '<string>',
'type' => '<string>',
'address' => '<string>',
'base' => '<string>',
'quote' => '<string>',
'base_address' => '<string>',
'quote_address' => '<string>',
'network' => '<string>',
'fee_pct' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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 := "http://localhost:8000/gateway/networks/{network_id}/pools"
payload := strings.NewReader("{\n \"connector_name\": \"<string>\",\n \"type\": \"<string>\",\n \"address\": \"<string>\",\n \"base\": \"<string>\",\n \"quote\": \"<string>\",\n \"base_address\": \"<string>\",\n \"quote_address\": \"<string>\",\n \"network\": \"<string>\",\n \"fee_pct\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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("http://localhost:8000/gateway/networks/{network_id}/pools")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"connector_name\": \"<string>\",\n \"type\": \"<string>\",\n \"address\": \"<string>\",\n \"base\": \"<string>\",\n \"quote\": \"<string>\",\n \"base_address\": \"<string>\",\n \"quote_address\": \"<string>\",\n \"network\": \"<string>\",\n \"fee_pct\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/gateway/networks/{network_id}/pools")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connector_name\": \"<string>\",\n \"type\": \"<string>\",\n \"address\": \"<string>\",\n \"base\": \"<string>\",\n \"quote\": \"<string>\",\n \"base_address\": \"<string>\",\n \"quote_address\": \"<string>\",\n \"network\": \"<string>\",\n \"fee_pct\": 123\n}"
response = http.request(request)
puts response.read_body{}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Gateway
Add Network Pool
Add a custom pool to Gateway's pool list for a specific network.
Args:
network_id: Network ID in format 'chain-network' (e.g., 'solana-mainnet-beta', 'ethereum-mainnet')
pool_request: Pool details (connector, type, base, quote, address, etc.)
Example: POST /gateway/networks/solana-mainnet-beta/pools
{
"connector_name": "raydium",
"type": "clmm",
"base": "SOL",
"quote": "USDC",
"address": "58oQChx4yWmvKdwLLZzBi4ChoCc2fqCUWBkwMihLYQo2",
"base_address": "So11111111111111111111111111111111111111112",
"quote_address": "EPjFWdd5AufqSSqeM2qN1xzybapC8G4wEGGkZwyTDt1v",
"fee_pct": 0.25
}
No Gateway restart is needed: the pool list is read off disk per request, so the
pool is listed and priced as soon as this returns.
POST
/
gateway
/
networks
/
{network_id}
/
pools
Add Network Pool
curl --request POST \
--url http://localhost:8000/gateway/networks/{network_id}/pools \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"connector_name": "<string>",
"type": "<string>",
"address": "<string>",
"base": "<string>",
"quote": "<string>",
"base_address": "<string>",
"quote_address": "<string>",
"network": "<string>",
"fee_pct": 123
}
'import requests
url = "http://localhost:8000/gateway/networks/{network_id}/pools"
payload = {
"connector_name": "<string>",
"type": "<string>",
"address": "<string>",
"base": "<string>",
"quote": "<string>",
"base_address": "<string>",
"quote_address": "<string>",
"network": "<string>",
"fee_pct": 123
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
connector_name: '<string>',
type: '<string>',
address: '<string>',
base: '<string>',
quote: '<string>',
base_address: '<string>',
quote_address: '<string>',
network: '<string>',
fee_pct: 123
})
};
fetch('http://localhost:8000/gateway/networks/{network_id}/pools', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_PORT => "8000",
CURLOPT_URL => "http://localhost:8000/gateway/networks/{network_id}/pools",
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([
'connector_name' => '<string>',
'type' => '<string>',
'address' => '<string>',
'base' => '<string>',
'quote' => '<string>',
'base_address' => '<string>',
'quote_address' => '<string>',
'network' => '<string>',
'fee_pct' => 123
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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 := "http://localhost:8000/gateway/networks/{network_id}/pools"
payload := strings.NewReader("{\n \"connector_name\": \"<string>\",\n \"type\": \"<string>\",\n \"address\": \"<string>\",\n \"base\": \"<string>\",\n \"quote\": \"<string>\",\n \"base_address\": \"<string>\",\n \"quote_address\": \"<string>\",\n \"network\": \"<string>\",\n \"fee_pct\": 123\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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("http://localhost:8000/gateway/networks/{network_id}/pools")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"connector_name\": \"<string>\",\n \"type\": \"<string>\",\n \"address\": \"<string>\",\n \"base\": \"<string>\",\n \"quote\": \"<string>\",\n \"base_address\": \"<string>\",\n \"quote_address\": \"<string>\",\n \"network\": \"<string>\",\n \"fee_pct\": 123\n}")
.asString();require 'uri'
require 'net/http'
url = URI("http://localhost:8000/gateway/networks/{network_id}/pools")
http = Net::HTTP.new(url.host, url.port)
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"connector_name\": \"<string>\",\n \"type\": \"<string>\",\n \"address\": \"<string>\",\n \"base\": \"<string>\",\n \"quote\": \"<string>\",\n \"base_address\": \"<string>\",\n \"quote_address\": \"<string>\",\n \"network\": \"<string>\",\n \"fee_pct\": 123\n}"
response = http.request(request)
puts response.read_body{}{
"detail": [
{
"loc": [
"<string>"
],
"msg": "<string>",
"type": "<string>",
"input": "<unknown>",
"ctx": {}
}
]
}Authorizations
Basic authentication header of the form Basic <encoded-value>, where <encoded-value> is the base64-encoded string username:password.
Path Parameters
Body
application/json
Request to add a liquidity pool
DEX connector name (e.g., 'raydium', 'meteora')
Pool type ('clmm' or 'amm')
Pool contract address
Base token symbol
Quote token symbol
Base token contract address
Quote token contract address
Network name (e.g., 'mainnet-beta') - optional for /networks/{network_id}/pools
Pool fee percentage (e.g., 0.25)
Response
Successful Response
The response is of type Response Add Network Pool Gateway Networks Network Id Pools Post · object.
Was this page helpful?

