# Associate a Token

The following sample will show you how to prompt a user for a token association. We will first generate a request for the end user. Once validated, you will get notified about token association status.

## Prerequisites: <a href="#pre-requisites" id="pre-requisites"></a>

{% content-ref url="getting-started" %}
[getting-started](getting-started)
{% endcontent-ref %}

## Step 1: Import modules

Let's continue building on the _index.js_ from the previous example ([Environment Set-up](../getting-started#step-1-set-up-your-node-js-environment)) and add the following modules:

```typescript
const { Client } = require("@xact-wallet-sdk/client");
require("dotenv").config();
```

## Step 2: Initializing Token Association

When initializing a token association, a request will be sent to the end user

```typescript
/* Update the fields with your informations */
const fromAccountId = '';
const tokenToAssociate = '';

await client.associate({fromAccountId, tokenId: tokenToAssociate});
```

## Step 3: Listen for the Token Association

Finally get notified when a new token association has been done successfully !

```typescript
/* Subscribe to new Token Associations */
client.paymentValidation().subscribe(token => {
    console.log('Associated Token', token);
});
```

## Code Check ✅

Your _index.js_ file should look like this:

{% code title="index.js" %}
```typescript
const { Client } = require("@xact-wallet-sdk/client");
require("dotenv").config();

async function associate() {

    //Grab your api key from your .env file
    const apiKey = process.env.API_KEY;


    // If we weren't able to grab it, we should throw a new error
    if (apiKey == null) {
        throw new Error("Environment variables API_KEY must be present");
    }
    /* Create a new instance of Client */
    const client = new Client({apiKey});
    
    /* Init the connexion */
    await client.initConnexion();
    
    /* Update the fields with your informations */
    const tokenId = '';
    const fromAccountId = '';
    
    /* Request for association */
    await client.associate({fromAccountId, tokenId});
    
    /* Listen for Association's success */
    client.associateValidation().subscribe(token => {
        console.log('New associated token', token);
    });
}

associate();
```
{% endcode %}

