> ## 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

<Tabs>
  <Tab title="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>

  <Tab title="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;
    }
    ```
  </Tab>
</Tabs>

## 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](/javascript/reference/wallets/get-wallet-account-from-address)
* [Connecting and Verifying a Wallet](/javascript/reference/wallets/connect-and-verify-wallet)
* [Getting Connected Addresses](/javascript/reference/wallets/get-connected-addresses)
* [Getting Active Network](/javascript/reference/wallets/get-active-network)
* [Switching Active Network](/javascript/reference/wallets/switch-active-network)
* [Checking Wallet Account Availability](/javascript/reference/wallets/check-wallet-account-availability)
