# 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](/api-integration/terminology.md#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 %}


---

# 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://docs.rango.exchange/api-integration/basic-api-single-step/api-reference/get-direct-tokens.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.
