Skip to main content

Tools

Get a list of all available bridges and DEXes that can be used for routing.

If you want to learn more about how to use this endpoint, please have a look at our guide.

API

Endpoint Details

GET /v1/tools

Get a list of all available bridges and DEXes that can be used for routing.

Request

Headers

X-API-Keystring

The apiKey allows you to authenticate on the API (optional)

Query Parameters

chainsstring

Comma-separated list of chain IDs to filter by (e.g., "1,137,42161")

Example: 1,137

Response

Status Code: 200 OK
Content Type: application/json

Response

bridgesobject[]required

List of available bridge protocols

keystringrequired

Unique identifier for the bridge

namestringrequired

Human-readable name

logoURIstring

URL to the bridge logo image

supportedChainsnumber[]required

Array of chain IDs supported by this bridge

exchangesobject[]required

List of available DEX protocols

keystringrequired

Unique identifier for the exchange

namestringrequired

Human-readable name

logoURIstring

URL to the exchange logo image

supportedChainsnumber[]required

Array of chain IDs supported by this exchange

Example Request

curl --request GET \
--url 'https://xplore.api.v2.routerprotocol.com/v1/tools?chains=1,137' \
--header 'X-API-Key: your-api-key-here'

Example Response

Status Code: 200 OK

{
"bridges": [
{
"key": "stargate",
"name": "Stargate",
"logoURI": "https://...",
"supportedChains": [1, 137, 42161, 10, 8453]
},
{
"key": "across",
"name": "Across",
"logoURI": "https://...",
"supportedChains": [1, 137, 42161, 10]
}
],
"exchanges": [
{
"key": "1inch",
"name": "1inch",
"logoURI": "https://...",
"supportedChains": [1, 137, 42161]
},
{
"key": "uniswap",
"name": "Uniswap",
"logoURI": "https://...",
"supportedChains": [1, 137, 42161, 10, 8453]
}
]
}

Code Examples

JavaScript/TypeScript

async function getTools(chains?: string) {
const url = chains
? `https://xplore.api.v2.routerprotocol.com/v1/tools?chains=${chains}`
: 'https://xplore.api.v2.routerprotocol.com/v1/tools';

const response = await fetch(url, {
headers: {
'X-API-Key': 'your-api-key-here'
}
});

return await response.json();
}

// Get all tools
const allTools = await getTools();

// Get tools for specific chains
const tools = await getTools('1,137');
console.log(`Bridges: ${tools.bridges.length}, Exchanges: ${tools.exchanges.length}`);

Python

import requests

def get_tools(chains=None):
url = 'https://xplore.api.v2.routerprotocol.com/v1/tools'
if chains:
url += f'?chains={chains}'

response = requests.get(
url,
headers={'X-API-Key': 'your-api-key-here'}
)
return response.json()

# Get all tools
all_tools = get_tools()

# Get tools for specific chains
tools = get_tools('1,137')
print(f"Bridges: {len(tools['bridges'])}, Exchanges: {len(tools['exchanges'])}")