> For the complete documentation index, see [llms.txt](https://docs.rabet.io/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.rabet.io/accessing-accounts.md).

# Accessing Accounts

To interact with the user's account in Rabet, you must first connect to it. For connecting to the user account, you must send a connection request to the user. If the user confirms, you will receive the user account public key; otherwise, you will receive an error.

```javascript
rabet.connect()
    .then(result => console.log(`User active public key is: ${result.publicKey}`))
    .catch(error => console.error(`Error: ${error}`));
```

![](/files/-MTjGVscNeSWI63jNT1S)

{% hint style="info" %}
This verification process is done only once, and when the user connects to your website, you will immediately receive the user's account public key.
{% endhint %}

{% hint style="info" %}
Try to put a connect button for the user to call the `connect` function and until the answer to one request is not specified, don't call another connect request.
{% endhint %}

{% hint style="info" %}
If the user has disabled the extension privacy mode option, there is no need to confirm the user and you will receive the account public key immediately after the call `connect` function.
{% endhint %}

### accountChanged event

If you'd like to be notified when the address changes, we have an event you can subscribe to:

```javascript
rabet.on('accountChanged', () => {
    console.log('User changed their active account!');
});
```
