
Security News
The Next Open Source Security Race: Triage at Machine Speed
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.
@dynamic-labs/multi-wallet
Advanced tools
Multi-wallet is a toolkit for working with many different wallets to create and verify signatures
The multi-wallet package provides utility functions for filtering and configuring wallet connectors in the Dynamic Labs SDK. It contains helper functions used by the main SDK to determine which wallets should be available based on project settings and enabled chains.
getSupportedWallets(opts)Main function that returns a filtered list of available wallet connectors based on:
getWalletConnectorConstructorOptions(params)Builds configuration options for wallet connector constructors, including:
getEnabledWallets(props)Filters wallet connectors based on enabled chains. Takes an object with:
enabledChains: Array of Chain types that are enabledgetSupportedWalletOpts: Configuration options for getting supported walletsgenerateMessageToSign(params)Creates standardized messages for wallet signing operations. Takes a MessageParameters object with fields like:
blockchain: The blockchain type (Chain)domain: The domain requesting the signaturenonce: Unique nonce for the requestpublicKey: User's public keyuri: URI of the requesting applicationgetEnabledProviders(providers)Filters providers to return only those that are enabled (have enabledAt set, or are MagicLink with providerProjectId, or are Turnkey).
getSupportedChainsForWalletConnector(walletBook, walletConnector)Returns the supported chains for a specific wallet connector instance. The behavior depends on the mergeWalletBookChains property of the connector:
When mergeWalletBookChains is true (default): Returns a merged set of chains from both the wallet book (global wallet brand capabilities) and the connector's supportedChains. This is the default behavior for most connectors.
When mergeWalletBookChains is false: Returns only the connector's supportedChains, ignoring wallet book chains. This is used for Solana WalletConnect connectors to ensure they are correctly filtered out when Solana is disabled, even if the wallet book indicates the wallet brand supports both ETH and SOL globally (e.g., Trust Wallet Solana connector with walletKey 'trust' matching the wallet book entry that lists both EVM and SOL chains).
import { getSupportedWallets } from '@dynamic-labs/multi-wallet';
const wallets = getSupportedWallets({
settings: projectSettings,
walletConnectorsProp: walletConnectors,
walletBook: walletBookData,
chainRpcProviders: rpcProviders,
// ... other options
});
This package is primarily used internally by the Dynamic SDK React Core package. The main usage patterns are:
getEnabledWallets is used to filter available wallets based on enabled chainsgetWalletConnectorConstructorOptions builds the options needed to create wallet connector instancesgenerateMessageToSign creates SIWE-compliant messages for wallet authenticationnpx nx test multi-wallet
npx nx build multi-wallet
FAQs
Multi-wallet is a toolkit for working with many different wallets to create and verify signatures
We found that @dynamic-labs/multi-wallet demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Security News
Claude Opus 4.6 has uncovered more than 500 open source vulnerabilities, raising new considerations for disclosure, triage, and patching at scale.

Research
/Security News
Malicious dYdX client packages were published to npm and PyPI after a maintainer compromise, enabling wallet credential theft and remote code execution.

Security News
gem.coop is testing registry-level dependency cooldowns to limit exposure during the brief window when malicious gems are most likely to spread.