Get deposit routes
curl --request POST \
--url https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit \
--header 'Content-Type: application/json' \
--header 'X-Client-Id: <api-key>' \
--header 'X-Client-Secret: <api-key>' \
--data '
{
"destinations": [
{
"network": "<string>",
"asset": "<string>"
}
],
"optimized": true
}
'import requests
url = "https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit"
payload = {
"destinations": [
{
"network": "<string>",
"asset": "<string>"
}
],
"optimized": True
}
headers = {
"X-Client-Secret": "<api-key>",
"X-Client-Id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Client-Secret': '<api-key>',
'X-Client-Id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({destinations: [{network: '<string>', asset: '<string>'}], optimized: true})
};
fetch('https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit', 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://integration-api.meshconnect.com/api/v1/bridging/routes/deposit",
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([
'destinations' => [
[
'network' => '<string>',
'asset' => '<string>'
]
],
'optimized' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Client-Id: <api-key>",
"X-Client-Secret: <api-key>"
],
]);
$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://integration-api.meshconnect.com/api/v1/bridging/routes/deposit"
payload := strings.NewReader("{\n \"destinations\": [\n {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n }\n ],\n \"optimized\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-Client-Id", "<api-key>")
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://integration-api.meshconnect.com/api/v1/bridging/routes/deposit")
.header("X-Client-Secret", "<api-key>")
.header("X-Client-Id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"destinations\": [\n {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n }\n ],\n \"optimized\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Client-Secret"] = '<api-key>'
request["X-Client-Id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destinations\": [\n {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n }\n ],\n \"optimized\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"message": "<string>",
"displayMessage": "<string>",
"errorHash": "<string>",
"teamCode": "<string>",
"errorType": "<string>",
"errorData": null,
"content": {
"routes": [
{
"origin": {
"network": "<string>",
"asset": "<string>"
},
"destination": {
"network": "<string>",
"asset": "<string>"
},
"displayName": "<string>"
}
]
}
}{
"status": "ok",
"message": "",
"errorHash": "1cbbee0c",
"teamCode": "P4",
"errorType": ""
}{
"status": "ok",
"message": "",
"errorHash": "1cbbee0c",
"teamCode": "P4",
"errorType": ""
}Authorizations
Contact Mesh to get client Secret
Contact Mesh to get client Id
Body
Request body for POST /api/v1/bridging/routes/deposit — discover pay-in (source) options for fixed payout destinations.
Destination networks and assets Mesh should match against configured bridging directions (CAIP-2 network + symbol per entry). At least one is required.
1Show child attributes
Show child attributes
When true (default), return at most one destination per distinct source. When false, return every matching origin→destination pair.
Response
Routes retrieved successfully. An empty routes array means no routes are currently available for the given destinations.
ok, serverFailure, permissionDenied, badRequest, notFound, conflict, tooManyRequest, locked, unavailableForLegalReasons A message generated by the API
User-friendly display message that can be presented to the end user
An error grouping hash from string components and caller information. Used by bugsnag on FE for correct error grouping
Opaque team code for error routing. Resolved from exception origin or caller file path via CODEOWNERS. Format: 2-character code (e.g., "7K", "M2"). Use for alerting/routing, not display.
Strictly-typed error type that is explaining the reason of an unsuccessful status of the operation. All possible error types are available in the documentation.
Response body for POST /api/v1/bridging/routes/deposit and POST /api/v1/bridging/routes/withdrawal.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit \
--header 'Content-Type: application/json' \
--header 'X-Client-Id: <api-key>' \
--header 'X-Client-Secret: <api-key>' \
--data '
{
"destinations": [
{
"network": "<string>",
"asset": "<string>"
}
],
"optimized": true
}
'import requests
url = "https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit"
payload = {
"destinations": [
{
"network": "<string>",
"asset": "<string>"
}
],
"optimized": True
}
headers = {
"X-Client-Secret": "<api-key>",
"X-Client-Id": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {
'X-Client-Secret': '<api-key>',
'X-Client-Id': '<api-key>',
'Content-Type': 'application/json'
},
body: JSON.stringify({destinations: [{network: '<string>', asset: '<string>'}], optimized: true})
};
fetch('https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit', 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://integration-api.meshconnect.com/api/v1/bridging/routes/deposit",
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([
'destinations' => [
[
'network' => '<string>',
'asset' => '<string>'
]
],
'optimized' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-Client-Id: <api-key>",
"X-Client-Secret: <api-key>"
],
]);
$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://integration-api.meshconnect.com/api/v1/bridging/routes/deposit"
payload := strings.NewReader("{\n \"destinations\": [\n {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n }\n ],\n \"optimized\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-Client-Secret", "<api-key>")
req.Header.Add("X-Client-Id", "<api-key>")
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://integration-api.meshconnect.com/api/v1/bridging/routes/deposit")
.header("X-Client-Secret", "<api-key>")
.header("X-Client-Id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"destinations\": [\n {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n }\n ],\n \"optimized\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://integration-api.meshconnect.com/api/v1/bridging/routes/deposit")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-Client-Secret"] = '<api-key>'
request["X-Client-Id"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"destinations\": [\n {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n }\n ],\n \"optimized\": true\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"message": "<string>",
"displayMessage": "<string>",
"errorHash": "<string>",
"teamCode": "<string>",
"errorType": "<string>",
"errorData": null,
"content": {
"routes": [
{
"origin": {
"network": "<string>",
"asset": "<string>"
},
"destination": {
"network": "<string>",
"asset": "<string>"
},
"displayName": "<string>"
}
]
}
}{
"status": "ok",
"message": "",
"errorHash": "1cbbee0c",
"teamCode": "P4",
"errorType": ""
}{
"status": "ok",
"message": "",
"errorHash": "1cbbee0c",
"teamCode": "P4",
"errorType": ""
}