> ## Documentation Index
> Fetch the complete documentation index at: https://docs.dynamic.xyz/docs/llms.txt
> Use this file to discover all available pages before exploring further.

# Wallet Provider Events

You can listen to events emitted by the wallet provider by using the `onWalletProviderEvent`.

It will return an unsubscribe function that you can call to stop listening to the event.

## Usage

> [tab] JavaScript
>
> ```javascript theme={"system"}
> import { onWalletProviderEvent } from '@dynamic-labs-sdk/client';
>
> const unsubscribe = onWalletProviderEvent({
>   callback: ({ addresses }) => {
>     console.log('Accounts changed event was called with', addresses);
>   },
>   event: 'accountsChanged',
>   walletProviderKey: 'metamaskevm',
> });
>
> // Call unsubscribe() when you no longer need the listener
> ```

> [tab] React
>
> `useOnWalletProviderEvent` subscribes for you and cleans up on unmount or when `walletProviderKey` / `event` change:
>
> ```tsx theme={"system"}
> import { useOnWalletProviderEvent } from '@dynamic-labs-sdk/react-hooks';
>
> function WalletProviderEvents({ walletProviderKey }: { walletProviderKey: string }) {
>   useOnWalletProviderEvent({
>     walletProviderKey,
>     event: 'accountsChanged',
>     callback: ({ addresses }) => {
>       console.log('Accounts changed:', addresses);
>     },
>   });
>
>   return null;
> }
> ```

## Available events

* `accountsChanged: (params: { addresses: string[] }) => void;`
* `disconnected: () => void;`
* `networkChanged: (params: { networkId: string }) => void;`

## Related functions

* [Getting the Wallet Account Given an Address and Chain](https://docs.dynamic.xyz/docs/javascript/reference/wallets/get-wallet-account-from-address.md)
* [Connecting and Verifying a Wallet](https://docs.dynamic.xyz/docs/javascript/reference/wallets/connect-and-verify-wallet.md)
* [Getting Connected Addresses](https://docs.dynamic.xyz/docs/javascript/reference/wallets/get-connected-addresses.md)
* [Getting Active Network](https://docs.dynamic.xyz/docs/javascript/reference/wallets/get-active-network.md)
* [Switching Active Network](https://docs.dynamic.xyz/docs/javascript/reference/wallets/switch-active-network.md)
* [Checking Wallet Account Availability](https://docs.dynamic.xyz/docs/javascript/reference/wallets/check-wallet-account-availability.md)


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.