> For the complete documentation index, see [llms.txt](https://raiden-network.gitbook.io/raiden-network/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://raiden-network.gitbook.io/raiden-network/raiden-api-1/resources/tokens.md).

# Tokens

The tokens endpoints are used for registering new tokens and querying information about already registered tokens.

## Tokens Resource Overview

| HTTP Method | Resource                                                                                                                                                            | Description                                                    |
| ----------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------- |
| GET         | [`/api/<version>/tokens`](/raiden-network/raiden-api-1/resources/tokens.md#addresses-for-all-registered-tokens)                                                     | Addresses for all registered tokens                            |
| GET         | [`/api/<version>/tokens/<token_address>`](/raiden-network/raiden-api-1/resources/tokens.md#address-of-token-network-for-a-specific-token)                           | Address of token network for a specific token                  |
| GET         | [`/api/<version>/tokens/<token_address>/partners`](/raiden-network/raiden-api-1/resources/tokens.md#all-partner-nodes-with-unsettled-channels-for-a-specific-token) | All partner nodes with unsettled channels for a specific token |
| PUT         | [`/api/<version>/tokens/<token_address>`](/raiden-network/raiden-api-1/resources/tokens.md#register-a-token)                                                        | Register a token                                               |

{% hint style="warning" %}
**Alderaan Token Registration**

For the Alderaan release two tokens will be registered, **DAI** and **WETH**.
{% endhint %}

## Tokens Resource Details

## Addresses for All Registered Tokens

<mark style="color:blue;">`GET`</mark> `http://localhost:5001/api/v1/tokens`

#### Path Parameters

| Name    | Type   | Description        |
| ------- | ------ | ------------------ |
| version | string | Version of the API |

{% tabs %}
{% tab title="200 Successful query" %}

```bash
[
    "0xEA674fdDe714fd979de3EdF0F56AA9716B898ec8",
    "0x61bB630D3B2e8eda0FC1d50F9f958eC02e3969F6"
]
```

{% endtab %}

{% tab title="500 " %}

```
Internal Raiden node error
```

{% endtab %}
{% endtabs %}

## Address of Token Network for a Specific Token

<mark style="color:blue;">`GET`</mark> `http://localhost:5001/api/v1/tokens/0xEA67...8ec8`

The request will return the token network address for the specified token only if the token is already registered.

#### Path Parameters

| Name           | Type   | Description        |
| -------------- | ------ | ------------------ |
| version        | string | Version of the API |
| token\_address | string | Address of a token |

{% tabs %}
{% tab title="200 Successful query" %}

```
"0x61bB630D3B2e8eda0FC1d50F9f958eC02e3969F6"
```

{% endtab %}

{% tab title="404 " %}

```
No token network was found for the provided token address
```

{% endtab %}
{% endtabs %}

## All Partner Nodes With Unsettled Channels for a Specific Token

<mark style="color:blue;">`GET`</mark> `http://localhost:5001/api/v1/tokens/0x61bB...69F6/partners`

The value for the "channel" key in the response is a link to the channel resource.

#### Path Parameters

| Name           | Type   | Description        |
| -------------- | ------ | ------------------ |
| version        | string | Version of the API |
| token\_address | string | Address of a token |

{% tabs %}
{% tab title="200 Successful query" %}

```bash
[
    {
        "partner_address": "0x2a65aca4d5fc5b5c859090a6c34d164135398226",
        "channel": "/api/<version>/channels/0x61C808D82A3Ac53231750daDc13c777b59310bD9/0x2a65aca4d5fc5b5c859090a6c34d164135398226"
    }
]
```

{% endtab %}

{% tab title="302 " %}

```
If the user accesses the channel link endpoint
```

{% endtab %}

{% tab title="404 " %}

```
The token does not exist
The token address is not a valid EIP55-encoded Ethereum address
```

{% endtab %}

{% tab title="500 " %}

```
Internal Raiden node error
```

{% endtab %}
{% endtabs %}

## Register a Token

<mark style="color:orange;">`PUT`</mark> `http://localhost:5001/api/v1/tokens/0xEA67...8ec8`

A token needs to be registered for a token network to exist for that specific token.

#### Path Parameters

| Name           | Type   | Description        |
| -------------- | ------ | ------------------ |
| version        | string | Version of the API |
| token\_address | string | Address of a token |

{% tabs %}
{% tab title="201 A token network for the specified token has been successfully created" %}

```bash
{
    "token_network_address": "0xC4F8393fb7971E8B299bC1b302F85BfFB3a1275a"
}
```

{% endtab %}

{% tab title="402 " %}

```
Insufficient balance of ETH to pay for the on-chain transactions
```

{% endtab %}

{% tab title="404 " %}

```
The token address is not valid
```

{% endtab %}

{% tab title="409 " %}

```
The token has already been registered
The registration transaction failedThe address does not contain code
```

{% endtab %}

{% tab title="501 " %}

```
Registering a token only works on testnet.
```

{% endtab %}
{% endtabs %}
