curl --request GET \
--url https://calibri.io/api/v2/atlas/account/bridge/config \
--header 'X-Auth-Apikey: <api-key>'import requests
url = "https://calibri.io/api/v2/atlas/account/bridge/config"
headers = {"X-Auth-Apikey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Auth-Apikey': '<api-key>'}};
fetch('https://calibri.io/api/v2/atlas/account/bridge/config', 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://calibri.io/api/v2/atlas/account/bridge/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Auth-Apikey: <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"
"net/http"
"io"
)
func main() {
url := "https://calibri.io/api/v2/atlas/account/bridge/config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Auth-Apikey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://calibri.io/api/v2/atlas/account/bridge/config")
.header("X-Auth-Apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://calibri.io/api/v2/atlas/account/bridge/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Auth-Apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"address": "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed",
"chains": [
{
"chain_id": 1,
"deposits_enabled": true,
"eta_minutes": 17,
"explorer_address": "https://etherscan.io/address/#{address}",
"explorer_transaction": "https://etherscan.io/tx/#{txid}",
"fee_cap_abs": "10",
"fee_cap_bps": 2000,
"fee_estimate": "1.84",
"key": "ethereum",
"min_amount": "20",
"name": "Ethereum",
"withdraw_min_amount": "20",
"withdraw_min_fee": "3",
"withdrawals_enabled": true
}
],
"custodial_address": null,
"polygon": {
"chain_id": 137,
"explorer_address": "https://polygonscan.com/address/#{address}",
"explorer_transaction": "https://polygonscan.com/tx/#{txid}"
},
"reason": null
}Cross-chain deposit config
The chains you can deposit USDC from besides Polygon, each with its minimum, typical time to credit and current fee estimate, plus your deposit address (the same on every chain). USDC sent to that address on a listed chain is bridged to Polygon and credited automatically. Only USDC, and only on the listed chains.
curl --request GET \
--url https://calibri.io/api/v2/atlas/account/bridge/config \
--header 'X-Auth-Apikey: <api-key>'import requests
url = "https://calibri.io/api/v2/atlas/account/bridge/config"
headers = {"X-Auth-Apikey": "<api-key>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {'X-Auth-Apikey': '<api-key>'}};
fetch('https://calibri.io/api/v2/atlas/account/bridge/config', 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://calibri.io/api/v2/atlas/account/bridge/config",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"X-Auth-Apikey: <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"
"net/http"
"io"
)
func main() {
url := "https://calibri.io/api/v2/atlas/account/bridge/config"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("X-Auth-Apikey", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://calibri.io/api/v2/atlas/account/bridge/config")
.header("X-Auth-Apikey", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://calibri.io/api/v2/atlas/account/bridge/config")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["X-Auth-Apikey"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"address": "0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed",
"chains": [
{
"chain_id": 1,
"deposits_enabled": true,
"eta_minutes": 17,
"explorer_address": "https://etherscan.io/address/#{address}",
"explorer_transaction": "https://etherscan.io/tx/#{txid}",
"fee_cap_abs": "10",
"fee_cap_bps": 2000,
"fee_estimate": "1.84",
"key": "ethereum",
"min_amount": "20",
"name": "Ethereum",
"withdraw_min_amount": "20",
"withdraw_min_fee": "3",
"withdrawals_enabled": true
}
],
"custodial_address": null,
"polygon": {
"chain_id": 137,
"explorer_address": "https://polygonscan.com/address/#{address}",
"explorer_transaction": "https://polygonscan.com/tx/#{txid}"
},
"reason": null
}Authorizations
HMAC-signed API key. Send X-Auth-Apikey, X-Auth-Nonce and X-Auth-Signature.
Response
Your Safe, checksummed — the same address on every supported chain. Send USDC here on any listed chain. null when there is no address you can safely deposit to from another chain; reason says why.
"0x5aAeb6053F3E94C9b9A09f33669435E7Ef1BeAed"
Chains you can deposit from (deposits_enabled) or withdraw to (withdrawals_enabled). Deposit chains are listed only when address is set, and a chain is not offered for deposits when a deposit from it to your address cannot currently be confirmed to work. Every active chain that takes withdrawals is listed, whether or not it is offered for deposits.
Show child attributes
Show child attributes
Your custodial deposit address, if you have one (same on every chain).
null
Polygon, the chain your wallet is on: its chain id and explorer templates.
Show child attributes
Show child attributes
null when the addresses are shown. Otherwise why they are not: not_supported_for_this_wallet (deposits from other chains cannot reach this wallet), quote_unavailable (temporarily — try again shortly), no_deposit_address (no wallet set up yet), or another code from the relayer.
null