# Multi-chain Assets

{% hint style="success" %}
Before we continue, please ensure that you have had a look at our [Supported Ethereum Chains](https://v1.etherspot.io/use-cases/broken-reference), followed the steps in [Install Etherspot SDK](https://v1.etherspot.io/getting-started/install-sdk) and how to [Bootstrap Etherspot SDK](https://v1.etherspot.io/getting-started/bootstrap-etherspot-sdk). 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);
```
