For new React apps, we recommend the JavaScript SDK with React Hooks (@dynamic-labs-sdk/react-hooks) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the React quickstart (JavaScript SDK) to get started.
Lots of users have multiple wallets but managing multiple wallets and multiple
accounts for each wallet is challenging. You have to manage event listeners,
various connection states, wallets shared across accounts, and much much more.
If you want to learn more about our multi-wallet solution, check out our
blog post.Our multiwallet widget allows your users to easily:
Add multiple wallets
Add multiple accounts from the same wallet
Transfer wallets between accounts
It is mobile friendly
Keep track of the active account in a wallet
Swap primary wallets
and so much more.
To simplify management of these scenarios and the resulting edge cases, we’ve
released a widget that does it for you. You can see it in action on our
demo site.
When a user initially connects an additional wallet, they go through the normal wallet connection flow.Once connected, the wallet is added to the Wallets list and the user can switch between wallets as needed.If the user manually disconnects a wallet from the extension/app, the wallet gets removed from the Wallets list (unless the no disconnect event is emitted by the wallet extension/app).If the user manually disconnects their primary wallet, they get logged out.If a wallet gets disconnected while the user is not in the app using Dynamic (or we don’t detect any disconnect events), the wallet will remain in the Wallets list, and once the user tries to take any action with it (e.g. send a transaction), we’ll check the state and prompt them to re-connect.When a user connects a wallet, they cannot connect another wallet from the same provider through the widget. However, if they switch account in the wallet extension/app while in the app that is using Dynamic, we’ll detect this account change and automatically switch the previously connected wallet to the new one (unless no accountChange event is emitted by the wallet extension/app).Example:
If the user initially connects with MetaMask account 1, they cannot connect another MetaMask account. However, it they switch to MetaMask account 2, that will be the account connected to Dynamic and the address that they’ll see in the widget, not account 1 anymore.
When a user initially links an additional wallet, they go through the normal wallet connection flow i.e. connect and sign a message.Once connected, the wallet is added to the user’s profile and they can switch between wallets as needed.When unused, we do not keep track of the wallets states once they are linked, meaning the user can lock their wallets, change accounts and so on. This avoids extra friction for the user, as the wallets are not in use at that time, and all that matters is that they have a valid JWT.However, once the user is ready to take action using a linked wallet, we check the state and can prompt them to unlock, change back to the connected account etc.
Multi-wallet functionality comes bundled as part of the user profile, and we have a guide to achieve every aspect of this in a hooks only manner here.
Last modified on October 29, 2026
{"docsConfig":{"theme":"aspen","$schema":"https://mintlify.com/docs.json","name":"Dynamic","colors":{"primary":"#4779FF","light":"#A0BFFF","dark":"#69A5FF"},"logo":{"light":"https://mintcdn.com/dynamic-docs-testing/CXYm3HK725eun9ev/logo/dynamic-fireblocks-icon-light.svg?fit=max\u0026auto=format\u0026n=CXYm3HK725eun9ev\u0026q=85\u0026s=c050cd8c41715aa71119f91c19221cb3","dark":"https://mintcdn.com/dynamic-docs-testing/CXYm3HK725eun9ev/logo/dynamic-fireblocks-icon-dark.svg?fit=max\u0026auto=format\u0026n=CXYm3HK725eun9ev\u0026q=85\u0026s=434fa110e5847b7a23adc1abd636719e"},"favicon":"https://mintcdn.com/dynamic-docs-testing/C-CltRmvvkSqoMFQ/assets/favicon.png?fit=max\u0026auto=format\u0026n=C-CltRmvvkSqoMFQ\u0026q=85\u0026s=2bbf17fee49c1d60434f1fd77a2d8f38","api":{"mdx":{"auth":{"method":"bearer"}}},"background":{"image":"https://mintcdn.com/dynamic-docs-testing/C-CltRmvvkSqoMFQ/assets/images/general/background-image.png?fit=max\u0026auto=format\u0026n=C-CltRmvvkSqoMFQ\u0026q=85\u0026s=67a354a23840d92de3d1cb25c24ff27c","decoration":"gradient"},"navbar":{"links":[{"href":"https://www.dynamic.xyz/get-started","label":"Start Free"}],"primary":{"type":"button","label":"See it in action","href":"https://demo.dynamic.xyz/"}},"footer":{"socials":{"x":"https://x.com/dynamic_xyz","linkedin":"https://www.linkedin.com/company/dynamiclabs","slack":"https://www.dynamic.xyz/join-slack"}},"styling":{"eyebrows":"breadcrumbs","codeblocks":"system","latex":true},"integrations":{"gtm":{"tagId":"GTM-K9NXSDK"},"cookies":{"key":"dynamic-docs-cookie-consent","value":"accepted"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"metadata":{"timestamp":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"dynamic-docs-testing","hasAudioNarration":false,"actualSubdomain":"dynamic-docs-testing","customDomains":["www.dynamic.xyz"],"gitSource":{"type":"github","owner":"dynamic-labs","repo":"documentation","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeca4c6754501e0c6b682aa","collectionId":"ea23aa8b-d710-42bc-b27c-e7fa0a546b58","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeca4c6754501e0c6b682aa"},"feedback":{"thumbs":true,"agentFeedback":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeca4c6754501e0c6b682aa","clientVersion":"0.0.4067","searchFilterCounts":[{"language":"default","tag":"Reference","count":1964},{"language":"default","tag":"REST API","count":1181},{"language":"default","tag":"Schemas","count":636},{"language":"default","tag":"Endpoints","count":541},{"language":"default","tag":"Javascript, React \u0026 React Native","count":307},{"language":"default","tag":"Legacy React","count":287},{"language":"default","tag":"SDK","count":238},{"language":"default","tag":"JavaScript SDK Reference","count":230},{"language":"default","tag":"Implement","count":212},{"language":"default","tag":"Wallets","count":186}]},"assistantConfig":{},"basePath":"/docs","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".dynamic-demos-link{position:relative;overflow:hidden;margin:0.5rem 0 2rem;padding:2rem 1.75rem;border-radius:16px;border:1px solid rgba(148, 163, 184, 0.14);background:rgba(148, 163, 184, 0.04);text-align:center}html.dark .dynamic-demos-link{border-color:rgba(148, 163, 184, 0.12);background:rgba(148, 163, 184, 0.03)}.ddl-glow{position:absolute;inset:-40% auto auto 50%;width:28rem;height:28rem;transform:translateX(-50%);border-radius:50%;background:radial-gradient(circle, rgba(71, 121, 255, 0.18), transparent 70%);pointer-events:none}html.dark .ddl-glow{background:radial-gradient(circle, rgba(71, 121, 255, 0.22), transparent 70%)}.ddl-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;max-width:32rem;margin:0 auto}.ddl-icon{display:inline-flex;align-items:center;justify-content:center;width:3rem;height:3rem;margin-bottom:1rem;border-radius:999px;background:rgba(71, 121, 255, 0.12);color:#4779ff}html.dark .ddl-icon{background:rgba(71, 121, 255, 0.18);color:#93b4ff}.ddl-icon svg{width:1.25rem;height:1.25rem}.ddl-title{margin:0 0 0.65rem;font-size:1.5rem;font-weight:700;line-height:1.25;letter-spacing:-0.02em;color:#0f172a}html.dark .ddl-title{color:#f1f5f9}.ddl-copy{margin:0 0 1.35rem;font-size:1rem;line-height:1.65;color:#64748b}html.dark .ddl-copy{color:#94a3b8}.ddl-copy strong{color:#4779ff;font-weight:600}html.dark .ddl-copy strong{color:#93b4ff}.ddl-button{display:inline-flex;align-items:center;gap:0.45rem;padding:0.75rem 1.15rem;border-radius:10px;background:#4779ff;color:#fff;font-size:0.95rem;font-weight:600;line-height:1;text-decoration:none;transition:background-color 160ms cubic-bezier(0.2, 0, 0, 1),\n transform 160ms cubic-bezier(0.2, 0, 0, 1)}.ddl-button:hover{background:#2f5fe0;transform:translateY(-1px)}.ddl-button:focus-visible{outline:2px solid #4779ff;outline-offset:3px}.ddl-button-icon{width:1rem;height:1rem}@media (prefers-reduced-motion: reduce){.ddl-button{transition:none}.ddl-button:hover{transform:none}}.welcome-section{padding:1.3rem 1.5rem 0;border-radius:14px;border:1px solid rgba(148, 163, 184, 0.12);background:rgba(148, 163, 184, 0.04);margin-bottom:2rem}html.dark .welcome-section{border-color:rgba(148, 163, 184, 0.1);background:rgba(148, 163, 184, 0.03)}.welcome-word-rotator{margin:0 0 1rem;padding:0 0 1rem;border-bottom:1px dashed rgba(148, 163, 184, 0.2)}html.dark .welcome-word-rotator{border-bottom-color:rgba(148, 163, 184, 0.15)}.welcome-section h3{margin-top:1.75rem;margin-bottom:-1rem}.wwr-title{margin:0;font-size:2rem;font-weight:700;line-height:1.3;letter-spacing:-0.02em;color:#0f172a}html.dark .wwr-title{color:#f1f5f9}.wwr-line{display:block}.wwr-line+.wwr-line{margin-top:0.1rem}.wwr-word{white-space:nowrap}.wwr-char{display:inline-block;will-change:transform, opacity, filter;transform-style:preserve-3d;backface-visibility:hidden}.wwr-accent{color:#4779ff;font-weight:550;perspective:400px}html.dark .wwr-accent{color:#93b4ff}#banner{background-color:#4779ff}.event-hero{margin:0 0 1.5rem}.event-hero-banner{width:100%;height:auto;display:block;border-radius:14px;box-shadow:0 10px 32px rgba(15, 23, 42, 0.22)}.event-hero-meta{display:flex;flex-wrap:wrap;gap:0.5rem;margin-top:0.9rem}.event-tag{display:inline-flex;align-items:center;gap:0.4rem;padding:0.35rem 0.85rem;border-radius:999px;font-size:0.85rem;font-weight:600;color:#2f5fe0;background:rgba(71, 121, 255, 0.12);border:1px solid rgba(71, 121, 255, 0.25)}html.dark .event-tag{color:#93b4ff;background:rgba(71, 121, 255, 0.16);border-color:rgba(71, 121, 255, 0.32)}@media (min-width: 768px){.nav-logo{height:2.25rem!important;max-width:18rem!important}}.mcp-install-button{pointer-events:none!important;user-select:none!important;-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important}.before\\:bg-background-light::before,.chat-assistant-floating-input::before{content:none!important;display:none!important;background:none!important;background-color:transparent!important;height:0!important}.rn-qs-dark{display:none}.rn-qs-light{display:block}html.dark .rn-qs-dark{display:block}html.dark .rn-qs-light{display:none}html.light .rn-qs-dark{display:none}html.light .rn-qs-light{display:block}.llm-copy-btn{display:inline-flex;align-items:center;gap:6px;margin-bottom:12px;padding:7px 14px;background-color:#4779ff;color:#fff;font-size:13px;font-weight:500;border:none;border-radius:6px;cursor:pointer;transition:background-color 0.15s ease, opacity 0.15s ease}.llm-copy-btn:hover{background-color:#2f5fe0}.llm-copy-btn--copied{background-color:#16a34a}.llm-copy-btn--copied:hover{background-color:#15803d}html.dark{--ds-bg: #0c0e13;--ds-elevated: #1b1d22;--ds-border: #282b33;--ds-text: #ececec;--ds-muted: #6f7177;--ds-subtitle: #8f93ab;--ds-primary: #5c89ff}html.light{--ds-bg: #ffffff;--ds-elevated: #fafafb;--ds-border: #e9ecf2;--ds-text: #26272e;--ds-muted: #5f6478;--ds-subtitle: #8f93ab;--ds-primary: #5c89ff}html:is(.light,.dark) .DocSearch-Container,html:is(.light,.dark) .DocSearch-Modal{--docsearch-primary-color: var(--ds-primary);--docsearch-highlight-color: var(--ds-primary);--docsearch-logo-color: var(--ds-muted);--docsearch-text-color: var(--ds-text);--docsearch-muted-color: var(--ds-muted);--docsearch-hit-color: var(--ds-text);--docsearch-hit-active-color: var(--ds-text);--docsearch-container-background: rgb(0 0 0 / 0.6);--docsearch-modal-background: var(--ds-bg);--docsearch-searchbox-background: transparent;--docsearch-searchbox-focus-background: transparent;--docsearch-hit-background: transparent;--docsearch-footer-background: var(--ds-bg);--docsearch-modal-shadow: 0 4px 8px -6px rgb(24 39 75 / 0.02),\n 0 8px 24px -4px rgb(24 39 75 / 0.05),\n 0 0 0 1px var(--ds-border);--docsearch-hit-shadow: none;--docsearch-footer-shadow: 0 -1px 0 0 var(--ds-border);--docsearch-searchbox-shadow: none;--docsearch-key-gradient: var(--ds-bg);--docsearch-key-shadow: inset 0 0 0 1px var(--ds-border),\n 0 2px 0 0 var(--ds-border);--docsearch-key-pressed-shadow: inset 0 0 0 1px var(--ds-border),\n 0 1px 0 0 var(--ds-border);--docsearch-hit-height: auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html:is(.light,.dark) .DocSearch-Modal{max-width:558px;height:auto;max-height:min(80vh, 720px);border-radius:12px;overflow:hidden}html:is(.light,.dark) .DocSearch-Dropdown{height:auto;padding:12px 16px;max-height:calc(min(80vh, 720px) - 56px - 54px)}html:is(.light,.dark) .DocSearch-Dropdown-Container{display:flex;flex-direction:column;gap:17px}html:is(.light,.dark) .DocSearch-Hits ul{display:flex;flex-direction:column;gap:2px}html:is(.light,.dark) .DocSearch-SearchBar{padding:12px;border-bottom:1px solid var(--ds-border)}html:is(.light,.dark) .DocSearch-SearchBar:has(.DocSearch-Input:not(:placeholder-shown)){background:var(--ds-elevated)}html:is(.light,.dark) .DocSearch-Form{height:auto;padding:0;gap:8px;background:transparent;box-shadow:none}html:is(.light,.dark) .DocSearch-Input{padding:0;font-size:14px;font-weight:400;line-height:20px;color:var(--ds-text)}html:is(.light,.dark) .DocSearch-Input::placeholder{color:var(--ds-muted);opacity:1}html:is(.light,.dark) .DocSearch-Hit-source{height:auto;margin:0 0 6px;padding:0;background:transparent;font-size:12px;font-weight:500;line-height:18px;letter-spacing:0;text-transform:none;color:var(--ds-primary)}html:is(.light,.dark) .DocSearch-Hit{height:auto;padding:0}html:is(.light,.dark) .DocSearch-Hit a{height:54px;padding:8px 10px;border:1px solid transparent;border-radius:8px;background:transparent;display:flex;align-items:center;transition-property:background-color, border-color;transition-duration:120ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1)}html:is(.light,.dark) .DocSearch-Hit[aria-selected=\"true\"] a{background:var(--ds-elevated);border-color:var(--ds-border)}html:is(.light,.dark) .DocSearch-Hit-Container{display:flex;align-items:center;width:100%;height:auto;min-height:0;gap:8px}html:is(.light,.dark) .DocSearch-Hit-content-wrapper{flex:1 1 auto;min-width:0}html:is(.light,.dark) .DocSearch-Hit-action{margin-left:auto;flex-shrink:0}html:is(.light,.dark) .DocSearch-Hit-title{font-size:14px;font-weight:500;line-height:20px;color:var(--ds-text)}html:is(.light,.dark) .DocSearch-Hit-path{font-size:12px;font-weight:400;line-height:18px;color:var(--ds-muted)}html:is(.light,.dark) .DocSearch-Hit[aria-selected=\"true\"] .DocSearch-Hit-path{color:var(--ds-subtitle)}html:is(.light,.dark) .DocSearch-Hit--Result.DocSearch-Hit--Lvl1 .DocSearch-Hit-title,html:is(.light,.dark) .DocSearch-Hit--Result.DocSearch-Hit--Child .DocSearch-Hit-title,html:is(.light,.dark) .DocSearch-Hit[aria-selected=\"true\"] .DocSearch-Hit-title,html:is(.light,.dark) .DocSearch-Hit[aria-selected=\"true\"] mark{color:var(--ds-primary)}html:is(.light,.dark) .DocSearch-Hit-action{display:none}html:is(.light,.dark) .DocSearch-Hit[aria-selected=\"true\"] .DocSearch-Hit-action{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;padding:2px;border-radius:4px;background:var(--ds-bg);box-shadow:inset 0 0 0 1px var(--ds-border),\n 0 2px 0 0 var(--ds-border);flex-shrink:0}html:is(.light,.dark) .DocSearch-Footer{height:auto;padding:16px;background:var(--ds-bg);border-top:1px solid var(--ds-border);border-radius:0 0 12px 12px;box-shadow:none}html:is(.light,.dark) .DocSearch-Commands{gap:20px}html:is(.light,.dark) .DocSearch-Commands li{gap:6px}html:is(.light,.dark) .DocSearch-Commands-Key{position:relative;width:22px;height:22px;min-width:22px;margin:0;padding:2px;border-radius:4px;display:inline-flex;align-items:center;justify-content:center;font-size:11px;font-weight:500;color:var(--ds-muted)}html:is(.light,.dark) .DocSearch-Label{font-size:14px;font-weight:400;line-height:20px;color:var(--ds-muted)}html:is(.light,.dark) .DocSearch-Logo a>*{display:none}html:is(.light,.dark) .DocSearch-Logo a{font-size:11px;font-weight:400;line-height:1;color:var(--ds-muted);text-decoration:none;border-radius:2px;opacity:0.6;transition-property:opacity;transition-duration:150ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1)}html:is(.light,.dark) .DocSearch-Logo a::before{content:'Search by Algolia'}html:is(.light,.dark) .DocSearch-MagnifierLabel>*,html:is(.light,.dark) .DocSearch-Reset>*,html:is(.light,.dark) .DocSearch-Hit-icon>*,html:is(.light,.dark) .DocSearch-Hit-action>*{display:none!important}html:is(.light,.dark) .DocSearch-Commands li:nth-child(1) .DocSearch-Commands-Key>*,html:is(.light,.dark) .DocSearch-Commands li:nth-child(2) .DocSearch-Commands-Key>*{display:none!important}html:is(.light,.dark) .DocSearch-Hit-Tree,html:is(.light,.dark) .DocSearch-Hit-action-button,html:is(.light,.dark) .DocSearch-Hit-action~.DocSearch-Hit-action{display:none!important}html:is(.light,.dark) .DocSearch-MagnifierLabel,html:is(.light,.dark) .DocSearch-Reset,html:is(.light,.dark) .DocSearch-Hit-icon{display:inline-block;width:16px;height:16px;padding:0;background-color:var(--ds-muted);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}html:is(.light,.dark) .DocSearch-MagnifierLabel{-webkit-mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1zZWFyY2giIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiA+IDxwYXRoIGQ9Im0yMSAyMS00LjM0LTQuMzQiIC8+IDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiIC8+IDwvc3ZnPg==\");mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1zZWFyY2giIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiA+IDxwYXRoIGQ9Im0yMSAyMS00LjM0LTQuMzQiIC8+IDxjaXJjbGUgY3g9IjExIiBjeT0iMTEiIHI9IjgiIC8+IDwvc3ZnPg==\")}html:is(.light,.dark) .DocSearch-Reset{position:relative;width:16px;height:16px;border:0;border-radius:2px;cursor:pointer;transition-property:transform, opacity;transition-duration:100ms;transition-timing-function:cubic-bezier(0.2, 0, 0, 1);-webkit-mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS14IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8cGF0aCBkPSJNMTggNiA2IDE4IiAvPiA8cGF0aCBkPSJtNiA2IDEyIDEyIiAvPiA8L3N2Zz4=\");mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS14IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8cGF0aCBkPSJNMTggNiA2IDE4IiAvPiA8cGF0aCBkPSJtNiA2IDEyIDEyIiAvPiA8L3N2Zz4=\")}html:is(.light,.dark) .DocSearch-Reset[hidden]{display:none}html:is(.light,.dark) .DocSearch-Reset::after{content:'';position:absolute;inset:-12px}html:is(.light,.dark) .DocSearch-Hit-icon{-webkit-mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1maWxlLXRleHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiA+IDxwYXRoIGQ9Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6IiAvPiA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4gPHBhdGggZD0iTTEwIDlIOCIgLz4gPHBhdGggZD0iTTE2IDEzSDgiIC8+IDxwYXRoIGQ9Ik0xNiAxN0g4IiAvPiA8L3N2Zz4=\");mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1maWxlLXRleHQiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyIgd2lkdGg9IjI0IiBoZWlnaHQ9IjI0IiB2aWV3Qm94PSIwIDAgMjQgMjQiIGZpbGw9Im5vbmUiIHN0cm9rZT0iYmxhY2siIHN0cm9rZS13aWR0aD0iMiIgc3Ryb2tlLWxpbmVjYXA9InJvdW5kIiBzdHJva2UtbGluZWpvaW49InJvdW5kIiA+IDxwYXRoIGQ9Ik02IDIyYTIgMiAwIDAgMS0yLTJWNGEyIDIgMCAwIDEgMi0yaDhhMi40IDIuNCAwIDAgMSAxLjcwNC43MDZsMy41ODggMy41ODhBMi40IDIuNCAwIDAgMSAyMCA4djEyYTIgMiAwIDAgMS0yIDJ6IiAvPiA8cGF0aCBkPSJNMTQgMnY1YTEgMSAwIDAgMCAxIDFoNSIgLz4gPHBhdGggZD0iTTEwIDlIOCIgLz4gPHBhdGggZD0iTTE2IDEzSDgiIC8+IDxwYXRoIGQ9Ik0xNiAxN0g4IiAvPiA8L3N2Zz4=\")}html:is(.light,.dark) .DocSearch-Hit--Result.DocSearch-Hit--Lvl1 .DocSearch-Hit-icon,html:is(.light,.dark) .DocSearch-Hit--Result.DocSearch-Hit--Child .DocSearch-Hit-icon{-webkit-mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1oYXNoIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iOSIgeTI9IjkiIC8+IDxsaW5lIHgxPSI0IiB4Mj0iMjAiIHkxPSIxNSIgeTI9IjE1IiAvPiA8bGluZSB4MT0iMTAiIHgyPSI4IiB5MT0iMyIgeTI9IjIxIiAvPiA8bGluZSB4MT0iMTYiIHgyPSIxNCIgeTE9IjMiIHkyPSIyMSIgLz4gPC9zdmc+\");mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1oYXNoIiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8bGluZSB4MT0iNCIgeDI9IjIwIiB5MT0iOSIgeTI9IjkiIC8+IDxsaW5lIHgxPSI0IiB4Mj0iMjAiIHkxPSIxNSIgeTI9IjE1IiAvPiA8bGluZSB4MT0iMTAiIHgyPSI4IiB5MT0iMyIgeTI9IjIxIiAvPiA8bGluZSB4MT0iMTYiIHgyPSIxNCIgeTE9IjMiIHkyPSIyMSIgLz4gPC9zdmc+\")}html:is(.light,.dark) .DocSearch-Hit[aria-selected=\"true\"] .DocSearch-Hit-icon{background-color:var(--ds-text)}html:is(.light,.dark) .DocSearch-Hit[aria-selected=\"true\"] .DocSearch-Hit-action::before{content:'';width:16px;height:16px;background-color:var(--ds-text);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3JuZXItZG93bi1sZWZ0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8cGF0aCBkPSJNMjAgNHY3YTQgNCAwIDAgMS00IDRINCIgLz4gPHBhdGggZD0ibTkgMTAtNSA1IDUgNSIgLz4gPC9zdmc+\");mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3JuZXItZG93bi1sZWZ0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8cGF0aCBkPSJNMjAgNHY3YTQgNCAwIDAgMS00IDRINCIgLz4gPHBhdGggZD0ibTkgMTAtNSA1IDUgNSIgLz4gPC9zdmc+\")}html:is(.light,.dark) .DocSearch-Commands li:nth-child(1) .DocSearch-Commands-Key::before,html:is(.light,.dark) .DocSearch-Commands li:nth-child(2) .DocSearch-Commands-Key:nth-child(1)::before,html:is(.light,.dark) .DocSearch-Commands li:nth-child(2) .DocSearch-Commands-Key:nth-child(2)::before{content:'';width:16px;height:16px;background-color:var(--ds-muted);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat}html:is(.light,.dark) .DocSearch-Commands li:nth-child(1) .DocSearch-Commands-Key::before{-webkit-mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3JuZXItZG93bi1sZWZ0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8cGF0aCBkPSJNMjAgNHY3YTQgNCAwIDAgMS00IDRINCIgLz4gPHBhdGggZD0ibTkgMTAtNSA1IDUgNSIgLz4gPC9zdmc+\");mask-image:url(\"data:image/svg+xml;base64,PHN2ZyBjbGFzcz0ibHVjaWRlIGx1Y2lkZS1jb3JuZXItZG93bi1sZWZ0IiB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyNCIgaGVpZ2h0PSIyNCIgdmlld0JveD0iMCAwIDI0IDI0IiBmaWxsPSJub25lIiBzdHJva2U9ImJsYWNrIiBzdHJva2Utd2lkdGg9IjIiIHN0cm9rZS1saW5lY2FwPSJyb3VuZCIgc3Ryb2tlLWxpbmVqb2luPSJyb3VuZCIgPiA8cGF0aCBkPSJNMjAgNHY3YTQgNCAwIDAgMS00IDRINCIgLz4gPHBhdGggZD0ibTkgMTAtNSA1IDUgNSIgLz4gPC9zdmc+\")}html:is(.light,.dark) .DocSearch-Commands li:nth-child(2) .DocSearch-Commands-Key:nth-child(1)::before{-webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\u003cpath d='m5 12 7-7 7 7'/>\u003cpath d='M12 19V5'/>\u003c/svg>\");mask-image:url(\"data:image/svg+xml;utf8,\u003csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\u003cpath d='m5 12 7-7 7 7'/>\u003cpath d='M12 19V5'/>\u003c/svg>\")}html:is(.light,.dark) .DocSearch-Commands li:nth-child(2) .DocSearch-Commands-Key:nth-child(2)::before{-webkit-mask-image:url(\"data:image/svg+xml;utf8,\u003csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\u003cpath d='M12 5v14'/>\u003cpath d='m19 12-7 7-7-7'/>\u003c/svg>\");mask-image:url(\"data:image/svg+xml;utf8,\u003csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'>\u003cpath d='M12 5v14'/>\u003cpath d='m19 12-7 7-7-7'/>\u003c/svg>\")}html:is(.light,.dark) .DocSearch-Reset:focus-visible,html:is(.light,.dark) .DocSearch-Logo a:focus-visible{outline:2px solid var(--ds-primary);outline-offset:4px}html:is(.light,.dark) .DocSearch-Logo a:focus-visible{opacity:1;outline-offset:3px}html:is(.light,.dark) .DocSearch-Reset:active{transform:scale(0.96)}@media (hover: hover){html:is(.light,.dark) .DocSearch-Reset:hover{opacity:0.8}html:is(.light,.dark) .DocSearch-Logo a:hover{opacity:1}}@media (prefers-reduced-motion: reduce){html:is(.light,.dark) .DocSearch-Hit a,html:is(.light,.dark) .DocSearch-Logo a,html:is(.light,.dark) .DocSearch-Reset{transition:none}html:is(.light,.dark) .DocSearch-Reset:active{transform:none}}.nav-tabs{flex:1 1 auto;min-width:0;align-items:center;gap:0.25rem!important;overflow-x:auto;overflow-y:hidden;scrollbar-width:none;-ms-overflow-style:none;scroll-padding-inline:0.625rem}.nav-tabs::-webkit-scrollbar{display:none}.nav-tabs-item{flex:0 0 auto}.nav-tabs-item{white-space:nowrap;height:auto;padding:0.375rem 0.625rem;border-radius:0.5rem;gap:0!important;color:#5f6478;transition:background-color 0.15s ease,\n color 0.15s ease}.nav-tabs-item>svg,.nav-tabs-item>div>svg{display:none}.nav-tabs-item>div.absolute{display:none!important}.nav-tabs-item[data-active=\"true\"]{background-color:#edf1fe;color:#2b55c7}.nav-tabs-item:focus-visible{outline:2px solid #4779ff;outline-offset:2px;color:#26272e}html.dark .nav-tabs-item{color:#8f93ab}html.dark .nav-tabs-item:focus-visible{outline-color:#69a5ff;color:#ececec}html.dark .nav-tabs-item[data-active=\"true\"]{background-color:rgb(105 165 255 / 14%);color:#a0bfff}@media (hover: hover){.nav-tabs-item:hover{background-color:#f4f5f8;color:#26272e}.nav-tabs-item[data-active=\"true\"]:hover{background-color:#e4ebfd;color:#2b55c7}html.dark .nav-tabs-item:hover{background-color:#1b1d22;color:#ececec}html.dark .nav-tabs-item[data-active=\"true\"]:hover{background-color:rgb(105 165 255 / 20%);color:#a0bfff}}@media (prefers-reduced-motion: reduce){.nav-tabs-item{transition:none}}div:has(>.nav-tabs){border-bottom:1px solid #e9ecf2}html.dark div:has(>.nav-tabs){border-bottom-color:#282b33}a[href$=\"demo.dynamic.xyz/\"]>span[class*=\"bg-primary-dark\"]{background-color:#2e57d1}@media (hover: hover){a[href$=\"demo.dynamic.xyz/\"]:hover>span[class*=\"bg-primary-dark\"]{background-color:#22409e}}div:has(>.nav-tabs){height:auto!important;padding-block:0.4375rem}#sidebar-content .sidebar-group li:has(>button>div:first-child:not(.flex-1))>ul{margin-left:1.5rem}"}],"page":{"pagePath":"react/wallets/external-wallets/multi-wallet","slug":"/react/wallets/external-wallets/multi-wallet","pageMetadata":{"title":"Multiple Wallet Connections (Multi-Wallet)","description":null,"href":"/react/wallets/external-wallets/multi-wallet"},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,..._provideComponents(),...props.components},{Card,Heading}=_components;if(!Card)_missingMdxReference(`Card`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(Card,{title:`Recommended: JavaScript SDK with React Hooks`,icon:`react`,color:`#4779FE`,children:_jsxs(_components.p,{children:[`For new React apps, we recommend the JavaScript SDK with React Hooks (`,_jsx(_components.code,{children:`@dynamic-labs-sdk/react-hooks`}),`) instead of the legacy React SDK documented here. The JS SDK comes with many benefits such as a much smaller bundle size and other optimizations. Use the `,_jsx(_components.a,{href:`/javascript/reference/react-quickstart`,children:`React quickstart (JavaScript SDK)`}),` to get started.`]})}),`\n`,_jsx(Heading,{level:`3`,id:`summary`,children:`Summary`}),`\n`,_jsxs(_components.p,{children:[`Lots of users have multiple wallets but managing multiple wallets and multiple\naccounts for each wallet is challenging. You have to manage event listeners,\nvarious connection states, wallets shared across accounts, and much much more.\nIf you want to learn more about our multi-wallet solution, check out our\n`,_jsx(_components.a,{href:`https://www.dynamic.xyz/blog/multi-wallet-announcement`,children:`blog post`}),`.`]}),`\n`,_jsx(_components.p,{children:`Our multiwallet widget allows your users to easily:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`Add multiple wallets`}),`\n`,_jsx(_components.li,{children:`Add multiple accounts from the same wallet`}),`\n`,_jsx(_components.li,{children:`Transfer wallets between accounts`}),`\n`,_jsx(_components.li,{children:`It is mobile friendly`}),`\n`,_jsx(_components.li,{children:`Keep track of the active account in a wallet`}),`\n`,_jsx(_components.li,{children:`Swap primary wallets`}),`\n`,_jsx(_components.li,{children:`and so much more.`}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`To simplify management of these scenarios and the resulting edge cases, we’ve\nreleased a widget that does it for you. You can see it in action on our\n`,_jsx(_components.a,{href:`https://demo.dynamic.xyz`,children:`demo site`}),`.`]}),`\n`,_jsx(Heading,{level:`3`,id:`setup`,children:`Setup`}),`\n`,_jsxs(_components.p,{children:[`To enable multiwallet, simply visit `,_jsx(_components.a,{href:`https://console.dynamic.xyz/dashboard/log-in-user-profile`,children:`the Log in \u0026 User Profile section of the Dynamic Console`}),` and toggle it on in the “External Wallets” section.`]}),`\n`,_jsx(Heading,{level:`3`,id:`how-it-works`,children:`How it works`}),`\n`,_jsx(Heading,{level:`4`,id:`connect-only`,children:`Connect-only`}),`\n`,_jsx(_components.p,{children:`When a user initially connects an additional wallet, they go through the normal wallet connection flow.`}),`\n`,_jsx(_components.p,{children:`Once connected, the wallet is added to the Wallets list and the user can switch between wallets as needed.`}),`\n`,_jsx(_components.p,{children:`If the user manually disconnects a wallet from the extension/app, the wallet gets removed from the Wallets list (unless the no disconnect event is emitted by the wallet extension/app).`}),`\n`,_jsx(_components.p,{children:`If the user manually disconnects their primary wallet, they get logged out.`}),`\n`,_jsx(_components.p,{children:`If a wallet gets disconnected while the user is not in the app using Dynamic (or we don’t detect any disconnect events), the wallet will remain in the Wallets list, and once the user tries to take any action with it (e.g. send a transaction), we’ll check the state and prompt them to re-connect.`}),`\n`,_jsx(_components.p,{children:`When a user connects a wallet, they cannot connect another wallet from the same provider through the widget. However, if they switch account in the wallet extension/app while in the app that is using Dynamic, we’ll detect this account change and automatically switch the previously connected wallet to the new one (unless no accountChange event is emitted by the wallet extension/app).`}),`\n`,_jsx(_components.p,{children:`Example:\nIf the user initially connects with MetaMask account 1, they cannot connect another MetaMask account. However, it they switch to MetaMask account 2, that will be the account connected to Dynamic and the address that they’ll see in the widget, not account 1 anymore.`}),`\n`,_jsx(Heading,{level:`4`,id:`connect-and-sign`,children:`Connect-and-sign`}),`\n`,_jsx(_components.p,{children:`When a user initially links an additional wallet, they go through the normal wallet connection flow i.e. connect and sign a message.`}),`\n`,_jsx(_components.p,{children:`Once connected, the wallet is added to the user’s profile and they can switch between wallets as needed.`}),`\n`,_jsx(_components.p,{children:`When unused, we do not keep track of the wallets states once they are linked, meaning the user can lock their wallets, change accounts and so on. This avoids extra friction for the user, as the wallets are not in use at that time, and all that matters is that they have a valid JWT.`}),`\n`,_jsx(_components.p,{children:`However, once the user is ready to take action using a linked wallet, we check the state and can prompt them to unlock, change back to the connected account etc.`}),`\n`,_jsx(Heading,{level:`3`,id:`custom-ui-multi-wallet`,children:`Custom UI Multi-Wallet`}),`\n`,_jsxs(_components.p,{children:[`Multi-wallet functionality comes bundled as part of the user profile, and we have a guide to achieve every aspect of this in a hooks only manner `,_jsx(_components.a,{href:`/react/users/displaying-updating`,children:`here`}),`.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Multiple Wallet Connections (Multi-Wallet)","description":null,"href":"/react/wallets/external-wallets/multi-wallet"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Summary","slug":"summary","depth":3,"children":[]},{"title":"Setup","slug":"setup","depth":3,"children":[]},{"title":"How it works","slug":"how-it-works","depth":3,"children":[]},{"title":"Connect-only","slug":"connect-only","depth":4,"children":[]},{"title":"Connect-and-sign","slug":"connect-and-sign","depth":4,"children":[]},{"title":"Custom UI Multi-Wallet","slug":"custom-ui-multi-wallet","depth":3,"children":[]}],"codeExamples":{}},"jsLinks":["/docs/_mintlify/custom/dynamic-docs-testing/fd6becaed25bf0d8/algolia-docsearch.js","/docs/_mintlify/custom/dynamic-docs-testing/078be96a1e454d1f/generate-llms.js","/docs/_mintlify/custom/dynamic-docs-testing/14f3898c5e985cd5/snippets/gsap-text-plugin.js","/docs/_mintlify/custom/dynamic-docs-testing/c174bfce53a72941/snippets/gsap.js","/docs/_mintlify/custom/dynamic-docs-testing/ea6028ffcc794f21/llm-copy-button.js","/docs/_mintlify/custom/dynamic-docs-testing/c071bd14c4f40dfd/onetrust.js"],"subdomain":"dynamic-docs-testing","siteName":"Dynamic","title":"Multiple Wallet Connections (Multi-Wallet) - Dynamic","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-11-05T15:47:13.670Z","gitLastModified":"2026-10-29T09:53:04.000Z","originalFileLocation":"react/wallets/external-wallets/multi-wallet.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"application-name\" content=\"Dynamic\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon/android-chrome-192x192.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"apple-touch-icon\" type=\"image/png\" sizes=\"180x180\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Multiple Wallet Connections (Multi-Wallet) - Dynamic\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Dynamic\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://dynamic-docs-testing.mintlify.app/_mintlify/api/og/v2?division=External+Wallets\u0026amp;title=Multiple+Wallet+Connections+%28Multi-Wallet%29\u0026amp;theme=9bec92bca96868fc0aaaeb3b\u0026amp;signature=78fe99b3306d034b24b6fd4a75598dee6c02d7f979d7670e7db38ce8c8721cc1\">\u003cmeta data-mint-head property=\"og:image:width\" content=\"1200\">\u003cmeta data-mint-head property=\"og:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"twitter:card\" content=\"summary_large_image\">\u003cmeta data-mint-head name=\"twitter:title\" content=\"Multiple Wallet Connections (Multi-Wallet) - Dynamic\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://dynamic-docs-testing.mintlify.app/_mintlify/api/og/v2?division=External+Wallets\u0026amp;title=Multiple+Wallet+Connections+%28Multi-Wallet%29\u0026amp;theme=9bec92bca96868fc0aaaeb3b\u0026amp;signature=78fe99b3306d034b24b6fd4a75598dee6c02d7f979d7670e7db38ce8c8721cc1\">\u003cmeta data-mint-head name=\"twitter:image:width\" content=\"1200\">\u003cmeta data-mint-head name=\"twitter:image:height\" content=\"630\">\u003cmeta data-mint-head name=\"msapplication-config\" content=\"/docs/mintlify-assets/_mintlify/favicons/dynamic-docs-testing/mdILYDruq-iWk8yv/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Dynamic\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4779FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/docs/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/docs/react/wallets/external-wallets/multi-wallet.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://www.dynamic.xyz/#organization\",\"name\":\"Dynamic\",\"url\":\"https://www.dynamic.xyz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/dynamic-docs-testing/CXYm3HK725eun9ev/logo/dynamic-fireblocks-icon-light.svg?fit=max\u0026auto=format\u0026n=CXYm3HK725eun9ev\u0026q=85\u0026s=c050cd8c41715aa71119f91c19221cb3\"}},{\"@type\":\"WebSite\",\"@id\":\"https://www.dynamic.xyz/docs#website\",\"name\":\"Dynamic\",\"url\":\"https://www.dynamic.xyz/docs\",\"publisher\":{\"@id\":\"https://www.dynamic.xyz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet#webpage\",\"url\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet\",\"name\":\"Multiple Wallet Connections (Multi-Wallet)\",\"dateModified\":\"2026-10-29T09:53:04.000Z\",\"isPartOf\":{\"@id\":\"https://www.dynamic.xyz/docs#website\"},\"breadcrumb\":{\"@id\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Implementation Guides\",\"item\":\"https://www.dynamic.xyz/docs/react/reference/quickstart\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Wallets\",\"item\":\"https://www.dynamic.xyz/docs/react/wallets/embedded-wallets/mpc/setup\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Setup\",\"item\":\"https://www.dynamic.xyz/docs/react/wallets/embedded-wallets/mpc/setup\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"External Wallets\",\"item\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/external-wallets-overview\"},{\"@type\":\"ListItem\",\"position\":5,\"name\":\"Multiple Wallet Connections (Multi-Wallet)\",\"item\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet#article\",\"headline\":\"Multiple Wallet Connections (Multi-Wallet)\",\"name\":\"Multiple Wallet Connections (Multi-Wallet)\",\"url\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet\",\"mainEntityOfPage\":{\"@id\":\"https://www.dynamic.xyz/docs/react/wallets/external-wallets/multi-wallet#webpage\"},\"dateModified\":\"2026-10-29T09:53:04.000Z\",\"publisher\":{\"@id\":\"https://www.dynamic.xyz/#organization\"},\"isPartOf\":{\"@id\":\"https://www.dynamic.xyz/docs#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Dynamic\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Dynamic","nav":{"global":null,"tabs":[{"tab":"Get Started","icon":"rocket","pages":[{"title":"Get Started","href":"/get-started/welcome"}]},{"tab":"Embedded Wallets","icon":"wallet","pages":[{"title":"Embedded Wallets","href":"/embedded-wallets/mpc/overview"}]},{"tab":"Business Accounts","icon":"building","pages":[{"title":"Business Accounts","href":"/business-accounts/accounts"}]},{"tab":"Policies","icon":"shield-check","pages":[{"title":"Policies","href":"/embedded-wallets/mpc/policies/overview"}]},{"tab":"Auth","icon":"door-open","pages":[{"title":"Auth","href":"/auth/overview"}]},{"tab":"Agents","icon":"server","pages":[{"title":"Agents","href":"/agents/overview"}]},{"tab":"Fireblocks Flow","icon":"coins","pages":[{"title":"Fireblocks Flow","href":"/flow/overview"}]},{"tab":"Earn","icon":"chart-line","pages":[{"title":"Earn","href":"/earn/overview"}]},{"tab":"Funding","icon":"money-bill-transfer","pages":[{"title":"Funding","href":"/funding/overview"}]},{"tab":"Reference","icon":"book-open","menu":[{"item":"Javascript, React \u0026 React Native","icon":"js","pages":[{"title":"Javascript, React \u0026 React Native","href":"/javascript/reference/overview"}]},{"item":"Swift","icon":"swift","pages":[{"title":"Swift","href":"/swift/sdk-reference/overview"}]},{"item":"Kotlin","icon":"android","pages":[{"title":"Kotlin","href":"/kotlin/sdk-reference/overview"}]},{"item":"Flutter","icon":"flutter","pages":[{"title":"Flutter","href":"/flutter/sdk-reference/overview"}]},{"item":"Unity","icon":"unity","pages":[{"title":"Unity","href":"/unity/sdk-reference/overview"}]},{"item":"Node","icon":"node","pages":[{"title":"Node","href":"/node/reference/auth/authenticate-jwt"}]},{"item":"REST API","icon":"code","pages":[{"title":"REST API","href":"/api-reference/overview"}]},{"item":"Legacy React","icon":"react","groups":[{"group":"Implementation Guides","icon":"rocket","pages":[{"group":"Installation \u0026 Configuration","icon":"wrench","pages":[{"title":"React Quickstart","href":"/react/reference/quickstart"},{"title":"Iframe Integration","href":"/react/reference/iframe"},{"title":"Using Wagmi","href":"/react/reference/using-wagmi"},{"title":"Using Ethers","href":"/react/reference/using-ethers"},{"title":"SDK/User Loading States","href":"/react/reference/loading-login-states"}]},{"group":"Authenticate","icon":"door-open","pages":[{"title":"Authentication screens","href":"/react/authentication-methods/headless-authentication"},{"title":"Authenticate with Email","href":"/react/authentication-methods/email"},{"title":"Authenticate with Social","href":"/react/authentication-methods/social"},{"title":"Authenticate with SMS","href":"/react/authentication-methods/sms"},{"title":"Authenticate with Passkey","href":"/react/authentication-methods/passkey"},{"title":"Authenticate with External Wallets","href":"/react/authentication-methods/external-wallets"},{"title":"Authenticate with an external JWT","href":"/react/authentication-methods/external-jwt"},{"title":"Cookie-based authentication","href":"/react/authentication-methods/cookie-authentication"},{"title":"Adding Captcha Protection","href":"/react/authentication-methods/captcha"},{"title":"Device Registration","href":"/react/authentication-methods/device-registration"},{"group":"MFA","pages":[{"title":"MFA Overview","href":"/react/authentication-methods/mfa/overview"},{"title":"MFA Enrollment","href":"/react/authentication-methods/mfa/account-based"},{"title":"Action-Based MFA","href":"/react/authentication-methods/mfa/action-based"},{"title":"MFA Device Management","href":"/react/authentication-methods/mfa/device-management"}]},{"group":"Step-Up Authentication","pages":[{"title":"Step-Up Authentication","href":"/react/authentication-methods/step-up-auth/overview"},{"title":"External Auth Step-Up","href":"/react/authentication-methods/step-up-auth/external-auth"}]}]},{"group":"Wallets","icon":"wallet","pages":[{"group":"Setup","pages":[{"group":"Embedded Wallets (MPC)","pages":[{"title":"Setup Embedded Wallets","href":"/react/wallets/embedded-wallets/mpc/setup"},{"title":"Embedded Wallet Signing Configuration","href":"/react/wallets/embedded-wallets/mpc/transactions"},{"title":"Recovering an Embedded Wallet","href":"/react/wallets/embedded-wallets/mpc/recovery"},{"title":"Password encryption","href":"/react/wallets/embedded-wallets/mpc/password-encryption"},{"title":"Migrate from Fireblocks","href":"/react/wallets/embedded-wallets/mpc/migrate-from-fireblocks"},{"title":"Google Drive backup setup","href":"/react/wallets/embedded-wallets/mpc/google-drive-backup"},{"title":"Policies \u0026 Rules","href":"/react/wallets/embedded-wallets/mpc/policies"},{"group":"Delegated Access","pages":[{"title":"Triggering Delegation","href":"/react/wallets/embedded-wallets/mpc/delegated-access/triggering-delegation"},{"title":"Delegation Flow","href":"/react/wallets/embedded-wallets/mpc/delegated-access/receiving-delegation"},{"title":"Storage Best Practices","href":"/react/wallets/embedded-wallets/mpc/delegated-access/storage-best-practices"},{"title":"Developer Actions","href":"/react/wallets/embedded-wallets/mpc/delegated-access/developer-actions"},{"title":"Revoking Delegation","href":"/react/wallets/embedded-wallets/mpc/delegated-access/revoking-delegation"}]},{"title":"Upgrading to TSS-MPC (V3 Wallets)","href":"/react/wallets/embedded-wallets/mpc/upgrade-guide"}]},{"group":"External Wallets","pages":[{"title":"External Wallets Overview","href":"/react/wallets/external-wallets/external-wallets-overview"},{"title":"Connected vs Authenticated","description":null,"href":"/react/wallets/external-wallets/connected-vs-authenticated"},{"title":"Multiple Wallet Connections (Multi-Wallet)","href":"/react/wallets/external-wallets/multi-wallet"},{"title":"Recommend Wallets at Signup","description":null,"href":"/react/wallets/external-wallets/recommend-wallets"},{"title":"Sort and Filter Wallets","href":"/react/wallets/external-wallets/sort-and-filter-wallets"},{"title":"Address Screening","href":"/react/wallets/external-wallets/address-screening"},{"title":"Custom Sign Message","href":"/react/wallets/external-wallets/custom-sign-message"},{"title":"Coinbase Smart Wallet","href":"/react/wallets/external-wallets/coinbase-smart-wallet"},{"title":"Phantom Redirect","href":"/react/wallets/external-wallets/phantom-redirect"}]},{"group":"Global Wallets","pages":[{"title":"Global Wallets Overview","href":"/react/global-wallets/overview"},{"title":"Create Your Own Global Wallet Package","sidebarTitle":"Global Wallet as a Package","href":"/react/global-wallets/create-your-own-package"},{"title":"Global Wallet Native API","href":"/react/global-wallets/global-wallet-native-api"},{"title":"Sponsor Gas for Global Wallets","href":"/react/global-wallets/global-wallets-gasless"},{"title":"Custom Terms of Service and Privacy Policy (Global Wallets only)","sidebarTitle":"Custom ToS and PP","href":"/react/global-wallets/custom-tos-and-pp"},{"title":"Gasless Transactions on zkSync Era for Global Wallets","href":"/react/global-wallets/global-wallets-gasless-transactions-zksync-era"},{"title":"QR Scanning (Global Connectivity)","href":"/react/global-wallets/qr-scanning"},{"title":"Web3 Wallet Libraries","href":"/react/global-wallets/web3-libraries"},{"title":"Export Global Wallet Key","href":"/react/global-wallets/export"}]},{"group":"Legacy Embedded Wallets","pages":[{"title":"Creating Embedded Wallets (Legacy)","href":"/react/wallets/embedded-wallets/legacy/create-embedded-wallets"},{"title":"Wallet Reveal and Unlinking (Legacy)","href":"/react/wallets/embedded-wallets/legacy/reveal-export"}]}]},{"group":"Usage","pages":[{"group":"General","pages":[{"title":"Creating Wallets","href":"/react/wallets/embedded-wallets/mpc/creating-wallets"},{"title":"Pre-generating Wallets","href":"/react/wallets/embedded-wallets/mpc/create-pregen-wallet"},{"title":"Fetch External Wallets to Connect","href":"/react/wallets/using-wallets/general/fetch-display-wallets"},{"title":"Link/Unlink a Wallet","href":"/react/wallets/using-wallets/general/link-a-wallet"},{"title":"Accessing Connected Wallets","href":"/react/wallets/using-wallets/accessing-wallets"},{"title":"Track Wallet Events/Changes","href":"/react/wallets/using-wallets/general/wallet-events"},{"title":"Switch user's wallet","href":"/react/wallets/using-wallets/general/switch-wallet"},{"title":"Fetch Balance","href":"/react/wallets/using-wallets/general/show-balance"},{"title":"Fetch Token Balances","href":"/react/wallets/using-wallets/general/get-token-balances"},{"title":"Fetch wallet transactions","href":"/react/wallets/using-wallets/general/get-wallet-transactions"},{"title":"Display Networks","href":"/react/wallets/using-wallets/general/display-networks"},{"title":"Send Assets","href":"/react/wallets/using-wallets/general/send-balance"},{"title":"Multi Asset UI","href":"/react/wallets/using-wallets/general/multi-asset"},{"title":"Importing \u0026 Exporting Embedded Wallets","href":"/react/wallets/embedded-wallets/mpc/import-export"}]},{"group":"Chain Specific","pages":[{"group":"Aleo","pages":[{"title":"Aleo Wallets","href":"/react/wallets/using-wallets/aleo/using-aleo-wallets"},{"title":"Aleo Embedded Wallets","sidebarTitle":"Embedded Wallets","href":"/react/wallets/using-wallets/aleo/aleo-wallets"}]},{"group":"EVM","pages":[{"title":"Using EVM Wallets","href":"/react/wallets/using-wallets/evm/using-evm-wallets"},{"title":"Fetch Balance","href":"/react/wallets/using-wallets/evm/get-wallet-balance"},{"title":"Get balance for all wallets","href":"/react/wallets/using-wallets/evm/get-balance-for-all-wallets"},{"title":"Sign a transaction on Ethereum/EVM","href":"/react/wallets/using-wallets/evm/sign-a-transaction"},{"title":"Send a transaction on Ethereum/EVM","href":"/react/wallets/using-wallets/evm/send-a-transaction"},{"title":"Mint an NFT on EVM with Wagmi","href":"/react/wallets/using-wallets/evm/send-a-transaction-wagmi"},{"title":"Estimate Gas","href":"/react/wallets/using-wallets/evm/estimate-gas"},{"title":"Sign a message in Ethereum/EVM","href":"/react/wallets/using-wallets/evm/sign-a-message"},{"title":"Sign Typed Data in Ethereum/EVM","href":"/react/wallets/using-wallets/evm/sign-typed-data"},{"title":"Raw Signing (EVM)","href":"/react/wallets/using-wallets/evm/raw-signing"},{"title":"Validate Signatures","href":"/react/wallets/using-wallets/evm/validate-signatures"},{"title":"Configure Viem's WalletClient","href":"/react/wallets/using-wallets/evm/configure-viem-walletclient"},{"title":"EIP-5792","href":"/react/wallets/using-wallets/evm/eip-5792"}]},{"group":"Solana","pages":[{"title":"Using Solana Wallets","href":"/react/wallets/using-wallets/solana/solana-wallets"},{"title":"Tips for transactions with Solana embedded wallets","href":"/react/wallets/using-wallets/solana/solana-transaction-tips"},{"title":"Send Solana Legacy Transaction","href":"/react/wallets/using-wallets/solana/send-legacy-solana-transaction"},{"title":"Send a Versioned Solana Transaction","href":"/react/wallets/using-wallets/solana/send-versioned-solana-transaction"},{"title":"Gasless Transactions on Solana with a Fee Payer","href":"/react/wallets/using-wallets/solana/gasless-transactions"},{"title":"Sponsored Transactions on Solana with a Relayer","href":"/react/wallets/using-wallets/solana/sponsored-transactions-kora"}]},{"group":"Bitcoin","pages":[{"title":"Bitcoin Wallets","href":"/react/wallets/using-wallets/bitcoin/bitcoin-wallets"},{"title":"Send Bitcoin","href":"/react/wallets/using-wallets/bitcoin/send-a-transaction"},{"title":"Send a raw transaction","href":"/react/wallets/using-wallets/bitcoin/send-raw-transaction"},{"title":"Sign a message","href":"/react/wallets/using-wallets/bitcoin/sign-a-message"},{"title":"Sign a Partially Signed Bitcoin Transaction (PSBT)","href":"/react/wallets/using-wallets/bitcoin/sign-a-psbt"},{"title":"Sign a Partially Signed Bitcoin Transaction (PSBT) with Embedded Wallets","href":"/react/wallets/using-wallets/bitcoin/sign-a-pbst-embedded"},{"title":"Create a Partially Signed Bitcoin Transaction (PSBT)","href":"/react/wallets/using-wallets/bitcoin/create-a-psbt"}]},{"group":"Cosmos","pages":[{"title":"Cosmos Wallets","href":"/react/wallets/using-wallets/cosmos/cosmos-wallets"}]},{"group":"Sui","pages":[{"title":"Sui Wallets","href":"/react/wallets/using-wallets/sui/using-sui-wallets"},{"title":"Send A Sui Transaction","href":"/react/wallets/using-wallets/sui/send-sui-transaction"},{"title":"Gasless Transactions on Sui","href":"/react/wallets/using-wallets/sui/gasless-transactions"}]},{"group":"Midnight","pages":[{"title":"Using Midnight embedded wallets","href":"/react/wallets/using-wallets/midnight/midnight-embedded-wallets"},{"title":"Deploying and calling Midnight contracts","href":"/react/wallets/using-wallets/midnight/midnight-contracts"},{"title":"Using Midnight external wallets","href":"/react/wallets/using-wallets/midnight/using-midnight-wallets"}]},{"group":"Spark","pages":[{"title":"Spark Wallets","href":"/react/wallets/using-wallets/spark/spark-wallets"},{"title":"Spark Wallet Integration Guide","href":"/react/wallets/using-wallets/spark/integration-guide"}]},{"group":"Stellar","pages":[{"title":"Using Stellar wallets","href":"/react/wallets/using-wallets/stellar/stellar-wallets"}]},{"group":"Tron","pages":[{"title":"Tron Wallets","href":"/react/wallets/using-wallets/tron/tron-wallets"},{"title":"Tron Wallet Integration Guide","href":"/react/wallets/using-wallets/tron/integration-guide"}]},{"group":"TON","pages":[{"title":"TON Wallets","href":"/react/wallets/using-wallets/ton/ton-wallets"},{"title":"Send TON","href":"/react/wallets/using-wallets/ton/send-ton"},{"title":"Send a Raw Transaction","href":"/react/wallets/using-wallets/ton/send-raw-transaction"},{"title":"Generate TON Connect Proof","href":"/react/wallets/using-wallets/ton/generate-ton-connect-proof"},{"title":"Send Jettons","href":"/react/wallets/using-wallets/ton/send-jettons"}]}]}]}]},{"group":"Gasless","icon":"gas-pump","pages":[{"group":"EVM","pages":[{"title":"EVM Gas Sponsorship","href":"/react/smart-wallets/evm-gas-sponsorship"},{"title":"Gas Sponsorship Setup","href":"/react/smart-wallets/add-smart-wallets"},{"title":"Advanced Usage","href":"/react/smart-wallets/advanced"},{"group":"Alternate Providers","pages":[{"title":"zkSync","href":"/react/smart-wallets/smart-wallet-providers/zksync"},{"title":"Gelato","href":"/react/smart-wallets/smart-wallet-providers/gelato"},{"title":"Alchemy","href":"/react/smart-wallets/smart-wallet-providers/alchemy"},{"title":"Pimlico","href":"/react/smart-wallets/smart-wallet-providers/pimlico"},{"title":"Biconomy","href":"/react/smart-wallets/smart-wallet-providers/biconomy"},{"title":"Rhinestone","href":"/react/smart-wallets/smart-wallet-providers/rhinestone"},{"title":"Safe","href":"/react/smart-wallets/smart-wallet-providers/safe"},{"title":"Circle","href":"/react/smart-wallets/smart-wallet-providers/circle"},{"title":"Metamask","href":"/react/smart-wallets/smart-wallet-providers/metamask"},{"title":"Crossmint","href":"/react/smart-wallets/smart-wallet-providers/crossmint"}]}]},{"group":"SVM","pages":[{"title":"SVM Gas Sponsorship","href":"/react/smart-wallets/svm-gas-sponsorship"}]}]},{"group":"Money \u0026 Funding","icon":"dollar-sign","pages":[{"title":"Fund from External Wallet","href":"/react/money-and-funding/fund-from-external-wallet"},{"group":"Fund from Exchange","pages":[{"title":"Overview","href":"/react/money-and-funding/fund-from-exchange/overview"},{"title":"Coinbase","href":"/react/money-and-funding/fund-from-exchange/coinbase"},{"title":"Kraken","href":"/react/money-and-funding/fund-from-exchange/kraken"},{"title":"Crypto.com Onramp","href":"/react/money-and-funding/fund-from-exchange/crypto-dot-com"}]},{"group":"Onramp","pages":[{"title":"Default Onramp Experiences","href":"/react/money-and-funding/default-onramps"},{"title":"Customizing the Onramp Experience","href":"/react/money-and-funding/customizing-the-onramp-experience"},{"title":"Coinbase Onramp (Apple Pay, No KYC)","href":"/react/money-and-funding/coinbase-onramp"},{"title":"MoonPay Onramp","href":"/react/money-and-funding/moonpay"}]}]},{"group":"Chains \u0026 Networks","icon":"link","pages":[{"title":"Enabling Chains \u0026 Networks","href":"/react/chains/enabling-chains"},{"title":"Adding Custom Networks","href":"/react/chains/adding-custom-networks"},{"title":"Using Networks","href":"/react/chains/using-networks"},{"title":"Using RPC Providers","href":"/react/chains/rpc-urls"},{"title":"Bridge Widget","href":"/react/building-bridges/dynamic-bridge-widget"},{"title":"Build Multi-Chain Bridging with Custom UI","href":"/react/building-bridges/headless-bridge-widget"}]},{"group":"Users \u0026 Verified Credentials","icon":"user-check","pages":[{"title":"Accessing Users","href":"/react/users/accessing-users"},{"title":null,"href":"/react/users/check-for-missing-info"},{"title":"Displaying \u0026 Updating User Info","href":"/react/users/displaying-updating"},{"title":"Verified Credentials","href":"/react/users/verified-credential"},{"title":"Distinguishing Between Login Methods","href":"/react/users/distinguishing-login-methods"},{"title":"Collecting Extra Information (Information Capture)","href":"/react/users/information-capture"},{"title":"Custom Information Capture","href":"/react/custom-fields/overview"},{"title":"Email and Phone Verification","href":"/react/users/email-verification"},{"title":"Social Linking","href":"/react/users/social-linking"},{"title":"Account Deletion","href":"/react/users/account-deletion"}]},{"group":"Gating \u0026 Access Control","icon":"lock","pages":[{"title":"Access Lists","href":"/react/gating/access-lists"},{"title":"NFT/Token Gating","href":"/react/gating/nft-token-gating"}]},{"group":"Customizing Our UI","icon":"palette","pages":[{"title":"UI Customization Overview","href":"/react/using-our-ui/design-customizations/customizing-ui"},{"title":"Customizing Signup/Login UI","href":"/react/using-our-ui/design-customizations/signup-login"},{"title":"Adapt UI With Views","href":"/react/using-our-ui/design-customizations/views"},{"title":"Adapt Copy With Translations","href":"/react/using-our-ui/design-customizations/customizing-copy-translations"},{"title":"Customizing Terms of Service (ToS) \u0026 Privacy Policy (All Wallets)","href":"/react/using-our-ui/design-customizations/tos-privacy-policy"},{"title":"Themes \u0026 Settings","href":"/react/using-our-ui/design-customizations/css/themes"},{"title":"CSS Variables","href":"/react/using-our-ui/design-customizations/css/css-variables"},{"title":"Custom CSS","href":"/react/using-our-ui/design-customizations/css/custom-css"},{"group":"Tutorials","pages":[{"title":"Login Views Tutorial","href":"/react/using-our-ui/design-customizations/tutorials/login-views-guide"},{"title":"Wallet List Views Tutorial","href":"/react/using-our-ui/design-customizations/tutorials/wallet-list-views-guide"},{"title":"Design Techniques Tutorial","href":"/react/using-our-ui/design-customizations/tutorials/design-tutorial"},{"title":"Inject Extra Content in Widget","href":"/react/using-our-ui/design-customizations/tutorials/custom-widget-content"}]}]}]},{"group":"SDK Reference","icon":"terminal","pages":[{"group":"Providers \u0026 Connectors","icon":"plug","pages":[{"title":"Providers and Connectors Introduction","href":"/react/reference/providers/providers-introduction"},{"title":"DynamicContextProvider","href":"/react/reference/providers/dynamiccontextprovider"},{"title":"DynamicWagmiConnector","href":"/react/reference/providers/dynamicwagmiconnector"}]},{"group":"UI Components","icon":"puzzle","pages":[{"title":"Components Introduction","href":"/react/reference/components/components-introduction"},{"title":"DynamicBridgeWidget","href":"/react/reference/components/dynamicbridgewidget"},{"title":"DynamicConnectButton","href":"/react/reference/components/dynamicconnectbutton"},{"title":"DynamicEmbeddedWidget","href":"/react/reference/components/dynamicembeddedwidget"},{"title":"DynamicMultiWalletPromptsWidget","href":"/react/reference/components/dynamicmultiwalletpromptswidget"},{"title":"DynamicWidget","href":"/react/reference/components/dynamicwidget"},{"title":"DynamicUserProfile","href":"/react/reference/components/dynamicuserprofile"},{"title":"DynamicNav","href":"/react/reference/components/dynamicwidgetnav"}]},{"group":"Hooks","icon":"anchor","pages":[{"title":"Hooks Introduction","href":"/react/reference/hooks/hooks-introduction"},{"group":"Core Hooks","pages":[{"title":"useDynamicContext","href":"/react/reference/hooks/usedynamiccontext"},{"title":"useDynamicEvents","href":"/react/reference/hooks/usedynamicevents"},{"title":"useDynamicModals","href":"/react/reference/hooks/usedynamicmodals"},{"title":"useDynamicScopes","href":"/react/reference/hooks/usedynamicscopes"},{"title":"useReinitialize","href":"/react/reference/hooks/usereinitialize"},{"title":"useRpcProviders","href":"/react/reference/hooks/userpcproviders"},{"title":"useSwitchNetwork","href":"/react/reference/hooks/useswitchnetwork"},{"title":"useTokenBalances","href":"/react/reference/hooks/usetokenbalances"},{"title":"useMultichainTokenBalances","href":"/react/reference/hooks/usemultichaintokenbalances"},{"title":"usePrivateTokenBalances","href":"/react/reference/hooks/useprivatetokenbalances"},{"title":"Token Balances","href":"/react/reference/token-balances"},{"title":"useSendBalance","href":"/react/reference/hooks/usesendbalance"},{"title":"useTransactionSimulation","href":"/react/reference/hooks/usetransactionsimulation"}]},{"group":"Login \u0026 User Management","pages":[{"title":"useAuthenticateConnectedUser","href":"/react/reference/hooks/login-user-management/useauthenticatedconnecteduser"},{"title":"useConnectWithOtp","href":"/react/reference/hooks/login-user-management/useconnectwithotp"},{"title":"useExternalAuth","href":"/react/reference/hooks/login-user-management/useexternalauth"},{"title":"useSignInWithPasskey","href":"/react/reference/hooks/login-user-management/usesigninwithpasskey"},{"title":"useRegisterPasskey","href":"/react/reference/hooks/login-user-management/userregisterpasskey"},{"title":"useIsLoggedIn","href":"/react/reference/hooks/login-user-management/useisloggedin"},{"title":"useOtpVerificationRequest","href":"/react/reference/hooks/login-user-management/useotpverificationrequest"},{"title":"useRefreshAuth","href":"/react/reference/hooks/login-user-management/userefreshauth"},{"title":"useRefreshUser","href":"/react/reference/hooks/login-user-management/userefreshuser"},{"title":"useUserUpdateRequest","href":"/react/reference/hooks/login-user-management/useuserupdaterequest"},{"title":"useDeleteUserAccount","href":"/react/reference/hooks/login-user-management/usedeleteuseraccount"},{"title":"useSocialAccounts","href":"/react/reference/hooks/login-user-management/usesocialaccounts"},{"title":"useDeletePasskey","href":"/react/reference/hooks/login-user-management/usedeletepasskey"},{"title":"useStepUpAuthentication","href":"/react/reference/hooks/login-user-management/usestepupauthentication"},{"group":"MFA","pages":[{"title":"usePromptMfaAuth","href":"/react/reference/hooks/login-user-management/usepromptmfa"},{"title":"useGetMfaToken","href":"/react/reference/hooks/login-user-management/usegetmfatoken"},{"title":"useAuthenticatePasskeyMFA","href":"/react/reference/hooks/login-user-management/useauthenticatepasskeymfa"},{"title":"useSyncMfaFlow","href":"/react/reference/hooks/login-user-management/usesyncmfaflow"},{"title":"useIsMfaRequiredForAction","href":"/react/reference/hooks/login-user-management/useismfarequiredforaction"}]}]},{"group":"Wallets","pages":[{"title":"useSmartWallets","href":"/react/reference/hooks/wallets/usesmartwallets"},{"title":"useSwitchWallet","href":"/react/reference/hooks/wallets/useswitchwallet"},{"title":"useUserWallets","href":"/react/reference/hooks/wallets/useuserwallets"},{"title":"useWalletConnectorEvent","href":"/react/reference/hooks/wallets/usewalletconnectorevent"},{"title":"useWalletItemActions","href":"/react/reference/hooks/wallets/usewalletitemactions"},{"title":"useWalletOptions","href":"/react/reference/hooks/wallets/usewalletoptions"}]},{"group":"Embedded Wallets","pages":[{"title":"useDynamicWaas","href":"/react/reference/hooks/embedded-wallets/usedynamicwaas"},{"title":"useEmbeddedReveal","href":"/react/reference/hooks/embedded-wallets/useembeddedreveal"},{"title":"useWalletDelegation","href":"/react/reference/hooks/embedded-wallets/usewalletdelegation"},{"title":"useWalletBackup","href":"/react/reference/hooks/embedded-wallets/usewalletbackup"},{"title":"useGoogleDriveBackupReadiness","href":"/react/reference/hooks/embedded-wallets/usegoogledrivebackupreadiness"},{"title":"useWalletPassword","href":"/react/reference/hooks/embedded-wallets/usewalletpassword"}]},{"group":"Legacy Embedded Wallets","pages":[{"title":"useEmbeddedWallet","href":"/react/reference/hooks/legacy-embedded-wallets/useembeddedwallet"},{"title":"usePasskeyRecovery","href":"/react/reference/hooks/legacy-embedded-wallets/usepasskeyrecovery"},{"title":"useUpgradeEmbeddedWallet","href":"/react/reference/hooks/legacy-embedded-wallets/useupgradeembeddedwallet"}]},{"group":"Funding","pages":[{"title":"useFundWithWallet","href":"/react/reference/hooks/funding/usefundwithwallet"},{"title":"useExchangeAccounts","href":"/react/reference/hooks/funding/useexchangeaccounts"},{"title":"useOpenFundingOptions","href":"/react/reference/hooks/funding/useopenfundingoptions"},{"title":"useOnramp","href":"/react/reference/hooks/funding/useonramp"},{"title":"usePayWithDynamic","href":"/react/reference/hooks/funding/usepaywithdynamic"}]}]},{"group":"Events","icon":"bell","pages":[{"title":"Events Introduction","href":"/react/reference/events/events-introduction"},{"title":"Dynamic Events","href":"/react/reference/events/dynamic-events"},{"group":"Event Callbacks","pages":[{"title":"onAuthFlowCancel","href":"/react/reference/events/onauthflowcancel"},{"title":"onAuthFlowClose","href":"/react/reference/events/onauthflowclose"},{"title":"onAuthFlowOpen","href":"/react/reference/events/onauthflowopen"},{"title":"onAuthFailure","href":"/react/reference/events/onauthfailure"},{"title":"onAuthInit","href":"/react/reference/events/onauthinit"},{"title":"onAuthSuccess","href":"/react/reference/events/onauthsuccess"},{"title":"onEmbeddedWalletCreated","href":"/react/reference/events/onembeddedwalletcreated"},{"title":"onLogout","href":"/react/reference/events/onlogout"},{"title":"onOtpVerificationResult","href":"/react/reference/events/onotpverificationresult"},{"title":"onSignedMessage","href":"/react/reference/events/onsignedmessage"},{"title":"onUserProfileUpdate","href":"/react/reference/events/onuserprofileupdate"},{"title":"onWalletAdded","href":"/react/reference/events/onwalletadded"},{"title":"onWalletRemoved","href":"/react/reference/events/onwalletremoved"},{"title":"onWalletTabSelected","href":"/react/reference/events/onWalletTabSelected"},{"title":"onWalletConnectionFailed","href":"/react/reference/events/onWalletConnectionFailed"}]}]},{"group":"Handlers","icon":"code","pages":[{"title":"Handlers Introduction","href":"/react/reference/handlers/handlers-introduction"},{"title":"handleConnectedWallet","href":"/react/reference/handlers/handleconnectedwallet"},{"title":"handleAuthenticatedUser","href":"/react/reference/handlers/handleauthenticateduser"}]},{"group":"Objects \u0026 Utilities","icon":"cube","pages":[{"title":"React Objects Introduction","href":"/react/reference/objects/references-introduction"},{"group":"Objects","pages":[{"title":"AccessDeniedCustomButton","href":"/react/reference/objects/access-denied-custom-button"},{"title":"EvmNetwork","href":"/react/reference/objects/evmNetwork"},{"title":"EvmRpcProvider","href":"/react/reference/objects/EvmRpcProvider"},{"title":"EvmRpcProviderMethods","href":"/react/reference/objects/EvmRpcProviderMethods"},{"title":"GenericNetwork","href":"/react/reference/objects/GenericNetwork"},{"title":"LocaleResource","href":"/react/reference/objects/locale"},{"title":"NameService","href":"/react/reference/objects/NameService"},{"title":"NativeCurrency","href":"/react/reference/objects/NativeCurrency"},{"title":"PhoneData","href":"/react/reference/objects/phone-data"},{"title":"SolanaRpcProvider","href":"/react/reference/objects/SolanaRpcProvider"},{"title":"SolanaRpcProviderMethods","href":"/react/reference/objects/SolanaRpcProviderMethods"},{"title":"SocialProvider","href":"/react/reference/objects/social-provider"},{"title":"JWT Payload","href":"/react/reference/objects/user-payload"},{"title":"UserProfile","href":"/react/reference/objects/userprofile"},{"title":"JwtVerifiedCredential","href":"/react/reference/objects/verified-credential"},{"title":"SdkViews","href":"/react/reference/objects/views"},{"title":"Wallet","href":"/react/reference/objects/wallet"},{"title":"WalletOption","href":"/react/reference/objects/wallet-option"},{"title":"WalletConnectConnector","href":"/react/reference/objects/walletconnect-connector"},{"title":"WalletConnector","href":"/react/reference/objects/walletconnector"},{"title":"WalletsByChain","href":"/react/reference/objects/wallets-by-chain"}]},{"group":"Utilities","pages":[{"title":"Utilities Introduction","href":"/react/reference/utilities/utilities-introduction"},{"title":"getAuthToken","href":"/react/reference/utilities/getauthtoken"},{"title":"getMinAuthToken","href":"/react/reference/utilities/getminauthtoken"},{"title":"getNetwork","href":"/react/reference/utilities/getnetwork"},{"title":"getOrMapViemChain","href":"/react/reference/utilities/getormapviemchain"},{"title":"isZeroDevConnector","href":"/react/reference/utilities/is-zero-dev-connector"},{"title":"isAuthenticatedWithAWallet","href":"/react/reference/utilities/isauthenticatedwithawallet"},{"title":"isLedgerSolanaWallet","href":"/react/reference/utilities/isledgersolanawallet"},{"title":"mergeNetworks","href":"/react/reference/utilities/mergenetworks"},{"title":"overrideNetworkRpcUrl","href":"/react/reference/utilities/overridenetworkrpcurl"}]}]},{"group":"Upgrade Guides","icon":"arrow-up","pages":[{"title":"Upgrade SDK from V4 to V5","href":"/react/reference/upgrade/v5"},{"title":"Upgrade SDK from V3 to V4","href":"/react/reference/upgrade/v4"},{"title":"Upgrade SDK from V2 to V3","href":"/react/reference/upgrade/v3"},{"title":"Upgrade SDK from V1 to V2","href":"/react/reference/upgrade/v2"},{"title":"Upgrade SDK from V0 to V1","href":"/react/reference/upgrade/v1"}]}]}]},{"item":"Legacy React Native","icon":"mobile-screen","pages":[{"title":"Legacy React Native","href":"/react-native/reference/introduction"}]}]},{"tab":"Recipes","icon":"book-open","pages":[{"title":"Recipes","href":"/recipes/recipes"}]}]},"basePath":"","title":"Multiple Wallet Connections (Multi-Wallet) - Dynamic","buildId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","deploymentId":"dpl_9yaRmq8qi7yyMZn9oEWmKEdYMvGZ","dynamics":[],"chunks":[]}