# Getting Ecosystem Information

## Get supported chains <a href="#get-available-chains" id="get-available-chains"></a>

<table><thead><tr><th width="247">Query</th><th width="320">Description</th><th>Parameters</th></tr></thead><tbody><tr><td><h4 id="getchains"><code>getSupportedChains</code></h4></td><td>Fetches a list of all available chains supported by the SDK.</td><td><code>N/A</code></td></tr></tbody></table>

### **Example**

```jsx
import { ShogunBalancesApiClient } from '@shogun-sdk/money-legos';

// Initialize the balances client
const balancesClient = new ShogunBalancesApiClient('YOUR_API_KEY');

// Check EVM wallet balances
const evmBalances = await balancesClient.getEvmWalletBalance('0x742d35Cc6634C0532925a3b844Bc454e4438f44e');

// Check Solana token balances
const solanaBalances = await balancesClient.getSolanaTokenBalances('your_solana_address');

// Get token price in USD
const tokenPrice = await balancesClient.getTokenUSDPrice(
  '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', // WETH
  1 // Ethereum mainnet
);

// Get token information
const tokenInfo = await balancesClient.getTokenInfo(
  '0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2', // WETH
  1 // Ethereum mainnet
);
```

## Get liquidity venues <a href="#get-available-bridges-and-dexs" id="get-available-bridges-and-dexs"></a>

<table><thead><tr><th width="250">Query</th><th width="277">Description</th><th>Parameters</th></tr></thead><tbody><tr><td><h4 id="gettools"><code>getLiquidityVenues</code></h4></td><td>Fetches all supported liquidity venues (dexes, vaults, pools, etc.).</td><td><ul><li><code>chains</code> (ChainId[], optional): Specify which chains to pull the query for. Default: all tokens on all chains returned.</li></ul></td></tr></tbody></table>

### **Example**

```
import { getLiquidityVenues } from '@{PLACEHOLDER}/sdk';

try {
  //Request all supported liquidity venues
  const venues = await getLiquidityVenues();
} catch (error) {
  console.error('Error: ', error);
}
```

## Get available pairs <a href="#get-available-connections" id="get-available-connections"></a>

<table><thead><tr><th width="247">Query</th><th width="188">Description</th><th>Parameters</th></tr></thead><tbody><tr><td><h4 id="gettools"><code>getAvailableRoutes</code></h4></td><td>Fetches a list of all supported pairs, including intrachain and interchain routes.</td><td><ul><li><code>srcChain</code> (number, optional): Chain ID of the source chain.</li><li><code>srcToken</code> (string, optional): The contract address of the source token.</li><li><code>destChain</code> (number, optional): Chain ID of the destination chain.</li><li><code>destToken</code> (string, optional): The contract address of the destination token.</li><li><code>allowInterchain</code> (boolean, optional): Default is <code>True</code>. Decides whether to include pairs that require interchain routing.</li><li><code>excludeVenue</code> (string[], optional): Array of liquidity venues to be excluded from routing.</li><li><code>excludeInterop</code> (string[], optional): Array of interoperability protocols to be excluded from routing.</li><li><code>maxiVenue</code> (string[], optional): Give preference for some liquidity venues over others.</li><li><code>maxiInterop</code> (string[], optional): Give preference for some interoperability protocols over others.</li></ul></td></tr></tbody></table>

### **Example**

```
import { getAvailableRoutes } from '@{PLACEHOLDER}/sdk';

//Request all available routes from BOOP on Arbitrum to PRESS on Solana
const routeRequest = {
  srcChain: 42161,
  srcToken: '0x13A7DeDb7169a17bE92B0E3C7C2315B46f4772B3',
  destChain: 900,
  destToken: 'FaZwrtepqwBf2TMHVaxRWt4U3Zjv4LxmcisQXYy1pump',
};

try {
  const availableRoutes = await getAvailableRoutes(routeRequest);
} catch (error) {
  console.error('Error: ', error);
}
```

We have additional guides you may find helpful for supplemental information when working with the SDK:

{% content-ref url="broken-reference" %}
[Broken link](https://intensity-labs.gitbook.io/integration-docs/broken-reference)
{% endcontent-ref %}
