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

**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);
```

**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.