Set up EVM guardian recovery or a Solana recovery authority.
EVM social recovery lets one or more guardian accounts rotate the smart account’s owner-validator configuration. Guardians cannot send normal transactions, but they can replace owners without approval from the current owner.
There is no recovery time delay. A guardian threshold can take ownership
immediately. Prefer several independently controlled guardians and a threshold
greater than one.
This SDK flow is separate from managed wallet recovery. Managed recovery verifies a user’s email or OAuth identity and registers a new app-origin passkey. The Custom signer flow below installs accounts you control as on-chain guardians.Follow the Custom signer quickstart first. For EVM guardian recovery, configure a production bundler as described in ERC-4337; it uses UserOperations, not Rhinestone intents. Solana recovery uses the authority-management procedure below, without a bundler.
An existing Nexus account using the default owner validator must migrate while its current owner is still available. Adding recovery to the local SDK configuration does not migrate an already deployed account.
Guardian recovery does not support EIP-7702 Nexus accounts. Recovery modules
cannot revoke the EOA’s authority over its delegated account.
Solana uses Swig authority roles, not the EVM guardian validator. This procedure enrolls one secp256k1 recovery key; it does not provide guardian thresholds, a delay, or Smart Session restrictions. The configured Solana owner is one viem secp256k1 account or WebAuthn account, not an Ed25519 signer. See Solana support for scope.Before enrollment, save both id and swig from createSolanaSwigId(), configure that swig with the intended root owner, and call deploy('solana', solanaDevnet, { swigId: id }). Do not prefund a predictable, undeployed address. Deployment returning true can mean the Swig already existed; it does not confirm the configured owner’s role. Verify the on-chain root key and permissions before funding. The root is permanent and cannot be removed.This example continues a deployed managed Solana solanaAccount and a securely held viem local recoverySigner. For a remote signer, enroll its secp256k1 public key as hex instead; an EVM address is not a public key. Persist the recovery public key and Swig identity, never the private key in client storage.
import { addEcdsaKey, solanaDevnet } from '@rhinestone/sdk/solana'const enrollRecovery = { destination: { chain: solanaDevnet, authority: addEcdsaKey(recoverySigner.publicKey, { permission: 'manageAuthority', }), },}const prepared = await solanaAccount.prepareTransaction(enrollRecovery)const signed = await solanaAccount.signTransaction(prepared)await solanaAccount.waitForExecution( await solanaAccount.submitTransaction(signed),)const role = await solanaAccount.getAuthorityStatus(enrollRecovery)if (role.status !== 'applied') { throw new Error('Recovery role is missing or has conflicting permissions')}
getAuthorityStatus checks this specific authority change, not global account readiness. conflict is not success. Authority changes use the shared intent lifecycle and are always gas-sponsored, including role rent; they do not take source or sponsored.
Both manageAuthority and all can grant all to another key and take over
the wallet. Treat the recovery key as a root-level secret, even though
manageAuthority cannot spend directly. Recovery cannot revoke a compromised
permanent root; move assets to a new wallet if the root is compromised.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Rhinestone","colors":{"primary":"#4f41ef","light":"#8479ff","dark":"#3428d1"},"logo":{"light":"https://mintcdn.com/rhinestone/IVpDy9zUkncYAe5u/logo/light.svg?fit=max\u0026auto=format\u0026n=IVpDy9zUkncYAe5u\u0026q=85\u0026s=6868a5854576ff60d371d5fdc0ae55c9","dark":"https://mintcdn.com/rhinestone/IVpDy9zUkncYAe5u/logo/dark.svg?fit=max\u0026auto=format\u0026n=IVpDy9zUkncYAe5u\u0026q=85\u0026s=2f9bff4fef6da993b8782b8e5d7357c5"},"favicon":"https://mintcdn.com/rhinestone/BVnq0VV8MigHINpS/favicon.svg?fit=max\u0026auto=format\u0026n=BVnq0VV8MigHINpS\u0026q=85\u0026s=25439e41b789b8369c52fa15ceae2644","appearance":{"default":"dark","strict":true},"background":{"color":{"dark":"#0C0C0C"}},"navbar":{"links":[{"href":"https://dashboard.rhinestone.dev","label":"Dashboard"},{"href":"https://github.com/rhinestonewtf","label":"GitHub"}]},"icons":{"library":"lucide"},"contextual":{"options":["copy","view","claude","chatgpt"],"display":"header"},"styling":{"latex":true},"navigation":{"global":{"anchors":[{"anchor":"Create API Key","icon":"key","href":"https://tally.so/r/wg22x4"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"rhinestone","hasAudioNarration":false,"actualSubdomain":"rhinestone","customDomains":["docs.rhinestone.dev"],"gitSource":{"type":"github","owner":"rhinestonewtf","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6aeb4295a60f76c94453464a","collectionId":"7618524b-8144-4f55-a620-58d79fbeddf2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6aeb4295a60f76c94453464a"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6aeb4295a60f76c94453464a","clientVersion":"0.0.4074","searchFilterCounts":[{"language":"default","tag":"Wallets","count":153},{"language":"default","tag":"Custom signer","count":107},{"language":"default","tag":"Deposits","count":88},{"language":"default","tag":"SDK reference","count":74},{"language":"default","tag":"API Reference","count":67},{"language":"default","tag":"Transactions","count":30},{"language":"default","tag":"Account","count":28},{"language":"default","tag":"Overview","count":25},{"language":"default","tag":"Actions","count":25},{"language":"default","tag":"Session keys","count":21}]},"assistantConfig":{},"basePath":"","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},{"name":"comment-mode","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":":root{--background: #0C0C0C}.vm-code-group{--vm-menu-bg: #fff;--vm-menu-border: rgb(0 0 0 / 10%);--vm-hover: rgb(0 0 0 / 5%);margin:1.5rem 0;border:1px solid #404045;border-radius:12px}.dark .vm-code-group{--vm-menu-bg: #171717;--vm-menu-border: rgb(255 255 255 / 10%);--vm-hover: rgb(255 255 255 / 7%)}.vm-code-group-header{display:flex;align-items:center;justify-content:space-between;gap:0.75rem;padding:0.375rem 0.75rem;border-bottom:1px solid #404045;font-size:0.8125rem}.vm-code-caption{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;opacity:0.65}.vm-code-selector{position:relative;flex:none}.vm-code-trigger,.vm-code-option{display:flex;align-items:center;gap:0.5rem;min-height:32px;padding:0.375rem 0.5rem;border:0;border-radius:6px;background:transparent;color:inherit;font:inherit;line-height:1.25;cursor:pointer}.vm-code-trigger:hover,.vm-code-trigger[aria-expanded=\"true\"],.vm-code-option:hover,.vm-code-option:focus{background:var(--vm-hover)}.vm-code-trigger:focus-visible,.vm-code-option:focus-visible{outline:2px solid #8b7bf7;outline-offset:2px}.vm-code-group .vm-code-icon{display:block;flex:none;width:16px;height:16px;margin:0;border-radius:0}.vm-code-chevron{margin-left:0.125rem;opacity:0.55;transition:transform 150ms ease}.vm-code-trigger[aria-expanded=\"true\"] .vm-code-chevron{transform:rotate(180deg)}.vm-code-menu{position:absolute;top:calc(100% + 6px);right:0;z-index:30;min-width:156px;padding:4px;border:1px solid var(--vm-menu-border);border-radius:10px;background:var(--vm-menu-bg);box-shadow:0 8px 24px rgb(0 0 0 / 18%)}.vm-code-option{width:100%;text-align:left}.vm-code-check{margin-left:auto;opacity:0.65}@media (pointer: coarse){.vm-code-trigger,.vm-code-option{min-height:44px}}@media (prefers-reduced-motion: reduce){.vm-code-chevron{transition:none}}.vm-code-group-panel>*{margin:0!important;border:0!important;border-radius:0 0 12px 12px;box-shadow:none!important}.vm-code-group-panel[hidden]{display:none}.prose table{display:table}table{border-collapse:separate;border-spacing:0;border:1px solid #404045;border-radius:8px;width:fit-content!important}table th,table td{border-right:1px solid #404045;border-bottom:1px solid #404045;padding:12px 16px!important}table th:last-child,table td:last-child{border-right:none}table tr:last-child td{border-bottom:none}table th{background-color:#201E2C}table th:first-child{border-radius:8px 0 0 0}table th:last-child{border-radius:0 8px 0 0}[data-component-name=\"mermaid-controls-wrapper\"]{display:none!important}.mermaid svg .actor{fill:#17132E!important;stroke:#373352!important}.mermaid svg rect.actor{rx:6;ry:6}.mermaid svg text.actor>tspan{fill:#D3CFF7!important}.mermaid svg .actor-line{stroke:#464359!important;stroke-width:1!important}.mermaid svg .messageLine0,.mermaid svg .messageLine1{stroke:#464359!important;stroke-width:1.5!important}.mermaid svg #arrowhead path,.mermaid svg [id$=\"-arrowhead\"] path{fill:#464359!important;stroke:#464359!important}.mermaid svg #crosshead path,.mermaid svg [id$=\"-crosshead\"] path{stroke:#464359!important}.mermaid svg .messageText{fill:#C7C6CC!important}.mermaid svg .activation0,.mermaid svg .activation1,.mermaid svg .activation2{fill:#17132E!important;stroke:#373352!important}.mermaid svg .note{fill:#17132E!important;stroke:#373352!important}.mermaid svg .noteText,.mermaid svg .noteText>tspan{fill:#C7C6CC!important}.mermaid svg .loopText,.mermaid svg .loopText>tspan{fill:#C7C6CC!important}.mermaid svg .loopLine{stroke:#373352!important}.mermaid svg .labelBox{fill:#17132E!important;stroke:#373352!important}.mermaid svg .labelText,.mermaid svg .labelText>tspan{fill:#C7C6CC!important}.mermaid svg .sequenceNumber{fill:#D3CFF7!important}.mermaid svg .node rect,.mermaid svg .node circle,.mermaid svg .node ellipse,.mermaid svg .node polygon,.mermaid svg .node path{fill:#17132E!important;stroke:#373352!important}.mermaid svg .nodeLabel,.mermaid svg .node .label{color:#D3CFF7!important;fill:#D3CFF7!important}.mermaid svg .flowchart-link{stroke:#464359!important}.mermaid svg .edgeLabel,.mermaid svg .edge-label{color:#C7C6CC!important;fill:#C7C6CC!important}.mermaid .labelBkg,.mermaid .labelBkg *{background:transparent!important}.mermaid svg .marker{fill:#464359!important;stroke:#464359!important}.dark #sidebar [data-active=\"true\"]{background-color:#141414!important;border-radius:6px}.deposit-demo{container-type:inline-size}.deposit-demo-loading{position:absolute;inset:0;display:grid;place-items:center;margin:0}.deposit-demo-stage:has(iframe[data-ready=\"true\"]) .deposit-demo-loading{visibility:hidden}@container (max-width: 411px){.deposit-demo-stage{--deposit-demo-height: 629px}}"}],"page":{"pagePath":"wallets/custom-signer/recovery/set-up","slug":"/wallets/custom-signer/recovery/set-up","pageMetadata":{"title":"Set up recovery","description":"Set up EVM guardian recovery or a Solana recovery authority.","href":"/wallets/custom-signer/recovery/set-up"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Set up EVM guardian recovery or a Solana recovery authority.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"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`,p:`p`,pre:`pre`,span:`span`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`EVM social recovery lets one or more guardian accounts rotate the smart account’s owner-validator configuration. Guardians cannot send normal transactions, but they can replace owners without approval from the current owner.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`There is no recovery time delay. A guardian threshold can take ownership\nimmediately. Prefer several independently controlled guardians and a threshold\ngreater than one.`})}),`\n`,_jsxs(_components.p,{children:[`This SDK flow is separate from `,_jsx(_components.a,{href:`/wallets/recovery/set-up`,children:`managed wallet recovery`}),`. Managed recovery verifies a user’s email or OAuth identity and registers a new app-origin passkey. The Custom signer flow below installs accounts you control as on-chain guardians.`]}),`\n`,_jsxs(_components.p,{children:[`Follow the `,_jsx(_components.a,{href:`/wallets/custom-signer/quickstart`,children:`Custom signer quickstart`}),` first. For EVM guardian recovery, configure a production bundler as described in `,_jsx(_components.a,{href:`/wallets/custom-signer/configuration/erc-4337`,children:`ERC-4337`}),`; it uses UserOperations, not Rhinestone intents. Solana recovery uses the `,_jsx(_components.a,{href:`#solana-enroll-a-recovery-key`,children:`authority-management procedure below`}),`, without a bundler.`]}),`\n`,_jsx(Heading,{level:`2`,id:`evm-install-during-account-creation`,children:`EVM: install during account creation`}),`\n`,_jsx(_components.p,{children:`Add recovery to the account configuration:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`12`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`12`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` rhinestoneAccount`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` rhinestone`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` evm:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` owners:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ecdsa\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` accounts:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ownerAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` recovery:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` guardians:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`guardianAccountA`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`guardianAccountB`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`guardianAccountC`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` threshold:`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:` 2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The threshold defaults to `,_jsx(_components.code,{children:`1`}),`. Recovery is installed with the account’s other modules when the account is deployed on a chain.`]}),`\n`,_jsx(Heading,{level:`2`,id:`install-on-an-existing-account`,children:`Install on an existing account`}),`\n`,_jsx(_components.p,{children:`Install the recovery validator with an owner-signed UserOperation:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`9`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`9`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`enable`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` as`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` enableRecovery`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"@rhinestone/sdk/actions/recovery\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` result`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` rhinestoneAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`sendUserOperation`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` chain`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` calls:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` enableRecovery`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`([`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`guardianAccountA`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`guardianAccountB`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`guardianAccountC`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`], `}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`2`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` ],`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` rhinestoneAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`waitForExecution`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`result`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Set up recovery on every chain where the account needs it. Module installation on one chain does not install it elsewhere.`}),`\n`,_jsx(Heading,{level:`2`,id:`nexus-constraints`,children:`Nexus constraints`}),`\n`,_jsx(_components.p,{children:`Nexus accounts must use Ownable V0 as both their configured owner validator and the recovery target:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`15`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`15`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` ownableV0Address`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"0x2483da3a338895199e5e538530213157e931bf06\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` rhinestoneAccount`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` rhinestone`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`createAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` evm:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` account:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"nexus\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` owners:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` type:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` \"ecdsa\"`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` accounts:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`ownerAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` module:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` ownableV0Address`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` recovery:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` guardians:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`guardianAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`],`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`An existing Nexus account using the default owner validator must migrate while its current owner is still available. Adding `,_jsx(_components.code,{children:`recovery`}),` to the local SDK configuration does not migrate an already deployed account.`]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`Guardian recovery does not support EIP-7702 Nexus accounts. Recovery modules\ncannot revoke the EOA’s authority over its delegated account.`})}),`\n`,_jsx(Heading,{level:`2`,id:`solana-enroll-a-recovery-key`,children:`Solana: enroll a recovery key`}),`\n`,_jsxs(_components.p,{children:[`Solana uses Swig authority roles, not the EVM guardian validator. This procedure enrolls one secp256k1 recovery key; it does not provide guardian thresholds, a delay, or Smart Session restrictions. The configured Solana owner is one viem secp256k1 account or WebAuthn account, not an Ed25519 signer. See `,_jsx(_components.a,{href:`/wallets/custom-signer/solana-support`,children:`Solana support`}),` for scope.`]}),`\n`,_jsxs(_components.p,{children:[`Before enrollment, save both `,_jsx(_components.code,{children:`id`}),` and `,_jsx(_components.code,{children:`swig`}),` from `,_jsx(_components.code,{children:`createSolanaSwigId()`}),`, configure that `,_jsx(_components.code,{children:`swig`}),` with the intended root owner, and call `,_jsx(_components.code,{children:`deploy('solana', solanaDevnet, { swigId: id })`}),`. Do not prefund a predictable, undeployed address. Deployment returning `,_jsx(_components.code,{children:`true`}),` can mean the Swig already existed; it does not confirm the configured owner’s role. Verify the on-chain root key and permissions before funding. The root is permanent and cannot be removed.`]}),`\n`,_jsxs(_components.p,{children:[`This example continues a deployed managed Solana `,_jsx(_components.code,{children:`solanaAccount`}),` and a securely held viem local `,_jsx(_components.code,{children:`recoverySigner`}),`. For a remote signer, enroll its secp256k1 public key as hex instead; an EVM address is not a public key. Persist the recovery public key and Swig identity, never the private key in client storage.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`21`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`21`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`addEcdsaKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`solanaDevnet`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@rhinestone/sdk/solana'`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` enrollRecovery`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` destination:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` chain:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` solanaDevnet`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` authority:`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` addEcdsaKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`recoverySigner`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`publicKey`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` permission:`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'manageAuthority'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` }),`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` prepared`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` solanaAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`prepareTransaction`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`enrollRecovery`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` signed`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` solanaAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`signTransaction`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`prepared`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` solanaAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`waitForExecution`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` solanaAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`submitTransaction`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`signed`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`),`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` role`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` solanaAccount`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getAuthorityStatus`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`enrollRecovery`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`if`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` (`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`role`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`status`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` !==`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'applied'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`) {`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` throw`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:` new`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:` Error`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'Recovery role is missing or has conflicting permissions'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`}`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.code,{children:`getAuthorityStatus`}),` checks this specific authority change, not global account readiness. `,_jsx(_components.code,{children:`conflict`}),` is not success. Authority changes use the shared intent lifecycle and are always gas-sponsored, including role rent; they do not take `,_jsx(_components.code,{children:`source`}),` or `,_jsx(_components.code,{children:`sponsored`}),`.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Both `,_jsx(_components.code,{children:`manageAuthority`}),` and `,_jsx(_components.code,{children:`all`}),` can grant `,_jsx(_components.code,{children:`all`}),` to another key and take over\nthe wallet. Treat the recovery key as a root-level secret, even though\n`,_jsx(_components.code,{children:`manageAuthority`}),` cannot spend directly. Recovery cannot revoke a compromised\npermanent root; move assets to a new wallet if the root is compromised.`]})}),`\n`,_jsxs(_components.p,{children:[`Continue with `,_jsx(_components.a,{href:`/wallets/custom-signer/recovery/recover-an-account`,children:`Recover an account`}),`.`]})]})}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":{"config":{},"pageMetadata":{"title":"Set up recovery","description":"Set up EVM guardian recovery or a Solana recovery authority.","href":"/wallets/custom-signer/recovery/set-up"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"EVM: install during account creation","slug":"evm-install-during-account-creation","depth":2,"children":[]},{"title":"Install on an existing account","slug":"install-on-an-existing-account","depth":2,"children":[]},{"title":"Nexus constraints","slug":"nexus-constraints","depth":2,"children":[]},{"title":"Solana: enroll a recovery key","slug":"solana-enroll-a-recovery-key","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"rhinestone","siteName":"Rhinestone","title":"Set up recovery - Rhinestone","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-10-13T17:05:39.312Z","originalFileLocation":"wallets/custom-signer/recovery/set-up.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=\"dark\";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=\"dark\"}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=\"description\" content=\"Set up EVM guardian recovery or a Solana recovery authority.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Rhinestone\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_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=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon/favicon-16x16.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon/favicon-32x32.png\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon/favicon.ico\" media=\"(prefers-color-scheme: light)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon-dark/android-chrome-192x192.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon-dark/favicon-16x16.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"32x32\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon-dark/favicon-32x32.png\" media=\"(prefers-color-scheme: dark)\">\u003clink data-mint-head rel=\"shortcut icon\" type=\"image/x-icon\" href=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Set up recovery - Rhinestone\">\u003cmeta data-mint-head property=\"og:description\" content=\"Set up EVM guardian recovery or a Solana recovery authority.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Rhinestone\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://rhinestone.mintlify.site/_mintlify/api/og/v2?division=Recovery\u0026amp;title=Set+up+recovery\u0026amp;description=Set+up+EVM+guardian+recovery+or+a+Solana+recovery+authority.\u0026amp;theme=480304d2cd15a3be6f477401\u0026amp;signature=de1e13e7c80456468c9601f32c8934948d452c59f1ca062b4e7b15f7121cc652\">\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=\"Set up recovery - Rhinestone\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Set up EVM guardian recovery or a Solana recovery authority.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://rhinestone.mintlify.site/_mintlify/api/og/v2?division=Recovery\u0026amp;title=Set+up+recovery\u0026amp;description=Set+up+EVM+guardian+recovery+or+a+Solana+recovery+authority.\u0026amp;theme=480304d2cd15a3be6f477401\u0026amp;signature=de1e13e7c80456468c9601f32c8934948d452c59f1ca062b4e7b15f7121cc652\">\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=\"/mintlify-assets/_mintlify/favicons/rhinestone/3aadr-awyf35tysK/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Rhinestone\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#4f41ef\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/wallets/custom-signer/recovery/set-up.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.rhinestone.dev/#organization\",\"name\":\"Rhinestone\",\"url\":\"https://docs.rhinestone.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/rhinestone/IVpDy9zUkncYAe5u/logo/light.svg?fit=max\u0026auto=format\u0026n=IVpDy9zUkncYAe5u\u0026q=85\u0026s=6868a5854576ff60d371d5fdc0ae55c9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.rhinestone.dev#website\",\"name\":\"Rhinestone\",\"url\":\"https://docs.rhinestone.dev\",\"publisher\":{\"@id\":\"https://docs.rhinestone.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up#webpage\",\"url\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up\",\"name\":\"Set up recovery\",\"description\":\"Set up EVM guardian recovery or a Solana recovery authority.\",\"dateModified\":\"2026-10-13T17:05:39.312Z\",\"isPartOf\":{\"@id\":\"https://docs.rhinestone.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Rhinestone\",\"item\":\"https://docs.rhinestone.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Set up recovery\",\"item\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up#article\",\"headline\":\"Set up recovery\",\"name\":\"Set up recovery\",\"description\":\"Set up EVM guardian recovery or a Solana recovery authority.\",\"url\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up\",\"mainEntityOfPage\":{\"@id\":\"https://docs.rhinestone.dev/wallets/custom-signer/recovery/set-up#webpage\"},\"dateModified\":\"2026-10-13T17:05:39.312Z\",\"publisher\":{\"@id\":\"https://docs.rhinestone.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.rhinestone.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Rhinestone\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Rhinestone","nav":{"global":{"anchors":[{"anchor":"Create API Key","icon":"key","href":"https://tally.so/r/wg22x4"}]},"tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home/introduction"}]},{"tab":"Wallets","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/wallets/overview"}]},{"item":"Embedded wallets","pages":[{"title":"Embedded wallets","href":"/wallets/embedded-wallets/overview"}]},{"item":"Session keys","pages":[{"title":"Session keys","href":"/wallets/session-keys/overview"}]},{"item":"Recovery","pages":[{"title":"Recovery","href":"/wallets/recovery/overview"}]},{"item":"Custom signer","pages":[{"title":"Custom signer","sidebarTitle":"Overview","href":"/wallets/custom-signer/overview"},{"title":"Quickstart","href":"/wallets/custom-signer/quickstart"},{"title":"Solana support","href":"/wallets/custom-signer/solana-support"},{"group":"Account setup","public":true,"pages":[{"title":"Create an account","href":"/wallets/custom-signer/account-setup/create-an-account"},{"title":"Choose a signer","href":"/wallets/custom-signer/account-setup/choose-a-signer"},{"group":"Native signers","public":true,"pages":[{"title":"ECDSA","href":"/wallets/custom-signer/account-setup/native-signers/ecdsa"},{"title":"Passkeys","href":"/wallets/custom-signer/account-setup/native-signers/passkeys"},{"title":"Multisig","href":"/wallets/custom-signer/account-setup/native-signers/multisig"},{"title":"Multi-factor authentication","href":"/wallets/custom-signer/account-setup/native-signers/multi-factor-authentication"}]},{"group":"Embedded wallet signers","public":true,"pages":[{"title":"Privy","href":"/wallets/custom-signer/account-setup/embedded-wallet-signers/privy"},{"title":"Dynamic","href":"/wallets/custom-signer/account-setup/embedded-wallet-signers/dynamic"},{"title":"Para","href":"/wallets/custom-signer/account-setup/embedded-wallet-signers/para"},{"title":"Magic","href":"/wallets/custom-signer/account-setup/embedded-wallet-signers/magic"},{"title":"Turnkey","href":"/wallets/custom-signer/account-setup/embedded-wallet-signers/turnkey"},{"title":"Openfort","href":"/wallets/custom-signer/account-setup/embedded-wallet-signers/openfort"}]},{"group":"External wallet signers","public":true,"pages":[{"title":"External wallet signers","href":"/wallets/custom-signer/account-setup/external-wallet-signers"}]},{"group":"Account types and providers","public":true,"pages":[{"title":"EOA","href":"/wallets/custom-signer/account-setup/account-types-and-providers/eoa"},{"title":"EIP-7702","href":"/wallets/custom-signer/account-setup/account-types-and-providers/eip-7702"},{"title":"Smart account providers","href":"/wallets/custom-signer/account-setup/account-types-and-providers/smart-account-providers"},{"title":"Bring your own account","description":"Choose this path to use a compatible existing smart account with Rhinestone.","href":"/wallets/custom-signer/account-setup/account-types-and-providers/bring-your-own-account"}]}]},{"group":"Recovery","public":true,"pages":[{"title":"Set up recovery","href":"/wallets/custom-signer/recovery/set-up"},{"title":"Recover an account","description":"Recover EVM owners with guardians or add a Solana passkey with a recovery key.","href":"/wallets/custom-signer/recovery/recover-an-account"}]},{"group":"Signing","public":true,"pages":[{"title":"Message signing","href":"/wallets/custom-signer/signing/message-and-typed-data"},{"title":"Custom signing","href":"/wallets/custom-signer/signing/custom-signing"}]},{"group":"Configuration","public":true,"pages":[{"group":"Account types","public":true,"pages":[{"title":"EOA","href":"/wallets/custom-signer/configuration/account-types/eoa"},{"title":"EIP-7702","href":"/wallets/custom-signer/configuration/account-types/eip-7702"}]},{"title":"Smart account providers","href":"/wallets/custom-signer/configuration/smart-account-providers"},{"title":"Bring your own account","href":"/wallets/custom-signer/configuration/bring-your-own-account"},{"title":"JSON-RPC providers","href":"/wallets/custom-signer/configuration/json-rpc-providers"},{"title":"ERC-4337","href":"/wallets/custom-signer/configuration/erc-4337"}]},{"group":"Integration","public":true,"pages":[{"title":"Migration guide","href":"/wallets/custom-signer/integration/migration-guide"},{"title":"Security","href":"/wallets/custom-signer/integration/security"}]},{"title":"Troubleshooting","href":"/wallets/custom-signer/troubleshooting"},{"group":"SDK reference","pages":[{"group":"RhinestoneSDK","pages":[{"title":"RhinestoneSDK","href":"/wallets/custom-signer/sdk-reference/rhinestone-sdk/rhinestone-sdk"},{"title":"createAccount","href":"/wallets/custom-signer/sdk-reference/rhinestone-sdk/create-account"},{"title":"getIntentStatus","href":"/wallets/custom-signer/sdk-reference/rhinestone-sdk/get-intent-status"},{"title":"splitIntents","href":"/wallets/custom-signer/sdk-reference/rhinestone-sdk/split-intents"},{"title":"getAppFeeBalances","href":"/wallets/custom-signer/sdk-reference/rhinestone-sdk/get-app-fee-balances"},{"title":"createSession","href":"/wallets/custom-signer/sdk-reference/rhinestone-sdk/create-session"},{"title":"validateSession","href":"/wallets/custom-signer/sdk-reference/rhinestone-sdk/validate-session"}]},{"group":"Account","pages":[{"group":"Deployment","pages":[{"title":"deploy","href":"/wallets/custom-signer/sdk-reference/account/deployment/deploy"},{"title":"deploy (Solana)","href":"/wallets/custom-signer/sdk-reference/account/deployment/deploy-solana"},{"title":"isDeployed","href":"/wallets/custom-signer/sdk-reference/account/deployment/is-deployed"},{"title":"setup","href":"/wallets/custom-signer/sdk-reference/account/deployment/setup"},{"title":"getInitData","href":"/wallets/custom-signer/sdk-reference/account/deployment/get-init-data"},{"title":"signEip7702InitData","href":"/wallets/custom-signer/sdk-reference/account/deployment/sign-eip7702-init-data"}]},{"group":"Transactions","pages":[{"title":"prepareTransaction","href":"/wallets/custom-signer/sdk-reference/account/transactions/prepare-transaction"},{"title":"getTransactionMessages","href":"/wallets/custom-signer/sdk-reference/account/transactions/get-transaction-messages"},{"title":"signTransaction","href":"/wallets/custom-signer/sdk-reference/account/transactions/sign-transaction"},{"title":"assembleTransaction","href":"/wallets/custom-signer/sdk-reference/account/transactions/assemble-transaction"},{"title":"signAuthorizations","href":"/wallets/custom-signer/sdk-reference/account/transactions/sign-authorizations"},{"title":"signIntent","href":"/wallets/custom-signer/sdk-reference/account/transactions/sign-intent"},{"title":"submitTransaction","href":"/wallets/custom-signer/sdk-reference/account/transactions/submit-transaction"}]},{"group":"User operations","pages":[{"title":"prepareUserOperation","href":"/wallets/custom-signer/sdk-reference/account/user-operations/prepare-user-operation"},{"title":"signUserOperation","href":"/wallets/custom-signer/sdk-reference/account/user-operations/sign-user-operation"},{"title":"submitUserOperation","href":"/wallets/custom-signer/sdk-reference/account/user-operations/submit-user-operation"},{"title":"sendUserOperation","href":"/wallets/custom-signer/sdk-reference/account/user-operations/send-user-operation"}]},{"group":"Signing","pages":[{"title":"signMessage","href":"/wallets/custom-signer/sdk-reference/account/signing/sign-message"},{"title":"signTypedData","href":"/wallets/custom-signer/sdk-reference/account/signing/sign-typed-data"}]},{"group":"Execution","pages":[{"title":"waitForExecution","href":"/wallets/custom-signer/sdk-reference/account/execution/wait-for-execution"}]},{"group":"Reads","pages":[{"title":"getAddress","href":"/wallets/custom-signer/sdk-reference/account/reads/get-address"},{"title":"getPortfolio","href":"/wallets/custom-signer/sdk-reference/account/reads/get-portfolio"},{"title":"getOwners","href":"/wallets/custom-signer/sdk-reference/account/reads/get-owners"},{"title":"getValidators","href":"/wallets/custom-signer/sdk-reference/account/reads/get-validators"},{"title":"getExecutors","href":"/wallets/custom-signer/sdk-reference/account/reads/get-executors"}]},{"group":"Smart sessions","pages":[{"title":"getSessionDetails","href":"/wallets/custom-signer/sdk-reference/account/smart-sessions/get-session-details"},{"title":"isSessionEnabled","href":"/wallets/custom-signer/sdk-reference/account/smart-sessions/is-session-enabled"},{"title":"signEnableSession","href":"/wallets/custom-signer/sdk-reference/account/smart-sessions/sign-enable-session"}]}]},{"group":"Actions","pages":[{"group":"ECDSA","pages":[{"title":"enable","href":"/wallets/custom-signer/sdk-reference/actions/ecdsa/enable"},{"title":"disable","href":"/wallets/custom-signer/sdk-reference/actions/ecdsa/disable"},{"title":"addOwner","href":"/wallets/custom-signer/sdk-reference/actions/ecdsa/add-owner"},{"title":"removeOwner","href":"/wallets/custom-signer/sdk-reference/actions/ecdsa/remove-owner"},{"title":"changeThreshold","href":"/wallets/custom-signer/sdk-reference/actions/ecdsa/change-threshold"}]},{"group":"Passkeys","pages":[{"title":"enable","href":"/wallets/custom-signer/sdk-reference/actions/passkeys/enable"},{"title":"disable","href":"/wallets/custom-signer/sdk-reference/actions/passkeys/disable"},{"title":"addOwner","href":"/wallets/custom-signer/sdk-reference/actions/passkeys/add-owner"},{"title":"removeOwner","href":"/wallets/custom-signer/sdk-reference/actions/passkeys/remove-owner"},{"title":"changeThreshold","href":"/wallets/custom-signer/sdk-reference/actions/passkeys/change-threshold"}]},{"group":"Recovery","pages":[{"title":"enable","href":"/wallets/custom-signer/sdk-reference/actions/recovery/enable"},{"title":"recoverEcdsaOwnership","href":"/wallets/custom-signer/sdk-reference/actions/recovery/recover-ecdsa-ownership"},{"title":"recoverPasskeyOwnership","href":"/wallets/custom-signer/sdk-reference/actions/recovery/recover-passkey-ownership"}]},{"group":"MFA","pages":[{"title":"enable","href":"/wallets/custom-signer/sdk-reference/actions/mfa/enable"},{"title":"disable","href":"/wallets/custom-signer/sdk-reference/actions/mfa/disable"},{"title":"changeThreshold","href":"/wallets/custom-signer/sdk-reference/actions/mfa/change-threshold"},{"title":"setSubValidator","href":"/wallets/custom-signer/sdk-reference/actions/mfa/set-sub-validator"},{"title":"removeSubValidator","href":"/wallets/custom-signer/sdk-reference/actions/mfa/remove-sub-validator"}]},{"group":"Modules","pages":[{"title":"installModule","href":"/wallets/custom-signer/sdk-reference/actions/modules/install-module"},{"title":"uninstallModule","href":"/wallets/custom-signer/sdk-reference/actions/modules/uninstall-module"},{"title":"deploy","href":"/wallets/custom-signer/sdk-reference/actions/modules/deploy"}]},{"group":"Smart sessions","pages":[{"title":"enable","href":"/wallets/custom-signer/sdk-reference/actions/smart-sessions/enable"},{"title":"disable","href":"/wallets/custom-signer/sdk-reference/actions/smart-sessions/disable"},{"title":"enableSession","href":"/wallets/custom-signer/sdk-reference/actions/smart-sessions/enable-session"},{"title":"disableSession","href":"/wallets/custom-signer/sdk-reference/actions/smart-sessions/disable-session"}]}]},{"group":"HyperCore","pages":[{"title":"getPerpMarket","href":"/wallets/custom-signer/sdk-reference/hyper-core/get-perp-market"},{"title":"getPerpMarkets","href":"/wallets/custom-signer/sdk-reference/hyper-core/get-perp-markets"},{"title":"getPerpPosition","href":"/wallets/custom-signer/sdk-reference/hyper-core/get-perp-position"},{"title":"getPerpPositions","href":"/wallets/custom-signer/sdk-reference/hyper-core/get-perp-positions"}]},{"group":"Solana","pages":[{"title":"solanaAddress","href":"/wallets/custom-signer/sdk-reference/solana/solana-address"},{"title":"createSolanaSwigId","href":"/wallets/custom-signer/sdk-reference/solana/create-solana-swig-id"},{"title":"addPasskey","href":"/wallets/custom-signer/sdk-reference/solana/add-passkey"},{"title":"removePasskey","href":"/wallets/custom-signer/sdk-reference/solana/remove-passkey"},{"title":"addEcdsaKey","href":"/wallets/custom-signer/sdk-reference/solana/add-ecdsa-key"},{"title":"removeEcdsaKey","href":"/wallets/custom-signer/sdk-reference/solana/remove-ecdsa-key"},{"title":"getAuthorityStatus","href":"/wallets/custom-signer/sdk-reference/solana/get-authority-status"}]},{"group":"EVM","pages":[{"title":"experimental_getV0InitData","href":"/wallets/custom-signer/sdk-reference/evm/experimental-get-v0-init-data"},{"title":"experimental_getRhinestoneInitData","href":"/wallets/custom-signer/sdk-reference/evm/experimental-get-rhinestone-init-data"},{"title":"toViewOnlyAccount","href":"/wallets/custom-signer/sdk-reference/evm/to-view-only-account"}]}]}]}]},{"tab":"Transactions","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/transactions/overview"}]},{"item":"Relaying","pages":[{"title":"Relaying","href":"/transactions/relaying/overview"}]},{"item":"Multichain","pages":[{"title":"Multichain","href":"/transactions/multichain/overview"}]},{"item":"Trading","pages":[{"title":"Trading","href":"/transactions/trading/overview"}]},{"item":"Sponsorship \u0026 monetization","pages":[{"title":"Sponsorship \u0026 monetization","href":"/transactions/sponsorship/overview"}]}],"pages":[{"title":"Transactions","href":"/transactions/overview"}]},{"tab":"Deposits","menu":[{"item":"Overview","pages":[{"title":"Overview","href":"/deposits/overview/overview"}]},{"item":"Onramps","pages":[{"title":"Onramps","href":"/deposits/onramps/overview"}]},{"item":"Crypto","pages":[{"title":"Crypto","href":"/deposits/crypto/overview"}]},{"item":"Exchanges","pages":[{"title":"Exchanges","href":"/deposits/exchanges/overview"}]},{"item":"Headless","pages":[{"title":"Headless","href":"/deposits/headless/overview"}]}],"pages":[{"title":"Deposits","href":"/deposits/overview/overview"}]},{"tab":"Fiat integrations","pages":[{"title":"Fiat integrations","href":"/fiat/overview"}]},{"tab":"API Reference","pages":[{"title":"API Reference","href":"/api-reference/introduction"}]}]},"basePath":"","title":"Set up recovery - Rhinestone","buildId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","deploymentId":"dpl_BLQvU86QFwq3AhPofSTw6q8dGWKm","dynamics":[],"chunks":[]}