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

# Getting Wallet Provider Data by Key

Use `getWalletProviderDataByKey` when you already have a wallet provider key (for example from `getWalletOptionsCatalogue` or `getAvailableWalletProvidersData`) and need the provider's display metadata, chain, group, and type.

This is a synchronous lookup against the in-memory registry, so it's useful for rendering a single wallet option or for resolving a provider before calling `connectWithWalletProvider`.

## Usage

> [tab] JavaScript
>
> ```javascript theme={"system"}
> import { getWalletProviderDataByKey } from '@dynamic-labs-sdk/client';
>
> const provider = getWalletProviderDataByKey({ walletProviderKey: 'metamaskevm' });
>
> console.log(provider.key);           // 'metamaskevm'
> console.log(provider.chain);         // 'eip155'
> console.log(provider.groupKey);      // 'metamask'
> console.log(provider.walletProviderType); // e.g. 'browserExtension'
> console.log(provider.metadata.displayName, provider.metadata.icon);
> ```

> [tab] React
>
> `useGetWalletProviderDataByKey` subscribes to registry changes so the result re-renders when the provider data updates:
>
> ```tsx theme={"system"}
> import { useGetWalletProviderDataByKey } from '@dynamic-labs-sdk/react-hooks';
>
> function WalletProviderName({ walletProviderKey }: { walletProviderKey: string }) {
>   const { data: provider } = useGetWalletProviderDataByKey({ walletProviderKey });
>
>   if (!provider) return null;
>
>   return (
>     <span>
>       <img src={provider.metadata.icon} alt="" width={20} />
>       {provider.metadata.displayName}
>     </span>
>   );
> }
> ```

## Parameters

| Parameter | Type | Description |
| - | - | - |
| `walletProviderKey` | `string` | The key of the wallet provider to look up, e.g. `'metamaskevm'` or `'phantomsol'`. |

## Returns

A `WalletProviderData` object with:

| Field | Type | Description |
| - | - | - |
| `key` | `string` | The provider key, e.g. `'metamaskevm'`. |
| `chain` | `string` | The chain the provider works with, e.g. `'eip155'` or `'sol'`. |
| `groupKey` | `string` | The wallet app group, e.g. `'metamask'` or `'phantom'`. |
| `walletProviderType` | `string` | The provider type, e.g. `'browserExtension'`. |
| `metadata` | `object` | `{ displayName: string, icon: string, supportedHardwareWalletVendors? }` |

## Errors

Throws `NoWalletProviderFoundError` if the key does not exist in the current registry. The registry is populated asynchronously by chain extensions and EIP-6963 announcements, so a provider may not be immediately available on first render.

## Related functions

* [Get Wallet Options Catalogue](https://www.dynamic.xyz/docs/javascript/reference/wallets/get-wallet-options-catalogue.md) — list every wallet option the user can connect with.
* [Get Available Wallets to Connect](https://www.dynamic.xyz/docs/javascript/reference/wallets/get-available-wallets-to-connect.md) — installed wallet providers only.
* [Connecting and Verifying a Wallet](https://www.dynamic.xyz/docs/javascript/reference/wallets/connect-and-verify-wallet.md)


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