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

> Integrate a custom wallet with the Dynamic JavaScript SDK through a WalletProvider.

A `WalletProvider` is the Dynamic JavaScript SDK interface for a wallet. Use it when you control a wallet — such as a browser extension, mobile app, or hardware wallet — and you want the SDK to discover, connect, and route signing to it.

If your wallet already follows a supported standard (EIP-6963, Solana Wallet Standard, Sui Wallet Standard, or WalletConnect), it already works with Dynamic and you do not need a custom `WalletProvider`. See [Supported wallet standards](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/wallet-provider/supported-standards.md) first.

## Who this is for

This section is primarily for teams that own a wallet and want to integrate it with the Dynamic SDK, but it can also be helpful if you just want to add support for a wallet that is not supported by Dynamic SDK by default.

## Integration levels

You can integrate a wallet at several levels. Start with the lowest level that meets your needs and move up only when you need more control.

> [card] [Supported wallet standards](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/wallet-provider/supported-standards.md)
>
> If your wallet supports EIP-6963, Solana Wallet Standard, Sui Wallet Standard, or WalletConnect, no custom extension is needed.

> [card] [Build a WalletProvider](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/wallet-provider/build-wallet-provider.md)
>
> Implement the `WalletProvider` interface to connect your wallet and sign messages through the SDK.

> [card] [Add swap capabilities](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/wallet-provider/add-swap-capabilities.md)
>
> Implement `executeSwapTransaction` so the SDK can use your wallet for Fireblocks Flow and Swaps.

> [card] [Add Earn capabilities](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/wallet-provider/add-earn-capabilities.md)
>
> Implement `executeYieldTransaction` so the SDK can use your wallet for Earn deposits, withdrawals, and reward claims.

> [card] [Build a payment deep link](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/wallet-provider/build-payment-deep-link.md)
>
> Build a deep link or QR code that hands a Fireblocks Flow deposit off to your mobile wallet app.

## Which level should you choose?

* **Supported standard** — fastest path; the SDK discovers the wallet automatically.
* **Build a WalletProvider** — needed when the wallet does not follow a standard and you want the SDK to drive connection and signing.
* **Add swap capabilities** — required on top of a `WalletProvider` if you want the wallet to be able to execute swap transactions. Required by Flow — [`submitFlowTransaction`](https://docs.dynamic.xyz/docs/javascript/reference/client/submit-flow-transaction) ([Flow overview](https://docs.dynamic.xyz/docs/flow/overview.md)) — and Swaps — [`executeSwapTransaction`](https://docs.dynamic.xyz/docs/javascript/reference/client/execute-swap-transaction).
* **Add Earn capabilities** — required on top of a `WalletProvider` (EVM only) if you want the wallet to deposit into, withdraw from, or claim rewards from [Earn](https://docs.dynamic.xyz/docs/earn/overview.md) vaults via [`depositToYieldVault`](https://docs.dynamic.xyz/docs/javascript/reference/client/deposit-to-yield-vault), [`withdrawFromYieldVault`](https://docs.dynamic.xyz/docs/javascript/reference/client/withdraw-from-yield-vault), and [`claimYieldRewards`](https://docs.dynamic.xyz/docs/javascript/reference/client/claim-yield-rewards).
* **Build a payment deep link** — alternative to swap capabilities for mobile wallet apps that want to keep the send UX inside the wallet instead of signing through the SDK.

## Related services

* [Open deep links](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/services/open-deep-links.md) — open cross-platform deep links from an extension.
* [Wallet provider priority](https://docs.dynamic.xyz/docs/javascript/reference/creating-extensions/services/wallet-provider-priority.md) — control how the registry resolves duplicate providers.


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