Get quote
curl --request POST \
--url https://integration-api.meshconnect.com/api/v1/bridging/quote \
--header 'Content-Type: application/json' \
--header 'X-Client-Id: <api-key>' \
--header 'X-Client-Secret: <api-key>' \
--data '
{
"origin": {
"network": "<string>",
"asset": "<string>"
},
"destination": {
"network": "<string>",
"asset": "<string>",
"address": "<string>"
},
"amount": 500000000
}
'import requests
url = "https://integration-api.meshconnect.com/api/v1/bridging/quote"
payload = {
"origin": {
"network": "<string>",
"asset": "<string>"
},
"destination": {
"network": "<string>",
"asset": "<string>",
"address": "<string>"
},
"amount": 500000000
}
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({
origin: {network: '<string>', asset: '<string>'},
destination: {network: '<string>', asset: '<string>', address: '<string>'},
amount: 500000000
})
};
fetch('https://integration-api.meshconnect.com/api/v1/bridging/quote', 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/quote",
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([
'origin' => [
'network' => '<string>',
'asset' => '<string>'
],
'destination' => [
'network' => '<string>',
'asset' => '<string>',
'address' => '<string>'
],
'amount' => 500000000
]),
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/quote"
payload := strings.NewReader("{\n \"origin\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n },\n \"destination\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\",\n \"address\": \"<string>\"\n },\n \"amount\": 500000000\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/quote")
.header("X-Client-Secret", "<api-key>")
.header("X-Client-Id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n },\n \"destination\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\",\n \"address\": \"<string>\"\n },\n \"amount\": 500000000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://integration-api.meshconnect.com/api/v1/bridging/quote")
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 \"origin\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n },\n \"destination\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\",\n \"address\": \"<string>\"\n },\n \"amount\": 500000000\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"message": "<string>",
"displayMessage": "<string>",
"errorHash": "<string>",
"teamCode": "<string>",
"errorType": "<string>",
"errorData": null,
"content": {
"origin": {
"network": "<string>",
"asset": "<string>",
"amount": 123
},
"destination": {
"network": "<string>",
"asset": "<string>",
"address": "<string>",
"estimatedAmount": 123,
"minimumAmount": 123
},
"fees": {
"items": [
{
"label": "<string>",
"asset": "<string>",
"kind": "originGas",
"amount": 123,
"amountUsd": 123,
"includedInEstimate": true
}
],
"totalUsd": 123
},
"constraints": {
"minimumAmount": "<string>",
"maximumAmount": "<string>"
},
"warnings": [
"<string>"
],
"rate": 123,
"quotedAt": 123
}
}{
"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/quote.
Prices a bridge for a caller-supplied pay-in amount without minting a deposit address or creating a
transfer. Call it while the end user is still choosing an amount; call POST /api/v1/bridging/address
only once they confirm.
The result is indicative. The deposit address returned by /address accepts any amount and the
bridge provider prices what actually arrives at fill time.
The pay-in leg: network and asset that will be sent to the bridging address. Must match a configured route from deposit or withdrawal route discovery.
Show child attributes
Show child attributes
The payout leg: network, asset, and the address that will receive the bridged funds. Must match a route from deposit or withdrawal route discovery together with Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteRequest.Origin.
Show child attributes
Show child attributes
Amount to be sent, denominated in the Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteRequest.Origin asset (e.g. 100 for 100 USDC).
Must be greater than zero and at most 1,000,000,000.
1e-18 <= x <= 1000000000Response
Quote produced.
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/quote.
An indicative price for bridging Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteResponse.Origin into Org.Front.Core.Contracts.Models.Bridging.Headless.GetBridgingQuoteResponse.Destination. Nothing is persisted and no deposit address is created. Amounts are in the respective leg's asset.
Show child attributes
Show child attributes
Was this page helpful?
curl --request POST \
--url https://integration-api.meshconnect.com/api/v1/bridging/quote \
--header 'Content-Type: application/json' \
--header 'X-Client-Id: <api-key>' \
--header 'X-Client-Secret: <api-key>' \
--data '
{
"origin": {
"network": "<string>",
"asset": "<string>"
},
"destination": {
"network": "<string>",
"asset": "<string>",
"address": "<string>"
},
"amount": 500000000
}
'import requests
url = "https://integration-api.meshconnect.com/api/v1/bridging/quote"
payload = {
"origin": {
"network": "<string>",
"asset": "<string>"
},
"destination": {
"network": "<string>",
"asset": "<string>",
"address": "<string>"
},
"amount": 500000000
}
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({
origin: {network: '<string>', asset: '<string>'},
destination: {network: '<string>', asset: '<string>', address: '<string>'},
amount: 500000000
})
};
fetch('https://integration-api.meshconnect.com/api/v1/bridging/quote', 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/quote",
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([
'origin' => [
'network' => '<string>',
'asset' => '<string>'
],
'destination' => [
'network' => '<string>',
'asset' => '<string>',
'address' => '<string>'
],
'amount' => 500000000
]),
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/quote"
payload := strings.NewReader("{\n \"origin\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n },\n \"destination\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\",\n \"address\": \"<string>\"\n },\n \"amount\": 500000000\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/quote")
.header("X-Client-Secret", "<api-key>")
.header("X-Client-Id", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"origin\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n },\n \"destination\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\",\n \"address\": \"<string>\"\n },\n \"amount\": 500000000\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://integration-api.meshconnect.com/api/v1/bridging/quote")
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 \"origin\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\"\n },\n \"destination\": {\n \"network\": \"<string>\",\n \"asset\": \"<string>\",\n \"address\": \"<string>\"\n },\n \"amount\": 500000000\n}"
response = http.request(request)
puts response.read_body{
"status": "ok",
"message": "<string>",
"displayMessage": "<string>",
"errorHash": "<string>",
"teamCode": "<string>",
"errorType": "<string>",
"errorData": null,
"content": {
"origin": {
"network": "<string>",
"asset": "<string>",
"amount": 123
},
"destination": {
"network": "<string>",
"asset": "<string>",
"address": "<string>",
"estimatedAmount": 123,
"minimumAmount": 123
},
"fees": {
"items": [
{
"label": "<string>",
"asset": "<string>",
"kind": "originGas",
"amount": 123,
"amountUsd": 123,
"includedInEstimate": true
}
],
"totalUsd": 123
},
"constraints": {
"minimumAmount": "<string>",
"maximumAmount": "<string>"
},
"warnings": [
"<string>"
],
"rate": 123,
"quotedAt": 123
}
}{
"status": "ok",
"message": "",
"errorHash": "1cbbee0c",
"teamCode": "P4",
"errorType": ""
}{
"status": "ok",
"message": "",
"errorHash": "1cbbee0c",
"teamCode": "P4",
"errorType": ""
}