# Multi-chain Assets

{% hint style="success" %}
Before we continue, please ensure that you have had a look at our [Supported Ethereum Chains](broken://pages/-MeAyzR2e2VKsOneDqAi), followed the steps in [Install Etherspot SDK](/getting-started/install-sdk.md) and how to [Bootstrap Etherspot SDK](/getting-started/bootstrap-etherspot-sdk.md). We're assuming that you have completed these steps before going forward.
{% endhint %}

## Getting started

Before we get started, it's important to know that Etherspot and the Etherspot SDK support the idea of "token lists", where tokens are grouped by a provider for community benefit or purpose. Token lists itself is a Uniswap initiative and can be viewed [here](https://tokenlists.org).&#x20;

Etherspot SDK currently supports the following token lists:

* `CompoundTokens` - [Compound](https://tokenlists.org/token-list?url=https://raw.githubusercontent.com/compound-finance/token-list/master/compound.tokenlist.json)
* `UniswapTokens` - [Uniswap](https://tokenlists.org/token-list?url=https://gateway.ipfs.io/ipns/tokens.uniswap.org)
* `AaveTokens` - [Aave](http://tokenlist.aave.eth.link)

The above two token lists generally represent curated and high quality tokens, and can usually be sufficient for your project needs.

Need something specific with a token list? We can work with you to make a custom token list, or use an existing one from [tokenlists.org](https://tokenlists.org) - get in touch with us (using the links under the "Get In Touch" section in the navigation menu) and we'll be happy to help out.

## Getting the native currencies

The Etherspot SDK provides a utility endpoint for you to read all the native currencies, sometimes also referred to as the "gas token", for each chain.

```typescript
  const nativeCurrencies = await sdk.getNativeCurrencies();

  console.log('Native Currencies:', nativeCurrencies);
```

:zap: [Try this out now on Etherspot Playground](https://try.etherspot.dev/?instance.env=testnets#GetNativeCurrencies)

## Getting a token list

To fetch a token list, simply call the `getTokenListTokens` method on your instantiated Etherspot SDK instance.

{% hint style="info" %}
Fetching a token list will return the default token list available on the chain or network the Etherspot SDK was instantiated with.
{% endhint %}

```typescript
const tokenList = await sdk.getTokenListTokens();

console.log('Token list:', tokenList);
```

## Getting a token list by token list name

Etherspot supports getting a token list by token list name. Simply pass the token list name into the the `name` named object parameter as shown below:

```typescript
const aaveTokenList = await sdk.getTokenListTokens({
  name: 'AaveTokens'
});

console.log('Token list for AaveTokens:', aaveTokenList);
```


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://v1.etherspot.io/use-cases/multi-chain-assets.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
