# Terminology

In this document, we will briefly review the concepts related to Rango's API or SDK to make on-boarding across different sections of the documentation easier for you.

## Affiliate (Referral)

We use the terms `affiliate` or `referral` to describe our program available to both individual users and dApps. By joining the program, individuals can refer new users to our platform and earn an affiliate fee for the swap transactions initiated by their referrals. Additionally, dApps can charge users an extra fee per transaction, which will be deducted from the user's input amount. For more detailed information about our affiliate program, please refer to [this document](/technical/monetization.md).

### Affiliate Ref (Referrer Code)

The `Affiliate Reference (affiliateRef)` or `Referrer Code (referrerCode)` is an unique key that you could generate on our [Affiliate Page](https://app.rango.exchange/affiliate) in Rango Exchange dApp. If you use this, we will send the affiliate fees to the wallet that created this link. <br>

<figure><img src="/files/9CsmLZ7svxVKHLt1VV6V" alt=""><figcaption><p>Sample for affiliateRef Code in Rango Exchange App</p></figcaption></figure>

## Asset (Token)

Rango uses the terms `asset` or `token` to identify tokens across different blockchains. Currently, Rango supports over 10,000 tokens and also enables the trading of `custom tokens` on all EVM-based and Solana blockchains.

In Rango, each token is identified by three properties: Blockchain, Symbol, and Address. While the combination of Blockchain and Address is sufficient to identify a unique token in EVM-based blockchains, Rango also supports various other blockchains, such as Cosmos-based ones. To maintain a consistent API across all endpoints, the Symbol property is also included.&#x20;

{% hint style="info" %}

### Asset Format

When dealing with asset formats, it's crucial to distinguish between native and non-native coins. Below is the format you should use for each type:

#### 1. Native Coins:

* **Format:** `Blockchain.Symbol` or simply use `Blockchain`
* **Examples:**&#x20;
  * `BSC.BNB (or BSC), SOLANA.SOL (or SOLANA),` `OSMOSIS.OSMO (or OSMOSIS)`

This denotes the blockchain on which the native coin operates, followed by the symbol of the coin itself.&#x20;

#### 2. Non-Native Coins:

* **Format:** `Blockchain--TokenAddress`
* **Other Acceptable Format:** `Blockchain.Symbol--TokenAddress` \
  (This 2nd format is only required for Cosmos tokens and will be deprecated soon.)
* **Examples:**&#x20;
  * `BSC--0x55d398326f99059ff775485246999027b3197955`
  * `BSC.USDT--0x55d398326f99059ff775485246999027b3197955`

This format consists of the blockchain and the token's address on the blockchain, which are separated by a double dash (--).
{% endhint %}

{% hint style="info" %}
**Native Token Address**

For native tokens, we do not use addresses like `0xeeeeeeeeeeeeeeeeee...` or `0x000000000000000...`   \
Instead, we simply use a null address.
{% endhint %}

## Blockchain

Rango facilitates swaps and bridges across various blockchains, including UTXO blockchains, EVM blockchains, Solana, Cosmos-based blockchains, Starknet, Tron, and more. In Rango, the terms "blockchain" or "chain" are typically used to refer to these networks. \
You could see list of all supported blockchains in [Integrations](/integrations.md) article. You could also dynamically get list of all supported blockchains based on this [document](/api-integration/basic-api-single-step/api-reference/get-blockchains-and-tokens.md).

### Blockchain Name

In Rango, each blockchain has a unique identifier `name` which is used in all related API calls or sdk methods. These are some samples:

| Blockchain | Name  (ID)    |
| ---------- | ------------- |
| Ethereum   | `ETH`         |
| Arbitrum   | `ARBITRUM`    |
| Avalanche  | `AVAX_CCHAIN` |
| Scroll     | `SCROLL`      |
| Cosmos     | `COSMOS`      |
| Bitcoin    | `BTC`         |

You could see list of all blockchain names in [Integrations document](/integrations.md) or get it dynamically using [meta](https://docs.rango.exchange/api-integration/pages/Wvp6KKsOm4covYKpOJU8#id-1.-get-full-metadata-test) or [blockchains](https://docs.rango.exchange/api-integration/pages/Wvp6KKsOm4covYKpOJU8#id-2.1.-get-list-of-blockchains-test) endpoint.

### Blockchain Type (Transaction Type)

Rango distinguishes between various blockchains based on their technical structures and underlying transaction models. Each blockchain and transaction is assigned a property called `type`. Here are the currently supported blockchain types:

| Type       | Sample Blockchains             |
| ---------- | ------------------------------ |
| `EVM`      | Ethereum, Polygon, Scroll, ... |
| `TRANSFER` | Bitcoin, Litecoin, Doge, ...   |
| `COSMOS`   | Cosmos, Osmosis, Akash, ...    |
| `SOLANA`   | Solana                         |
| `STARKNET` | Starknet                       |
| `TRON`     | Tron                           |
| `TON`      | Ton                            |

## Swapper

Rango supports various protocols for swapping and bridging tokens, including DEXes (e.g., Uniswap, Pancake Swap), Bridges (e.g., Across, Stargate), DEX Aggregators (e.g., 1inch, Paraswap, OpenOcean), and centralized solutions (e.g., XO Swap, SWFT). In our API and related documents, we use the `Swapper` to refer to all these protocols.

{% hint style="info" %}
Centralized (off-chain) swappers are disabled by default in the Rango API due to the risk of blocking user tokens because of KYC requirements for risky addresses and the need for additional information like user IP. However, if you wish to enable them, you can do so by passing a flag (`enableCentralizedSwappers`) to the relevant API calls.
{% endhint %}

### Swapper Type

Each swappers in Rango is at least one of the following types: (usually one of them)

| Type         | Sample Swappers                                                    | Description                                                             |
| ------------ | ------------------------------------------------------------------ | ----------------------------------------------------------------------- |
| `DEX`        | Jupiter, JunoSwap, 1Inch, ...                                      | On-chain DEXes or DEX aggregators                                       |
| `BRIDGE`     | Synapse Bridge, Satellite, ...                                     | Bridges via chains                                                      |
| `AGGREGATOR` | CBridge Aggregator, Stargate Aggregator, ThorChain Aggregator, ... | [Swap Aggregators](/technical/swap-aggregation.md) implemented by Rango |
| `OFF_CHAIN`  | SWFT, XO Swap                                                      | Centralized solutions                                                   |

## Swap Aggregation

Introducing Rango as a DEX and bridge aggregator means it not only routes through various protocols but also aggregates multiple transactions into a single one. For more information about swap aggregation, please refer to [this document](/technical/swap-aggregation.md).


---

# 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/terminology.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.
