curl --request GET \
--url https://sandbox-api.polygon.technology/v0.13/networks \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.polygon.technology/v0.13/networks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.polygon.technology/v0.13/networks', 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://sandbox-api.polygon.technology/v0.13/networks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://sandbox-api.polygon.technology/v0.13/networks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.polygon.technology/v0.13/networks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/networks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"network": "<string>",
"category": "crypto",
"type": "blockchain",
"displayName": "<string>",
"assets": [
{
"asset": "<string>",
"contractAddress": "<string>",
"decimals": 123
}
],
"supportedBy": {
"externalAccount": {
"asSource": [
"<string>"
],
"asDestination": [
"<string>"
]
},
"depositAddress": {
"asSource": true,
"asDestination": true
},
"virtualAccount": {
"asSource": true,
"asDestination": true
},
"cashIn": {
"asSource": true,
"asDestination": true
},
"wallet": {
"asSource": true,
"asDestination": true
}
},
"chainId": 123,
"networkFamily": "evm"
}
],
"object": "list"
}{
"error": "InvalidParameter",
"code": 10006,
"msg": "a request parameter is invalid",
"cause": "<string>"
}List supported networks
Lists every network OMS supports, with its identifiers, available assets, and which OMS resources can use it in which direction. Availability is derived from live route configuration, so a network absent from this list is not routable; the fiat-rail availability and the crypto deposit-address signal both reflect your own project’s provider configuration. When your project holds more than one payment provider, the response covers the networks of every provider it holds.
“Network” here means any rail, not only a blockchain: category (crypto | fiatAccount | cash) and type (blockchain | bankRail | card | physical) are what distinguish them, and chainId / networkFamily are absent on everything that is not a blockchain.
curl --request GET \
--url https://sandbox-api.polygon.technology/v0.13/networks \
--header 'Authorization: Bearer <token>'import requests
url = "https://sandbox-api.polygon.technology/v0.13/networks"
headers = {"Authorization": "Bearer <token>"}
response = requests.get(url, headers=headers)
print(response.text)const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
fetch('https://sandbox-api.polygon.technology/v0.13/networks', 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://sandbox-api.polygon.technology/v0.13/networks",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>"
],
]);
$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://sandbox-api.polygon.technology/v0.13/networks"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("Authorization", "Bearer <token>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://sandbox-api.polygon.technology/v0.13/networks")
.header("Authorization", "Bearer <token>")
.asString();require 'uri'
require 'net/http'
url = URI("https://sandbox-api.polygon.technology/v0.13/networks")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["Authorization"] = 'Bearer <token>'
response = http.request(request)
puts response.read_body{
"data": [
{
"network": "<string>",
"category": "crypto",
"type": "blockchain",
"displayName": "<string>",
"assets": [
{
"asset": "<string>",
"contractAddress": "<string>",
"decimals": 123
}
],
"supportedBy": {
"externalAccount": {
"asSource": [
"<string>"
],
"asDestination": [
"<string>"
]
},
"depositAddress": {
"asSource": true,
"asDestination": true
},
"virtualAccount": {
"asSource": true,
"asDestination": true
},
"cashIn": {
"asSource": true,
"asDestination": true
},
"wallet": {
"asSource": true,
"asDestination": true
}
},
"chainId": 123,
"networkFamily": "evm"
}
],
"object": "list"
}{
"error": "InvalidParameter",
"code": 10006,
"msg": "a request parameter is invalid",
"cause": "<string>"
}Authorizations
Token from POST /auth/token
Response
The request has succeeded.
Hide child attributes
Hide child attributes
Partner-facing network token — the value to send in a request network field. Always a camelCase public token (for example swift), never a snake_case internal code. achSameDay and local are also contract-legal request values with no distinct entry here: routes are validated against the coarser ach / swift rail respectively, so achSameDay availability is reported under ach and local under swift rather than as their own network.
Which broad class of network this is.
crypto, fiatAccount, cash The transport a network uses.
blockchain, bankRail, card, physical Human-readable label, e.g. "Polygon PoS".
Hide child attributes
Hide child attributes
Lowercase canonical asset code, e.g. usdc.
Token contract address. OMITTED — the JSON key is absent, not sent as an explicit null — for a native asset and for any asset with no on-chain identity record. "Key absent" and "explicit null" are equivalent here; no case needs telling the two apart.
Count of decimal places in the on-chain smallest unit. OMITTED (key absent, not explicit null) — see contractAddress for why absent and null are equivalent here — when there is no on-chain identity record for this (asset, network): the scale is then genuinely unknown, not zero. A partner must not assume a default scale and must not format an amount in this asset while decimals is absent — the same "absent means unproven, not false" convention supportedBy.wallet uses for a capability instead of a scale.
Which OMS resources can use this network, and in which direction.
Every property is optional, and absence is meaningful: it means the answer is not established, NOT that the answer is no. A client must not treat a missing property as false. wallet is the field this applies to in practice — see its own description.
Hide child attributes
Hide child attributes
Whether an OMS-custodied wallet can hold value on this network and use it as a source or destination.
ABSENT means unproven, not false: wallet custody is only reported for networks where it is established. A network that omits this property may gain it later as a data change, not a contract change.
EVM chain id. OMITTED (key absent, not explicit null) for a non-EVM network — see contractAddress for why absent and null are equivalent here. A network whose chain identifier is not an integer (for example Solana, identified by a base58 genesis hash) omits the key.
OMITTED (key absent, not explicit null) for non-blockchain networks — see contractAddress for why absent and null are equivalent here.
evm, solana, tron list Was this page helpful?