# Get Direct Tokens

## Connected Assets API

This is an *experimental* endpoint that you could use to find which tokens can be swapped from a given token using one single step transaction.&#x20;

{% tabs %}
{% tab title="Typescript (SDK)" %}

```typescript
const connectedAssets = await rango.connectedAssets({
    from: {
        "blockchain": "ETH", 
        "address": "0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48"
    }
})
```

{% endtab %}

{% tab title="Node.js (Axios)" %}

```typescript
const response = await axios.get('https://api.rango.exchange/basic/connected-assets', {
  params: {
    'from': 'ETH--0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48',
    'apiKey': 'c6381a79-2817-4602-83bf-6a641a409e32'
  }
});
```

{% endtab %}

{% tab title="Bash (cURL)" %}

```bash
curl --request GET \
     --url 'https://api.rango.exchange/basic/connected-assets?from=ETH--0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48&apiKey=c6381a79-2817-4602-83bf-6a641a409e32' 
```

{% endtab %}
{% endtabs %}

{% embed url="<https://rango-api.readme.io/reference/getconnectedassets>" %}
Connected Assets Swagger
{% endembed %}

{% hint style="warning" %}
**Experimental API Warning**

This experimental API provides a **rough estimate** of direct tokens available from each token. It is **not recommended** for general use unless you have a specific requirement that cannot be met with other methods. Typically, you can use the quote or swap methods directly without needing to check connected assets in advance.
{% endhint %}

### Connected Assets Request

{% tabs %}
{% tab title="API Definition" %}

* **`from`**<mark style="color:red;">\*</mark> String&#x20;
  * Description: The [asset](https://docs.rango.exchange/terminology#asset-token) which is going to be swapped into other assets.&#x20;
  * Example: `ETH--0xa0b86991c6218b36c1d19d4a2e9eb0ce3606eb48`
    {% endtab %}

{% tab title="SDK Models (Typescript)" %}

```typescript
export type ConnectedAssetsRequest = {
  from: RequestedAsset
}

export type RequestedAsset = {
  blockchain: string
  address: string | null
  symbol: string
}
```

{% endtab %}
{% endtabs %}

### Connected Assets Response

Returns a list of blockchains + assets of that blockchain that is directly available. Note: If list of assets is empty, it means almost all tokens on this specific chain are accessible from the given token.&#x20;

{% tabs %}
{% tab title="API Definition" %}

* **`data`**
  * Description: List of all possible destination assets for the provided source asset.
    {% endtab %}

{% tab title="SDK Models (Typescript)" %}

```typescript
export type ConnectedAssetsResponse = {
  data: ConnectedAsset[]
}

export type ConnectedAsset = {
  blockchain: string
  assets: Asset[]
}

export type Asset = {
  blockchain: string
  address: string | null
  symbol: string
}
```

{% endtab %}

{% tab title="Sample Response" %}
This response indicates that the asset in request is nearly swappable with all assets on the ETH and BSC blockchains, but it only has a direct route to certain specific tokens on BOBA or EVMOS.

```json
{
  "data": [
    {
      "blockchain": "ETH",
      "assets": []
    },
    {
      "blockchain": "BSC",
      "assets": []
    },
    {
      "blockchain": "BOBA",
      "assets": [
        {
          "blockchain": "BOBA",
          "symbol": "USDC",
          "address": "0x66a2a913e447d6b4bf33efbec43aaef87890fbbc"
        }
      ]
    },
    {
      "blockchain": "EVMOS",
      "assets": [
        {
          "blockchain": "EVMOS",
          "symbol": "CEUSDC",
          "address": "0xe46910336479f254723710d57e7b683f3315b22b"
        }
      ]
    }
  ]
}
```

{% endtab %}
{% endtabs %}
