In Web3 today, the user experience is often interrupted. Every swap, every listing, every minor action requires a wallet pop-up, forcing you to “sign” and approve. This creates friction and makes apps feel clunky compared to the smooth apps we use every day.
Smart Sessions is a solution to this problem.A Smart Session is a secure, temporary, and strictly limited set of permissions that you grant to an app. Instead of approving every single transaction, you approve a session once, allowing the app to perform a range of pre-agreed actions on your behalf. This eliminates constant pop-ups and unlocks a fluid, Web2-like experience without sacrificing security or self-custody.
💡 Think of it this way: It’s less like handing over your master key (your main wallet signer) and more like giving an application a special-purpose keycard with very clear rules and limitations.
1. Implicit Sessions: The “In-App Convenience Pass”
An Implicit Session is the simplest and most common type of Smart Session. Its entire purpose is to make your experience inside a single app as smooth as possible.
When you connect to an app you trust, you are creating a “trust boundary” around that app’s website domain. An Implicit Session gives that app a pass to operate freely only within its own walls.
Connect & Trust: You connect your wallet to an app (e.g., app.my-defi-protocol.com)
Silent Approval: A session is automatically and silently created that is cryptographically locked to that specific domain without the user having to approve it.
Seamless Experience: You can now perform any action inside that app, swapping, staking, listing, without any further pop-ups. It just works.
This session is useless anywhere else. If the app was malicious and tried to use this session to call a contract outside its domain (like the USDC contract), the transaction would be automatically rejected on-chain. The session is only valid for the app’s own smart contracts.
The app will configure the permissions in the Sequence Builder
All transactions must be sponsored by the DApp itself when using Implicit Sessions since using any other currency as a fee option is treated as an external contract interaction and will be blocked.
Day-to-day use of a fully gas sponsored DApp, 0 pop-ups, with no need for external contract interactions.
Key Feature
Maximum convenience. Eliminates all signing pop-ups within a trusted app environment
Analogy
A keycard for a specific building. It lets you move freely between all the rooms inside, but it won’t open the door to the building next door.
Drawback:
The DApp has to sponsor the gas fees for all transactions and it cannot interact with any external smart contract, locked to the app’s own smart contracts.
2. Explicit Sessions: The “Programmable Permission Slip”
An Explicit Session is a more advanced and powerful tool. It’s designed for when an app needs to perform very specific tasks that interact with other external protocols.
Instead of trusting an app and its smart contracts only, you are approving a precise list of rules for a temporary signer that can interact with any smart contract. You are building a custom permission slip that says exactly what can be done, where it can be done, how much can be spent, for how long, and for which contracts.
The power of Explicit Sessions comes from their granularity. Each rule is validated on-chain. If the app tries to do anything outside the approved scope, like spend 101 USDC instead of 100, or call the approve function instead of transfer, the transaction will fail.
Best part is that you can combine the two types of sessions together to get the best of both worlds. Whenever you go out of scope on an Implicit Session, Sequence SDKs will automatically switch a single-transaction approval state, functioning like an EOA. For repeated actions outside of an Implicit Session, you can request an Explicit Session for a seamless integration.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Sequence Docs","colors":{"primary":"#B1A9FF","light":"#B1A9FF","dark":"#111111"},"logo":{"light":"https://mintcdn.com/sequence-0fb8d9e6/9rKTa07iWJtIbdn7/logo/sequence-composite-light.svg?fit=max\u0026auto=format\u0026n=9rKTa07iWJtIbdn7\u0026q=85\u0026s=18750aafea1146db72d2e3b695536390","dark":"https://mintcdn.com/sequence-0fb8d9e6/9rKTa07iWJtIbdn7/logo/sequence-composite-dark.svg?fit=max\u0026auto=format\u0026n=9rKTa07iWJtIbdn7\u0026q=85\u0026s=6efde0d56c8457026275cc8f3e34f0a4"},"favicon":"https://mintcdn.com/sequence-0fb8d9e6/Trdl1z4HOb4QxorB/favicon.png?fit=max\u0026auto=format\u0026n=Trdl1z4HOb4QxorB\u0026q=85\u0026s=d076be8f12c5eccec147aaca12dad634","appearance":{"default":"light","strict":false},"background":{"decoration":"gradient"},"navbar":{"primary":{"type":"button","label":"Sign In","href":"https://sequence.build"}},"footer":{"socials":{"x":"https://twitter.com/0xsequence","github":"https://github.com/0xsequence","discord":"https://discord.com/invite/YnGKP7d3vS"}},"fonts":{"heading":{"family":"Inter"},"body":{"family":"Inter"}},"integrations":{"gtm":{"tagId":"GTM-MJL772VN"}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Supported Chains","icon":"heart-pulse","href":"https://status.sequence.info/"},{"anchor":"Changelog","icon":"map","href":"https://0xsequence.featurebase.app/changelog"}]},"languages":[{"language":"en","href":"home"},{"language":"ja","href":"ja/home"},{"language":"es","href":"es/home"}]}},"deployment":{"deploymentMetadataValue":{"subdomain":"sequence-0fb8d9e6","hasAudioNarration":false,"actualSubdomain":"sequence-0fb8d9e6","customDomains":["docs.sequence.xyz"],"gitSource":{"type":"github","owner":"0xsequence","repo":"docs","deployBranch":"master","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a6b4f53bf20c4c03c2d22f7","collectionId":"4bb0d586-b014-44f6-932e-3be852309503","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6a6b4f53bf20c4c03c2d22f7"},"feedback":{"thumbs":true,"edits":true,"issues":false},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"ENABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ae9253b7669ca8a6a0b3aaa:success","clientVersion":"0.0.4076","searchFilterCounts":[{"language":"en","tag":"SDKs","count":193},{"language":"en","tag":"APIs","count":184},{"language":"ja","tag":"API","count":181},{"language":"en","tag":"Endpoints","count":150},{"language":"ja","tag":"エンドポイント","count":147},{"language":"en","tag":"Web SDKs","count":107},{"language":"ja","tag":"SDK","count":97},{"language":"en","tag":"Hooks","count":83},{"language":"en","tag":"Solutions","count":81},{"language":"en","tag":"Game Engine SDKs","count":71},{"language":"en","tag":"secret","count":70},{"language":"ja","tag":"シークレット","count":70},{"language":"en","tag":"Marketplace","count":59},{"language":"es","tag":"SDKs","count":54},{"language":"ja","tag":"ソリューション","count":52},{"language":"en","tag":"Wallets","count":49},{"language":"ja","tag":"アナリティクス","count":46},{"language":"ja","tag":"メタデータ","count":44},{"language":"ja","tag":"ゲームエンジンSDK","count":44},{"language":"es","tag":"SDKs Web","count":38},{"language":"ja","tag":"インデクサー","count":38},{"language":"ja","tag":"Web SDK","count":38},{"language":"es","tag":"Hooks","count":27},{"language":"es","tag":"Connect","count":27},{"language":"es","tag":"Soluciones","count":23},{"language":"es","tag":"Cartera del Ecosistema (v6)","count":14},{"language":"es","tag":"Cartera Incrustada (v5)","count":13},{"language":"es","tag":"SDKs de Motor de Juego","count":10},{"language":"es","tag":"Plataforma de Desarrollador","count":8},{"language":"es","tag":"Carteras","count":8}]},"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":"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":".bg-matrix-dark{background:linear-gradient(0deg, rgba(13, 13, 15, 1) 0%, rgba(13, 13, 15, 0.95) 5%, rgba(13, 13, 15, 0.8) 15%, rgba(17, 17, 17, 0.1) 30%, rgba(17, 17, 17, 0.1) 70%, rgba(13, 13, 15, 0.8) 85%, rgba(13, 13, 15, 0.95) 95%, rgba(13, 13, 15, 1) 100%),\n linear-gradient(\n 90deg,\n transparent 0%,\n rgba(17, 17, 17, 0.6) 40%,\n rgba(17, 17, 17, 0.6) 60%,\n transparent 100%\n ), url(https://pub-f048362b915448c9b012a2e03c189024.r2.dev/matrix-bg-dark.svg);background-size:cover;background-position:center center}img[alt=\"US\"]{display:none!important}div.relative.w-4.h-4.rounded-full:has(img[alt=\"US\"]){display:none!important}.bg-matrix-light{background:linear-gradient(\n 0deg,\n #ffffff 0%,\n rgba(240, 240, 240, 0.6) 30%,\n rgba(240, 240, 240, 0.6) 70%,\n #ffffff 100%\n ),\n linear-gradient(\n 90deg,\n transparent 0%,\n rgba(240, 240, 240, 0.6) 40%,\n rgba(240, 240, 240, 0.6) 60%,\n transparent 100%\n ), url(https://pub-f048362b915448c9b012a2e03c189024.r2.dev/matrix-bg-light.svg);background-size:cover;background-position:center center}.dark .bg-matrix-light{background:linear-gradient(0deg, rgba(13, 13, 15, 1) 0%, rgba(13, 13, 15, 0.95) 5%, rgba(13, 13, 15, 0.8) 15%, rgba(17, 17, 17, 0.1) 30%, rgba(17, 17, 17, 0.1) 70%, rgba(13, 13, 15, 0.8) 85%, rgba(13, 13, 15, 0.95) 95%, rgba(13, 13, 15, 1) 100%),\n linear-gradient(\n 90deg,\n transparent 0%,\n rgba(17, 17, 17, 0.6) 40%,\n rgba(17, 17, 17, 0.6) 60%,\n transparent 100%\n ), url(https://pub-f048362b915448c9b012a2e03c189024.r2.dev/matrix-bg-dark.svg);background-size:cover;background-position:center center}.bg-gradient-dark{background:linear-gradient(\n 90deg,\n rgba(17, 17, 17, 0) 0%,\n rgba(17, 17, 17, 0.75) 50%,\n rgba(17, 17, 17, 0) 100%\n ),\n linear-gradient(180deg, #111 0%, rgba(17, 17, 17, 0) 40%, rgba(17, 17, 17, 0) 60%, #111 100%),\n linear-gradient(270deg, rgba(11, 106, 249, 0.25) 0%, rgba(29, 146, 255, 0.3) 100%)}.bg-gradient-light{background:linear-gradient(180deg, #f0f0f0 0%, rgba(255, 255, 255, 0) 49.83%, #f0f0f0 100%),\n linear-gradient(\n 90deg,\n #d2e4ff 0%,\n rgba(210, 228, 255, 0.5) 25.3%,\n rgba(255, 255, 255, 0) 49.83%,\n rgba(210, 228, 255, 0.5) 75.47%,\n #d2e4ff 100%\n )}"}],"page":{"pagePath":"solutions/wallets/ecosystems/smart-sessions","slug":"/solutions/wallets/ecosystems/smart-sessions","pageMetadata":{"title":"Smart Sessions","description":"Sequence's Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.","href":"/solutions/wallets/ecosystems/smart-sessions"},"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: \"Sequence’s Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.\"\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`,blockquote:`blockquote`,code:`code`,hr:`hr`,li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Mermaid,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Mermaid)_missingMdxReference(`Mermaid`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Heading,{level:`2`,id:`the-problem-with-web3-ux-today`,children:`The Problem with Web3 UX Today`}),`\n`,_jsx(_components.p,{children:`In Web3 today, the user experience is often interrupted. Every swap, every listing, every minor action requires a wallet pop-up, forcing you to “sign” and approve. This creates friction and makes apps feel clunky compared to the smooth apps we use every day.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-are-smart-sessions`,children:`What Are Smart Sessions?`}),`\n`,_jsx(_components.p,{children:_jsx(_components.strong,{children:`Smart Sessions is a solution to this problem.`})}),`\n`,_jsx(_components.p,{children:`A Smart Session is a secure, temporary, and strictly limited set of permissions that you grant to an app. Instead of approving every single transaction, you approve a session once, allowing the app to perform a range of pre-agreed actions on your behalf. This eliminates constant pop-ups and unlocks a fluid, Web2-like experience without sacrificing security or self-custody.`}),`\n`,_jsxs(_components.blockquote,{children:[`\n`,_jsxs(_components.p,{children:[`💡 `,_jsx(_components.strong,{children:`Think of it this way:`}),` It’s less like handing over your master key (your main wallet signer) and more like giving an application a special-purpose keycard with very clear rules and limitations.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`2`,id:`two-types-of-smart-sessions`,children:`Two Types of Smart Sessions`}),`\n`,_jsx(_components.p,{children:`Sequence offers two distinct types of Smart Sessions, each designed for a different purpose:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Implicit Sessions:`}),` For ultimate convenience within a single, trusted app.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Explicit Sessions:`}),` For powerful, granular control over any on-chain action.`]}),`\n`]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`1-implicit-sessions-the-“in-app-convenience-pass”`,children:`1. Implicit Sessions: The “In-App Convenience Pass”`}),`\n`,_jsx(_components.p,{children:`An Implicit Session is the simplest and most common type of Smart Session. Its entire purpose is to make your experience inside a single app as smooth as possible.`}),`\n`,_jsx(Mermaid,{chart:`flowchart TD\n U[👤 User] --> C[\"Clicks 'Connect Wallet'\u003cbr/>on App\"]\n C --> S[\"✔️ Session Created\"]\n S --> F[\"🛡️ Digital Fence is Established\u003cbr/>(Scoped to the App Domain)\"]\n\n F --> SW[\"✔️ Swap App's Token\u003cbr/>(Instant \u0026 Pop-up Free)\"]\n F --> ST[\"✔️ Stake in App's Pool\u003cbr/>(Instant \u0026 Pop-up Free)\"]\n F -.-> EC[\"⚠️ Attempt to directly call an external contract\u003cbr/>(e.g., main USDC contract)\"]\n EC --> B[\"⛔ BLOCKED ON-CHAIN\u003cbr/>The session is not valid outside the fence\"]\n\n style F fill:#d9edf7,stroke:#2a6496,stroke-width:1px,color:#000\n style S fill:#d9edf7,stroke:#2a6496,stroke-width:1px,color:#000\n style SW fill:#fff,stroke:#666,color:#000\n style ST fill:#fff,stroke:#666,color:#000\n style EC fill:#fff,stroke:#666,stroke-dasharray: 3 3,color:#000\n style B fill:#f2dede,stroke:#a94442,stroke-width:1px,color:#000`}),`\n`,_jsx(Heading,{level:`3`,id:`-the-core-idea`,children:`🎯 The Core Idea`}),`\n`,_jsx(_components.p,{children:`When you connect to an app you trust, you are creating a “trust boundary” around that app’s website domain. An Implicit Session gives that app a pass to operate freely only within its own walls.`}),`\n`,_jsx(Heading,{level:`3`,id:`-how-it-works`,children:`⚙️ How It Works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Connect \u0026 Trust:`}),` You connect your wallet to an app (e.g., `,_jsx(_components.code,{children:`app.my-defi-protocol.com`}),`)`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Silent Approval:`}),` A session is automatically and silently created that is cryptographically locked to that specific domain without the user having to approve it.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Seamless Experience:`}),` You can now perform any action inside that app, swapping, staking, listing, without any further pop-ups. It just works.`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`-the-security-guardrail`,children:`🔒 The Security Guardrail`}),`\n`,_jsxs(_components.p,{children:[`This session is useless anywhere else. If the app was malicious and tried to use this session to call a contract outside its domain (like the USDC contract), the transaction would be automatically rejected on-chain. The session is only valid for the app’s own smart contracts.\nThe app will configure the permissions in the `,_jsx(_components.a,{href:`https://sequence.build`,children:`Sequence Builder`})]}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`All transactions must be sponsored by the DApp itself when using Implicit Sessions since using any other currency as a fee option is treated as an external contract interaction and will be blocked.`})}),`\n`,_jsx(Heading,{level:`3`,id:`-implicit-sessions-at-a-glance`,children:`📊 Implicit Sessions at a Glance`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Aspect`}),_jsx(_components.th,{children:`Details`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Best For`})}),_jsx(_components.td,{children:`Day-to-day use of a fully gas sponsored DApp, 0 pop-ups, with no need for external contract interactions.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Key Feature`})}),_jsx(_components.td,{children:`Maximum convenience. Eliminates all signing pop-ups within a trusted app environment`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Analogy`})}),_jsx(_components.td,{children:`A keycard for a specific building. It lets you move freely between all the rooms inside, but it won’t open the door to the building next door.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Drawback:`})}),_jsx(_components.td,{children:`The DApp has to sponsor the gas fees for all transactions and it cannot interact with any external smart contract, locked to the app’s own smart contracts.`})]})]})]}),`\n`,_jsx(_components.hr,{}),`\n`,_jsx(Heading,{level:`2`,id:`2-explicit-sessions-the-“programmable-permission-slip”`,children:`2. Explicit Sessions: The “Programmable Permission Slip”`}),`\n`,_jsx(_components.p,{children:`An Explicit Session is a more advanced and powerful tool. It’s designed for when an app needs to perform very specific tasks that interact with other external protocols.`}),`\n`,_jsx(Mermaid,{chart:`flowchart TD\n U[👤 User] --> C[\"Connects to App \u0026\u003cbr/>Logs In\"]\n C --> P[\"📄 App Proposes Session Rules\u003cbr/>(For a seamless swap experience)\"]\n P --> R[\"📝 User Reviews Granular Rules:\u003cbr/>- Action: transfer() on USDC Contract\u003cbr/>- Target: Only App's Swap Router\u003cbr/>- Limit: Up to 100 USDC\u003cbr/>- Expires: 24 hours\"]\n R --> A[\"🙋 User Explicitly Approves\u003cbr/>This Exact Set of Rules\"]\n A --> V[\"⚙️ On-Chain Validation Activated\"]\n\n V -->|Invalid Action: Transfer USDC to other address| B1[\"⛔ BLOCKED\u003cbr/>(Target is not the Swap Router)\"]\n V -->|Valid Action: Swap using 50 USDC| OK[\"✔️ ALLOWED\u003cbr/>(All rules are met)\"]\n V -->|Invalid Action: Swap using 101 USDC| B2[\"⛔ BLOCKED\u003cbr/>(Exceeds value limit)\"]\n\n style P fill:#d9edf7,stroke:#2a6496,stroke-width:1px,color:#000\n style R fill:#d9edf7,stroke:#2a6496,stroke-width:1px,color:#000\n style A fill:#337ab7,stroke:#2a6496,stroke-width:1px,color:#fff\n style V fill:#d9edf7,stroke:#2a6496,stroke-width:1px,color:#000\n style OK fill:#dff0d8,stroke:#3c763d,stroke-width:1px,color:#000\n style B1 fill:#f2dede,stroke:#a94442,stroke-width:1px,color:#000\n style B2 fill:#f2dede,stroke:#a94442,stroke-width:1px,color:#000`}),`\n`,_jsx(Heading,{level:`3`,id:`-the-core-idea-2`,children:`🎯 The Core Idea`}),`\n`,_jsx(_components.p,{children:`Instead of trusting an app and its smart contracts only, you are approving a precise list of rules for a temporary signer that can interact with any smart contract. You are building a custom permission slip that says exactly what can be done, where it can be done, how much can be spent, for how long, and for which contracts.`}),`\n`,_jsx(Heading,{level:`3`,id:`-how-it-works-2`,children:`⚙️ How It Works`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The app proposal:`}),` The app presents your wallet with a list of very specific permissions it needs. For example:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`“Allow me to call the `,_jsx(_components.code,{children:`transfer`}),` function on the `,_jsx(_components.code,{children:`USDC contract`}),`.”`]}),`\n`,_jsxs(_components.li,{children:[`”… with the `,_jsx(_components.code,{children:`recipient`}),` address `,_jsx(_components.code,{children:`0x...`}),` only”`]}),`\n`,_jsxs(_components.li,{children:[`“…for a `,_jsx(_components.code,{children:`cumulative`}),` total of no more than `,_jsx(_components.code,{children:`100`}),` USDC.”`]}),`\n`,_jsxs(_components.li,{children:[`“…for a duration of `,_jsx(_components.code,{children:`24 hours`}),`.”`]}),`\n`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`You Explicitly Approve the Rules:`}),` Your wallet displays these rules in a human-readable format. You review and approve this exact set of conditions.`]}),`\n`]}),`\n`,_jsxs(_components.li,{children:[`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`The app Executes:`}),` The app can now perform those actions automatically, with 0 pop-ups.`]}),`\n`]}),`\n`]}),`\n`,_jsx(Heading,{level:`3`,id:`-the-security-guardrail-2`,children:`🔒 The Security Guardrail`}),`\n`,_jsxs(_components.p,{children:[`The power of Explicit Sessions comes from their granularity. Each rule is validated on-chain. If the app tries to do anything outside the approved scope, like spend 101 USDC instead of 100, or call the `,_jsx(_components.code,{children:`approve`}),` function instead of `,_jsx(_components.code,{children:`transfer`}),`, the transaction will fail.`]}),`\n`,_jsx(Heading,{level:`3`,id:`-explicit-sessions-at-a-glance`,children:`📊 Explicit Sessions at a Glance`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Aspect`}),_jsx(_components.th,{children:`Details`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Best For`})}),_jsx(_components.td,{children:`Granular control over any action, not tied to your app’s smart contracts only.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Key Feature`})}),_jsx(_components.td,{children:`Granular, programmable control. You define the exact scope of what the app is allowed to do with no restrictions.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Analogy`})}),_jsx(_components.td,{children:`A keycard that can work for many buildings but you have to first sign a contract defining the exact rules for each building, only then you can use it.`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:_jsx(_components.strong,{children:`Drawback:`})}),_jsx(_components.td,{children:`The user has to carefully review and approve the DApp’s permissions adding 1 extra step in the UX.`})]})]})]}),`\n`,_jsx(Heading,{level:`3`,id:`versatile-integrations`,children:`Versatile Integrations`}),`\n`,_jsx(_components.p,{children:`Best part is that you can combine the two types of sessions together to get the best of both worlds. Whenever you go out of scope on an Implicit Session, Sequence SDKs will automatically switch a single-transaction approval state, functioning like an EOA. For repeated actions outside of an Implicit Session, you can request an Explicit Session for a seamless integration.`})]})}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":"Smart Sessions","description":"Sequence's Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.","href":"/solutions/wallets/ecosystems/smart-sessions"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"The Problem with Web3 UX Today","slug":"the-problem-with-web3-ux-today","depth":2,"children":[]},{"title":"What Are Smart Sessions?","slug":"what-are-smart-sessions","depth":2,"children":[]},{"title":"Two Types of Smart Sessions","slug":"two-types-of-smart-sessions","depth":2,"children":[]},{"title":"1. Implicit Sessions: The “In-App Convenience Pass”","slug":"1-implicit-sessions-the-“in-app-convenience-pass”","depth":2,"children":[{"title":"🎯 The Core Idea","slug":"-the-core-idea","depth":3,"children":[]},{"title":"⚙️ How It Works","slug":"-how-it-works","depth":3,"children":[]},{"title":"🔒 The Security Guardrail","slug":"-the-security-guardrail","depth":3,"children":[]},{"title":"📊 Implicit Sessions at a Glance","slug":"-implicit-sessions-at-a-glance","depth":3,"children":[]}]},{"title":"2. Explicit Sessions: The “Programmable Permission Slip”","slug":"2-explicit-sessions-the-“programmable-permission-slip”","depth":2,"children":[{"title":"🎯 The Core Idea","slug":"-the-core-idea-2","depth":3,"children":[]},{"title":"⚙️ How It Works","slug":"-how-it-works-2","depth":3,"children":[]},{"title":"🔒 The Security Guardrail","slug":"-the-security-guardrail-2","depth":3,"children":[]},{"title":"📊 Explicit Sessions at a Glance","slug":"-explicit-sessions-at-a-glance","depth":3,"children":[]},{"title":"Versatile Integrations","slug":"versatile-integrations","depth":3,"children":[]}]}],"codeExamples":{}},"jsLinks":["/_mintlify/custom/sequence-0fb8d9e6/5928f07079c865a1/scripts/update_security_schemas.js","/_mintlify/custom/sequence-0fb8d9e6/b206a90082858d4a/snippets/databeat-tracker.js","/_mintlify/custom/sequence-0fb8d9e6/0281ffbe15eb5584/snippets/dist/databeat-tracker.umd.js"],"subdomain":"sequence-0fb8d9e6","siteName":"Sequence Docs","title":"Smart Sessions - Sequence Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{"en":{"href":"/solutions/wallets/ecosystems/smart-sessions","matchLevel":0},"ja":{"href":"/ja/solutions/wallets/ecosystems/smart-sessions","matchLevel":1},"es":{"href":"/es/solutions/wallets/ecosystems/smart-sessions","matchLevel":1}}},"lastModified":"2025-10-17T09:21:43.392Z","originalFileLocation":"solutions/wallets/ecosystems/smart-sessions.mdx","locale":"en"},"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=\"light\"}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=\"Sequence\u0026#x27;s Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Sequence Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Smart Sessions - Sequence Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sequence\u0026#x27;s Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Sequence Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://sequence-0fb8d9e6.mintlify.site/_mintlify/api/og/v2?division=For+Ecosystems\u0026amp;title=Smart+Sessions\u0026amp;description=Sequence%27s+Smart+Sessions+provide+a+seamless+way+to+interact+with+apps+by+reducing+wallet+pop-ups+and+improving+user+experience.\u0026amp;theme=3cfa20f380481c9c1062693e\u0026amp;signature=c3bd1e3bec49724b370be258379b3726352c88fca3137a622c4ddbea1569d640\">\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=\"Smart Sessions - Sequence Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sequence\u0026#x27;s Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://sequence-0fb8d9e6.mintlify.site/_mintlify/api/og/v2?division=For+Ecosystems\u0026amp;title=Smart+Sessions\u0026amp;description=Sequence%27s+Smart+Sessions+provide+a+seamless+way+to+interact+with+apps+by+reducing+wallet+pop-ups+and+improving+user+experience.\u0026amp;theme=3cfa20f380481c9c1062693e\u0026amp;signature=c3bd1e3bec49724b370be258379b3726352c88fca3137a622c4ddbea1569d640\">\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/sequence-0fb8d9e6/WZ0nVbE4CcPhWh5d/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Sequence Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#B1A9FF\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/solutions/wallets/ecosystems/smart-sessions.md\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"en\" href=\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"ja\" href=\"https://docs.sequence.xyz/ja/solutions/wallets/ecosystems/smart-sessions\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"es\" href=\"https://docs.sequence.xyz/es/solutions/wallets/ecosystems/smart-sessions\">\u003clink data-mint-head rel=\"alternate\" hreflang=\"x-default\" href=\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sequence.xyz/#organization\",\"name\":\"Sequence Docs\",\"url\":\"https://docs.sequence.xyz\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/sequence-0fb8d9e6/9rKTa07iWJtIbdn7/logo/sequence-composite-light.svg?fit=max\u0026auto=format\u0026n=9rKTa07iWJtIbdn7\u0026q=85\u0026s=18750aafea1146db72d2e3b695536390\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sequence.xyz#website\",\"name\":\"Sequence Docs\",\"url\":\"https://docs.sequence.xyz\",\"publisher\":{\"@id\":\"https://docs.sequence.xyz/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions#webpage\",\"url\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions\",\"name\":\"Smart Sessions\",\"description\":\"Sequence's Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.\",\"dateModified\":\"2025-10-17T09:21:43.392Z\",\"isPartOf\":{\"@id\":\"https://docs.sequence.xyz#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Wallets\",\"item\":\"https://docs.sequence.xyz/solutions/wallets/overview\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"For Ecosystems\",\"item\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/overview\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Smart Sessions\",\"item\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions#article\",\"headline\":\"Smart Sessions\",\"name\":\"Smart Sessions\",\"description\":\"Sequence's Smart Sessions provide a seamless way to interact with apps by reducing wallet pop-ups and improving user experience.\",\"url\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sequence.xyz/solutions/wallets/ecosystems/smart-sessions#webpage\"},\"dateModified\":\"2025-10-17T09:21:43.392Z\",\"publisher\":{\"@id\":\"https://docs.sequence.xyz/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sequence.xyz#website\"}}]}\u003c/script>","siteName":"Sequence Docs","nav":{"global":{"anchors":[{"anchor":"Supported Chains","icon":"heart-pulse","href":"https://status.sequence.info/"},{"anchor":"Changelog","icon":"map","href":"https://0xsequence.featurebase.app/changelog"}]},"languages":[{"language":"en","tabs":[{"tab":"Home","pages":[{"title":"Home","href":"/home"}]},{"tab":"Solutions","groups":[{"group":" ","pages":[{"title":"Welcome to Sequence","sidebarTitle":"Welcome to Sequence","href":"/solutions/overview"},{"title":"LLM Integrations","sidebarTitle":"LLM Integrations","icon":"robot","href":"/solutions/llm-integrations"}]},{"group":"Wallets","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/solutions/wallets/overview"},{"group":"For Developers","pages":[{"title":"Wallets for Developers","sidebarTitle":"Overview","href":"/solutions/wallets/developers/overview"},{"group":"Ecosystem Wallet","pages":[{"title":"Ecosystem Wallet Quickstart — Sequence Solutions","sidebarTitle":"React Quickstart","href":"/solutions/wallets/developers/ecosystem-wallet/react_quickstart"},{"title":"Unity SDK Quickstart","sidebarTitle":"Unity Quickstart","href":"/solutions/wallets/developers/ecosystem-wallet/unity-quickstart"},{"title":"Unreal SDK Quickstart","sidebarTitle":"Unreal Quickstart","href":"/solutions/wallets/developers/ecosystem-wallet/unreal-quickstart"}]},{"group":"Embedded Wallet","pages":[{"title":"Sequence Embedded Wallet (v5)","sidebarTitle":"Overview","href":"/solutions/wallets/developers/embedded-wallet/overview"},{"title":"Embedded Wallet Quickstart","sidebarTitle":"Quickstart","href":"/solutions/wallets/developers/embedded-wallet/quickstart"},{"title":"Wallet Linking: Embedded Wallet Authentication \u0026 External Wallet Sign-in","sidebarTitle":"Wallet Linking","href":"/solutions/wallets/developers/embedded-wallet/wallet-linking"},{"title":"Migration Guide – Moving to Sequence Embedded Wallets","sidebarTitle":"Migrating to Sequence","href":"/solutions/wallets/developers/embedded-wallet/migration"},{"title":"FAQ","sidebarTitle":"FAQ","href":"/solutions/wallets/developers/embedded-wallet/faq"}]}]},{"group":"For Ecosystems","pages":[{"title":"Wallets for Ecosystems","description":"Ecosystem Wallet is a consumer-ready smart wallet that runs on your domain and serves all your apps. It combines passkeys, social auth, timed recovery keys, and sandboxed permissions to deliver higher security with less friction.","sidebarTitle":"Overview","href":"/solutions/wallets/ecosystems/overview"},{"title":"Smart Sessions","href":"/solutions/wallets/ecosystems/smart-sessions"},{"title":"Hosted Wallet","description":"Launch an Ecosystem Wallet on your domain with Sequence-operated infrastructure, branding control, Smart Sessions, and passkey-based auth.","sidebarTitle":"Hosted Wallet","href":"/solutions/wallets/ecosystems/hosted-wallet"},{"title":"Custom Wallet","sidebarTitle":"Custom Wallet","href":"/solutions/wallets/ecosystems/custom-wallet"},{"title":"Identity Instrument","sidebarTitle":"Identity Instrument","href":"/solutions/wallets/ecosystems/identity-instrument"},{"title":"Guard Firewall","sidebarTitle":"Guard Firewall","href":"/solutions/wallets/ecosystems/guard-firewall"},{"title":"Merkleized Wallet Configuration","sidebarTitle":"Wallet Configuration","href":"/solutions/wallets/ecosystems/wallet-config"},{"title":"Timed Recovery","sidebarTitle":"Timed Recovery","href":"/solutions/wallets/ecosystems/timed-recovery"}]}]},{"group":"Payments","pages":[{"title":"Payments Overview","sidebarTitle":"Overview","href":"/solutions/payments/overview"},{"title":"Trails","sidebarTitle":"Trails","href":"/solutions/payments/trails"},{"group":"Shop","pages":[{"title":"Sequence Shop","sidebarTitle":"Overview","href":"/solutions/payments/shop/overview"},{"title":"Launching Your Shop with Sequence Builder","sidebarTitle":"Guide","href":"/solutions/payments/shop/guide"}]},{"group":"Marketplace","pages":[{"title":"Marketplace Overview","sidebarTitle":"Overview","href":"/solutions/payments/marketplace/overview"},{"title":"Launching Your Hosted Marketplace with Sequence Builder","sidebarTitle":"Hosted Marketplace","href":"/solutions/payments/marketplace/hosted"},{"title":"Custom Marketplace","sidebarTitle":"Custom Marketplace","href":"/solutions/payments/marketplace/custom"}]},{"title":"Checkout SDK (card payments for NFTs)","sidebarTitle":"Checkout SDK","href":"/solutions/payments/checkout-sdk"}]},{"group":"Indexer","pages":[{"title":"Indexer Overview","sidebarTitle":"Overview","href":"/solutions/indexer/overview"},{"title":"Cross-Chain Token Balances","sidebarTitle":"Cross-Chain Token Balances","href":"/solutions/indexer/cross-chain-balances"},{"title":"Token Balances","sidebarTitle":"Token Balances","href":"/solutions/indexer/token-balances"},{"title":"Transaction History","sidebarTitle":"Transaction History","href":"/solutions/indexer/transaction-history"},{"title":"Webhooks","sidebarTitle":"Webhooks","href":"/solutions/indexer/webhooks"},{"title":"Subscriptions","sidebarTitle":"Subscriptions","href":"/solutions/indexer/subscriptions"}]},{"group":"Infrastructure","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/solutions/infrastructure/overview"},{"title":"Transaction API","sidebarTitle":"Transaction API","href":"/solutions/infrastructure/transaction-api"},{"title":"Blockchain RPC","sidebarTitle":"Blockchain RPC","href":"/solutions/infrastructure/blockchain-rpc"},{"group":"Sidekick","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/solutions/infrastructure/sidekick/overview"},{"title":"Sidekick Quickstart","sidebarTitle":"Quickstart","href":"/solutions/infrastructure/sidekick/quickstart"},{"title":"Minting Server","href":"/solutions/infrastructure/sidekick/minting-server"}]}]},{"group":"Developer Platform","pages":[{"title":"Getting Started with Builder","sidebarTitle":"Getting Started","href":"/solutions/builder/getting-started"},{"group":"Contracts","pages":[{"title":"Contracts","sidebarTitle":"Overview","href":"/solutions/builder/contracts/overview"},{"title":"How to Deploy an Item Collection Contract in Sequence Builder","sidebarTitle":"Deploy a Collection Contract","href":"/solutions/builder/contracts/deploy-an-item-collection"},{"title":"How to Deploy in-game Currency in Sequence Builder","sidebarTitle":"Deploy an In-Game Currency(ERC20)","href":"/solutions/builder/contracts/deploy-ERC20-currency"},{"title":"Deploying a Primary Sales Contract in Sequence Builder","sidebarTitle":"Deploy a Primary Sales Contract","href":"/solutions/builder/contracts/deploy-primary-sales-contract"},{"title":"How to Deploy a Soulbound Token Contract in Sequence Builder","sidebarTitle":"Deploy a Soulbound Token Contract","href":"/solutions/builder/contracts/deploy-soulbound-token"}]},{"group":"Collections","pages":[{"title":"Manage NFT Collections in Sequence Builder","sidebarTitle":"Overview","href":"/solutions/builder/collections/quickstart"},{"title":"How to Manage Item Metadata in Sequence Builder","sidebarTitle":"Manage Item Metadata","href":"/solutions/builder/collections/manage-item-metadata"}]},{"group":"Embedded Wallet","pages":[{"title":"Embedded Wallet Configuration","sidebarTitle":"Configuration","href":"/solutions/builder/embedded-wallet/configuration"},{"title":"Google Configuration for Embedded Wallet","sidebarTitle":"Google Setup","href":"/solutions/builder/embedded-wallet/google-configuration"},{"title":"Apple Auth Configuration for Embedded Wallet","sidebarTitle":"Apple Setup","href":"/solutions/builder/embedded-wallet/apple-configuration"},{"title":"X (Twitter) Configuration for Embedded Wallet","sidebarTitle":"X (Twitter) Setup","href":"/solutions/builder/embedded-wallet/x-configuration"},{"title":"Stytch Configuration for Embedded Wallet","sidebarTitle":"Stych Setup","href":"/solutions/builder/embedded-wallet/stytch-configuration"},{"title":"Playfab Configuration for Embedded Wallet","sidebarTitle":"PlayFab Setup","href":"/solutions/builder/embedded-wallet/playfab-configuration"},{"title":"Guest Wallet Configuration for Embedded Wallet","sidebarTitle":"Guest Wallet Setup","href":"/solutions/builder/embedded-wallet/guest-wallet-configuration"}]},{"title":"Gas Sponsorship","sidebarTitle":"Gas Sponsorship","href":"/solutions/builder/gas-sponsorship"},{"title":"Marketplaces","href":"/solutions/builder/marketplaces"},{"title":"Webhooks in Sequence Builder","sidebarTitle":"Webhooks","href":"/solutions/builder/webhooks"},{"title":"Analytics","sidebarTitle":"Analytics","href":"/solutions/builder/analytics"},{"title":"Project Management in Sequence Builder","sidebarTitle":"Project Management","href":"/solutions/builder/project-management"},{"title":"Settings in Sequence Builder","sidebarTitle":"Project Settings","href":"/solutions/builder/project-settings"}]},{"group":"Technical References","pages":[{"title":"Technical References Overview","sidebarTitle":"Overview","href":"/solutions/technical-references/overview"},{"title":"Smart Contract Wallets","sidebarTitle":"Smart Contract Wallets","href":"/solutions/technical-references/smart-contract-wallets"},{"title":"Contract Deployments","sidebarTitle":"Contract Deployments","href":"/solutions/technical-references/contract-deployment"},{"title":"Contract Audits","sidebarTitle":"Contract Audits","href":"/solutions/technical-references/contract-audits"},{"group":"Architecture","pages":[{"group":"V1","pages":[{"title":"Deploy Process V1","sidebarTitle":"Deploy","href":"/solutions/technical-references/architecture/v1/deploy"},{"title":"Guest Module","href":"/solutions/technical-references/architecture/v1/guest-module"},{"title":"Main Module Upgradeable \u0026 configuration migration","href":"/solutions/technical-references/architecture/v1/main-module-upgradeable"},{"title":"Modules \u0026 wallet update","href":"/solutions/technical-references/architecture/v1/modules-and-updates"},{"title":"Signature Encoding","sidebarTitle":"Signature Encoding","href":"/solutions/technical-references/architecture/v1/signature-encoding"},{"title":"Wallet Configuration","sidebarTitle":"Wallet Configuration","href":"/solutions/technical-references/architecture/v1/wallet-configuration"},{"title":"Wallet Context V1","sidebarTitle":"Wallet Context","href":"/solutions/technical-references/architecture/v1/wallet-context"},{"title":"Wallet Factory","sidebarTitle":"Wallet Factory","href":"/solutions/technical-references/architecture/v1/wallet-factory"}]},{"group":"V2","pages":[{"title":"Deploy Process V2","sidebarTitle":"Deploy","href":"/solutions/technical-references/architecture/v2/deploy"},{"title":"Wallet Configuration (V2)","sidebarTitle":"Wallet Configuration","href":"/solutions/technical-references/architecture/v2/configuration"},{"title":"Transaction Encoding","href":"/solutions/technical-references/architecture/v2/transaction-encoding"},{"title":"Wallet Context v2","href":"/solutions/technical-references/architecture/v2/wallet-context"}]},{"group":"Embedded Wallets","pages":[{"title":"Architecture Overview","sidebarTitle":"Overview","href":"/solutions/technical-references/architecture/embedded-wallets/overview"},{"title":"Enclave verification","sidebarTitle":"Enclave Verification","href":"/solutions/technical-references/architecture/embedded-wallets/enclave-verification"},{"title":"Intents","sidebarTitle":"Intents","href":"/solutions/technical-references/architecture/embedded-wallets/intents"},{"title":"Trust Contract Recovery Flow","sidebarTitle":"Trust Contract Recovery","href":"/solutions/technical-references/architecture/embedded-wallets/trust-contract-recovery-flow"}]}]}]}]},{"tab":"SDKs","pages":[{"title":"SDKs","href":"/sdk/overview"}]},{"tab":"APIs","pages":[{"title":"APIs","href":"/api-references/overview"}]},{"tab":"Resources","pages":[{"title":"Resources","href":"/guides/guide-overview"}]},{"tab":"Support","pages":[{"title":"Support","href":"/support"}]}]},{"language":"ja","pages":[{"title":"ja","href":"/ja/solutions/wallets/ecosystems/smart-sessions"}]},{"language":"es","pages":[{"title":"es","href":"/es/solutions/wallets/ecosystems/smart-sessions"}]}]},"basePath":"","title":"Smart Sessions - Sequence Docs","buildId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","deploymentId":"dpl_8LJbrAiZvr1K98WQNZXCyY5AvT34","dynamics":[],"chunks":[]}