User Signer API for creating wallets that integrate with JWT-based authentication from your backend
Directly managing user signers via the API is an advanced setting. We recommend using Privy’s
SDKs, which internally manage user signers if applicable.
The User Signer API enables your application to create user wallets that integrate directly with your existing JWT-based authentication system from your backend service.Consider using the User Signer API if:
You want to provision and manage non-custodial user wallets entirely server-side, and
You are integrating with your existing JWT-based authentication system, as opposed to using Privy’s authentication methods
Custody and control of a Privy wallet is determined by the owner set on the wallet. The User Signer API enables your app to set the user as the direct owner on their wallet, and enables an authenticated user to access their wallet using their user JWT.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Privy Docs","colors":{"primary":"#010110","light":"#FFFFFF"},"logo":{"light":"https://mintcdn.com/privy-c2af3412/Ih_Fo3QYM486gzWq/logo/privy-logo-light.png?fit=max\u0026auto=format\u0026n=Ih_Fo3QYM486gzWq\u0026q=85\u0026s=bd297b680ace8a13db4d9ce977f93180","dark":"https://mintcdn.com/privy-c2af3412/Ih_Fo3QYM486gzWq/logo/privy-logo-dark.png?fit=max\u0026auto=format\u0026n=Ih_Fo3QYM486gzWq\u0026q=85\u0026s=24d83970695ab19a1803a2eb00dbea4e"},"favicon":"https://mintcdn.com/privy-c2af3412/YByWVKlFbSpnpSJG/favicon.png?fit=max\u0026auto=format\u0026n=YByWVKlFbSpnpSJG\u0026q=85\u0026s=ee4038168ea586e5f72041e5e2a1f5c8","api":{"openapi":{"source":"https://api.staging.privy.io/v1/openapi.json"},"playground":{"display":"interactive"},"examples":{"languages":["curl","java","javascript","php","go"]},"mdx":{"server":"https://api.privy.io"}},"background":{"color":{"light":"#FFFFFF","dark":"#010110"}},"navbar":{"links":[{"href":"https://demo.privy.io","label":"Demo"},{"href":"https://privy.io/slack","label":"Support"}],"primary":{"type":"button","label":"Dashboard","href":"https://dashboard.privy.io"}},"seo":{"metatags":{"og:type":"website","og:site_name":"Privy Docs","og:image":"https://assets.privy.io/docs-og.png","twitter:title":"Privy Docs","twitter:card":"summary_large_image","twitter:image":"https://assets.privy.io/docs-og.png"},"organization":{"id":"https://www.privy.io/#organization","name":"Privy","url":"https://www.privy.io","logo":"https://assets.privy.io/docs-og.png","sameAs":["https://x.com/privy_io","https://github.com/privy-io"]}},"styling":{"codeblocks":"system","latex":true},"integrations":{"gtm":{"tagId":"GTM-WV9MVTB3"}},"contextual":{"options":["claude","chatgpt","cursor","vscode","mcp","copy","view"],"display":"header"},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"privy-c2af3412","hasAudioNarration":false,"actualSubdomain":"privy-c2af3412","customDomains":["docs.privy.io"],"gitSource":{"type":"github","owner":"privy-io","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3fe8634e53f17f0e1439a","collectionId":"1054fd5b-c3c7-4140-a814-9309380815a8","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3fe8634e53f17f0e1439a"},"feedback":{"issues":true,"thumbs":true,"edits":true},"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":"6ae3fe8634e53f17f0e1439a","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"Wallets","count":282},{"language":"default","tag":"API reference","count":239},{"language":"default","tag":"Recipes","count":138},{"language":"default","tag":"All recipes","count":137},{"language":"default","tag":"Identity","count":130},{"language":"default","tag":"Signatures and transactions","count":90},{"language":"default","tag":"Basics","count":86},{"language":"default","tag":"Users","count":82},{"language":"default","tag":"Financial flows","count":79},{"language":"default","tag":"Controls","count":76}]},"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":"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":"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":"byok-sep-25","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":"billing-updated-9-15","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":"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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","href":"/_mintlify/custom/privy-c2af3412/4e67a2a256ed8221/style.css"}],"page":{"pagePath":"wallets/using-wallets/user-signers","slug":"/wallets/using-wallets/user-signers","pageMetadata":{"title":"Overview","description":"User Signer API for creating wallets that integrate with JWT-based authentication from your backend","keywords":["user signers","User Signer API","JWT wallet","backend wallet creation","custom auth wallets"],"href":"/wallets/using-wallets/user-signers/index"},"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: \"User Signer API for creating wallets that integrate with JWT-based authentication from your backend\"\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={li:`li`,p:`p`,ul:`ul`,..._provideComponents(),...props.components},{Info}=_components;if(!Info)_missingMdxReference(`Info`,true);return _jsxs(_Fragment,{children:[_jsx(Info,{children:_jsx(_components.p,{children:`Directly managing user signers via the API is an advanced setting. We recommend using Privy’s\nSDKs, which internally manage user signers if applicable.`})}),`\n`,_jsx(_components.p,{children:`The User Signer API enables your application to create user wallets that integrate directly with your existing JWT-based authentication system from your backend service.`}),`\n`,_jsx(_components.p,{children:`Consider using the User Signer API if:`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsx(_components.li,{children:`You want to provision and manage non-custodial user wallets entirely server-side, and`}),`\n`,_jsx(_components.li,{children:`You are integrating with your existing JWT-based authentication system, as opposed to using Privy’s authentication methods`}),`\n`]}),`\n`,_jsx(_components.p,{children:`Custody and control of a Privy wallet is determined by the owner set on the wallet. The User Signer API enables your app to set the user as the direct owner on their wallet, and enables an authenticated user to access their wallet using their user JWT.`})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":"system","config":{},"pageMetadata":{"title":"Overview","description":"User Signer API for creating wallets that integrate with JWT-based authentication from your backend","keywords":["user signers","User Signer API","JWT wallet","backend wallet creation","custom auth wallets"],"href":"/wallets/using-wallets/user-signers/index"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/privy-c2af3412/9a6cfa36ced76db0/welcome.js","/_mintlify/custom/privy-c2af3412/1af79d46bd64cd8b/fullstory.js","/_mintlify/custom/privy-c2af3412/e4d91321024fde21/recipes/recipes-search.js","/_mintlify/custom/privy-c2af3412/d31c5451398ab22c/check-links.js"],"subdomain":"privy-c2af3412","siteName":"Privy Docs","title":"Overview - Privy Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-07-20T20:07:17.259Z","originalFileLocation":"wallets/using-wallets/user-signers/index.mdx"},"headHtml":"\u003cscript data-mint-head>(function(){var d=document.documentElement,p=null;if(!p){try{p=localStorage.getItem(\"isDarkMode\")}catch(e){}if(p==='true')p='dark';else if(p==='false')p='light';if(p!=='light'\u0026\u0026p!=='dark'\u0026\u0026p!=='system')p=\"system\"}var r=p==='system'?(matchMedia(\"(prefers-color-scheme: dark)\").matches?'dark':'light'):p;d.classList.remove(r==='dark'?'light':'dark');d.classList.add(r);d.setAttribute(\"data-theme-preference\",p)})();\u003c/script>\u003cmeta data-mint-head name=\"description\" content=\"User Signer API for creating wallets that integrate with JWT-based authentication from your backend\">\u003cmeta data-mint-head name=\"application-name\" content=\"Privy 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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_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/privy-c2af3412/bJgmnaRQwH8sO8y5/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Overview - Privy Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"User Signer API for creating wallets that integrate with JWT-based authentication from your backend\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Privy Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.privy.io/wallets/using-wallets/user-signers\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://assets.privy.io/docs-og.png\">\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=\"Privy Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"User Signer API for creating wallets that integrate with JWT-based authentication from your backend\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://assets.privy.io/docs-og.png\">\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/privy-c2af3412/bJgmnaRQwH8sO8y5/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Privy Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#010110\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.privy.io/wallets/using-wallets/user-signers\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/wallets/using-wallets/user-signers.md\">","siteName":"Privy Docs","nav":{"global":null,"tabs":[{"tab":"Basics","groups":[{"group":"Get started","pages":[{"title":"About Privy","href":"/basics/get-started/about"},{"title":"Create an account","href":"/basics/get-started/account"},{"title":"Choose your platform","href":"/basics/get-started/platforms"},{"group":"Configuring Privy Dashboard","pages":[{"title":"Overview","href":"/basics/get-started/dashboard/overview"},{"title":null,"href":"/basics/get-started/dashboard/create-new-app"},{"title":"App secrets","sidebarTitle":"App secrets","href":"/basics/get-started/dashboard/app-secrets"},{"title":"Configuring appearance","href":"/basics/get-started/dashboard/configuring-appearance"},{"title":"Configure login methods","href":"/basics/get-started/dashboard/configure-login-methods"},{"title":null,"href":"/basics/get-started/dashboard/app-clients"},{"title":null,"href":"/basics/get-started/dashboard/teammate-roles"},{"title":"Dashboard MFA","href":"/basics/get-started/dashboard/multi-factor"},{"title":"Single sign-on","href":"/basics/get-started/dashboard/sso"}]},{"title":"Key concepts","sidebarTitle":"Key concepts","href":"/basics/key-concepts"},{"title":"Build with AI tools","href":"/basics/get-started/using-llms"}]},{"group":"Client-side SDKs","pages":[{"group":"React","pages":[{"title":"Installation","href":"/basics/react/installation"},{"title":"Setup","href":"/basics/react/setup"},{"title":"Quickstart","href":"/basics/react/quickstart"},{"title":"Features","href":"/basics/react/features"},{"title":"React changelog","sidebarTitle":"Changelog","href":"/basics/react/changelog"},{"group":"Advanced","pages":[{"title":"Configuring EVM networks","href":"/basics/react/advanced/configuring-evm-networks"},{"title":"Configuring Solana networks","href":"/basics/react/advanced/configuring-solana-networks"},{"title":"Automatic wallet creation","href":"/basics/react/advanced/automatic-wallet-creation"},{"title":"Migrating to 3.0","href":"/basics/react/advanced/migrating-to-3.0"},{"title":"Migrating to 2.0","href":"/basics/react/advanced/migrating-to-2.0"}]}]},{"group":"React Native","pages":[{"title":null,"href":"/basics/react-native/installation"},{"title":null,"href":"/basics/react-native/setup"},{"title":"Quickstart","href":"/basics/react-native/quickstart"},{"title":"Features","href":"/basics/react-native/features"},{"title":"React Native changelog","sidebarTitle":"Changelog","href":"/basics/react-native/changelog"},{"group":"Advanced","pages":[{"title":"Configuring EVM networks","href":"/basics/react-native/advanced/configure-evm-networks"},{"title":null,"href":"/basics/react-native/advanced/configuring-appearance"},{"title":null,"href":"/basics/react-native/advanced/setup-apple-login"},{"title":"Setting up Privy UIs","href":"/basics/react-native/advanced/setup-privyelements"},{"title":null,"href":"/basics/react-native/advanced/setup-passkeys"},{"title":"Automatic wallet creation","href":"/basics/react-native/advanced/automatic-wallet-creation"},{"title":null,"href":"/basics/react-native/advanced/customizing-session-persistence"}]}]},{"group":"Swift","pages":[{"title":null,"href":"/basics/swift/installation"},{"title":null,"href":"/basics/swift/setup"},{"title":"Quickstart","href":"/basics/swift/quickstart"},{"title":"Features","href":"/basics/swift/features"},{"title":"Swift changelog","sidebarTitle":"Changelog","href":"/basics/swift/changelog"},{"group":"Advanced","pages":[{"title":"Migrating to 2.0","href":"/basics/swift/advanced/migrating-to-2.0"}]}]},{"group":"Android","pages":[{"title":null,"href":"/basics/android/installation"},{"title":null,"href":"/basics/android/setup"},{"title":"Quickstart","href":"/basics/android/quickstart"},{"title":"Features","href":"/basics/android/features"},{"title":"Android changelog","sidebarTitle":"Changelog","href":"/basics/android/changelog"},{"group":"Advanced","pages":[{"title":null,"href":"/basics/android/advanced/setup-passkeys"}]}]},{"group":"Flutter","pages":[{"title":null,"href":"/basics/flutter/installation"},{"title":null,"href":"/basics/flutter/setup"},{"title":"Quickstart","href":"/basics/flutter/quickstart"},{"title":"Features","href":"/basics/flutter/features"},{"title":"Flutter changelog","sidebarTitle":"Changelog","href":"/basics/flutter/changelog"}]},{"group":"Unity","pages":[{"title":null,"href":"/basics/unity/installation"},{"title":null,"href":"/basics/unity/setup"},{"title":"Quickstart","href":"/basics/unity/quickstart"},{"title":"Features","href":"/basics/unity/features"},{"title":"Unity changelog","sidebarTitle":"Changelog","href":"/basics/unity/changelog"}]}]},{"group":"Server-side SDKs","pages":[{"group":"NodeJS","pages":[{"title":"Installation","href":"/basics/nodeJS/installation"},{"title":"Setup","href":"/basics/nodeJS/setup"},{"title":"Quickstart","href":"/basics/nodeJS/quickstart"},{"title":"NodeJS changelog","sidebarTitle":"Changelog","href":"/basics/nodeJS/changelog"},{"group":"Advanced","pages":[{"title":"Migrating from server-auth","href":"/basics/nodeJS/advanced/migrating-from-server-auth"}]}]},{"group":"Java","pages":[{"title":null,"href":"/basics/java/installation"},{"title":null,"href":"/basics/java/setup"},{"title":"Quickstart","href":"/basics/java/quickstart"},{"title":"Java changelog","sidebarTitle":"Changelog","href":"/basics/java/changelog"}]},{"group":"Go","pages":[{"title":null,"href":"/basics/go/installation"},{"title":"Setup","href":"/basics/go/setup"},{"title":"Quickstart","href":"/basics/go/quickstart"},{"title":"Go changelog","sidebarTitle":"Changelog","href":"/basics/go/changelog"}]},{"group":"Rust","pages":[{"title":null,"href":"/basics/rust/installation"},{"title":null,"href":"/basics/rust/setup"},{"title":"Quickstart","href":"/basics/rust/quickstart"}]},{"group":"Ruby","pages":[{"title":"Installation","href":"/basics/ruby/installation"},{"title":"Setup","href":"/basics/ruby/setup"},{"title":"Quickstart","href":"/basics/ruby/quickstart"},{"title":"Ruby changelog","sidebarTitle":"Changelog","href":"/basics/ruby/changelog"}]},{"group":"Python","pages":[{"title":"Installation","href":"/basics/python/installation"},{"title":"Setup","href":"/basics/python/setup"},{"title":"Quickstart","href":"/basics/python/quickstart"},{"title":"Python changelog","sidebarTitle":"Changelog","href":"/basics/python/changelog"}]}]},{"group":"REST API","pages":[{"title":"Setup","href":"/basics/rest-api/setup"},{"title":"Quickstart","href":"/basics/rest-api/quickstart"}]},{"group":"Changelogs","pages":[{"title":"Product updates","sidebarTitle":"Product updates","href":"/changelogs/product-updates"},{"group":"SDK changelogs","pages":[{"title":"React changelog","sidebarTitle":"React","href":"/changelogs/react-auth"},{"title":"React Native changelog","sidebarTitle":"React Native","href":"/changelogs/react-native"},{"title":"NodeJS changelog","sidebarTitle":"NodeJS","href":"/changelogs/node"},{"title":"Java changelog","sidebarTitle":"Java","href":"/changelogs/java"},{"title":"Go changelog","sidebarTitle":"Go","href":"/changelogs/go"},{"title":"Rust changelog","sidebarTitle":"Rust","href":"/changelogs/rust"},{"title":"Ruby changelog","sidebarTitle":"Ruby","href":"/changelogs/ruby"},{"title":"Python changelog","sidebarTitle":"Python","href":"/changelogs/python"},{"title":"Swift changelog","sidebarTitle":"Swift","href":"/changelogs/swift"},{"title":"Android changelog","sidebarTitle":"Android","href":"/changelogs/android"},{"title":"Unity changelog","sidebarTitle":"Unity","href":"/changelogs/unity"},{"title":"Flutter changelog","sidebarTitle":"Flutter","href":"/changelogs/flutter"},{"title":"Ecosystem SDK changelog","sidebarTitle":"Ecosystem SDK","href":"/changelogs/cross-app-connect"},{"title":"Cross app provider SDK changelog","sidebarTitle":"Cross app provider SDK","href":"/changelogs/cross-app-provider"},{"title":"JS core SDK changelog","sidebarTitle":"JS core SDK","href":"/changelogs/js-sdk-core"},{"title":"React - Wagmi changelog","sidebarTitle":"React - Wagmi","href":"/changelogs/wagmi"}]}]},{"group":"Troubleshooting and tips","pages":[{"group":"React","pages":[{"title":"Common framework errors","href":"/basics/troubleshooting/react-frameworks"},{"title":"Embedded wallets","href":"/basics/troubleshooting/troubleshooting-embedded-wallets"},{"title":"Multiple dialogs","href":"/basics/troubleshooting/multiple-dialogs"},{"title":"Styles","href":"/basics/troubleshooting/styles"},{"title":"Analytics CORS errors","href":"/basics/troubleshooting/analytics-cors"}]},{"group":"Error handling","pages":[{"title":"Client-side error codes","href":"/basics/troubleshooting/error-handling/client-errors"},{"title":"API error codes","href":"/basics/troubleshooting/error-handling/api-errors"}]}]}]},{"tab":"Wallets","menu":[{"item":"Overview","groups":[{"group":" ","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/wallets/overview"},{"title":"Features","href":"/wallets/overview/features"},{"title":"Common use cases","href":"/wallets/overview/use-cases"},{"title":"Types of wallets","href":"/wallets/overview/types"},{"title":"Chain support","href":"/wallets/overview/chains"},{"title":"Flexible custody","href":"/wallets/overview/flexible-custody"}]}]},{"item":"Embedded wallets","groups":[{"group":"Embedded wallets","pages":[{"title":"Embedded wallets","sidebarTitle":"Overview","href":"/wallets/overview/embedded"},{"title":"User wallets","href":"/wallets/overview/solutions/user-wallets"},{"title":"Organization wallets","href":"/wallets/overview/solutions/organization-wallets"},{"title":"Treasury","href":"/wallets/overview/solutions/treasury-wallets"},{"title":"Agent wallets","href":"/wallets/overview/solutions/agent-wallets"}]},{"group":"Management","pages":[{"title":"Create a wallet","href":"/wallets/wallets/create/create-a-wallet"},{"group":"Get a wallet","pages":[{"title":"Get user connected wallets","href":"/wallets/wallets/get-a-wallet/get-connected-wallet"},{"title":"Get wallet by ID","href":"/wallets/wallets/get-a-wallet/get-wallet-by-id"},{"title":"Get wallet by external ID","href":"/wallets/wallets/get-a-wallet/get-wallet-by-external-id"},{"title":"Get all wallets","href":"/wallets/wallets/get-a-wallet/get-all-wallets"}]},{"title":"Update a wallet","href":"/wallets/wallets/update-a-wallet"},{"title":"Archive a wallet","sidebarTitle":"Archive a wallet","href":"/wallets/wallets/archive-a-wallet"},{"group":"Import a wallet","pages":[{"title":"HD wallets","href":"/wallets/wallets/import-a-wallet/hd-wallets"},{"title":"Private keys","href":"/wallets/wallets/import-a-wallet/private-key"},{"title":"Architecture","href":"/wallets/wallets/import-a-wallet/architecture"}]},{"title":"Export a wallet","href":"/wallets/wallets/export"},{"title":"External IDs","sidebarTitle":"External IDs","href":"/wallets/wallets/external-ids"}]},{"group":"Usage","pages":[{"title":"Using wallets","href":"/wallets/using-wallets/overview"},{"title":"Server-side access to user wallets","href":"/wallets/wallets/server-side-access"},{"title":"Offline actions with user wallets","href":"/wallets/wallets/offline-actions"},{"title":"Conditional policies per signer","sidebarTitle":"Conditional policies per signer","href":"/recipes/wallets/conditional-signer-policies"}]},{"group":"UI components","pages":[{"title":"UI components","href":"/wallets/using-wallets/ui-components"},{"title":"Whitelabel","href":"/wallets/using-wallets/whitelabel"}]},{"group":"Custodial wallets","pages":[{"title":"Overview","href":"/wallets/custodial-wallets/overview"},{"title":"Setup","href":"/wallets/custodial-wallets/setup"},{"title":"Create a custodial wallet","href":"/wallets/custodial-wallets/create-custodial-wallet"},{"title":"Sending funds","href":"/wallets/custodial-wallets/sending-funds"},{"title":"Transfer lifecycle","href":"/wallets/custodial-wallets/transaction-lifecycle"},{"group":"Advanced","pages":[{"title":"Authorization and controls","href":"/wallets/custodial-wallets/advanced/authorization-controls"},{"title":"Webhooks","href":"/wallets/custodial-wallets/advanced/webhooks"},{"title":"Funding","href":"/wallets/custodial-wallets/advanced/funding"}]}]},{"group":"Digital asset accounts","pages":[{"sidebarTitle":"Overview","title":"Digital asset accounts","href":"/wallets/accounts/overview"},{"title":"Create an account","href":"/wallets/accounts/create"},{"title":"Get an account","href":"/wallets/accounts/get"},{"title":"Update an account","href":"/wallets/accounts/update"},{"title":"Get account balance","href":"/wallets/accounts/balance"},{"title":"Configuring self-custody","href":"/wallets/accounts/self-custody"},{"title":"Taking actions","href":"/wallets/accounts/actions"}]},{"group":"Global wallets","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/wallets/global-wallets/overview"},{"group":"Launch your wallet","pages":[{"title":"Overview","href":"/wallets/global-wallets/launch-your-wallet/overview"},{"title":null,"href":"/wallets/global-wallets/launch-your-wallet/custom-experience"}]},{"group":"Integrate a global wallet","pages":[{"title":null,"href":"/wallets/global-wallets/integrate-a-global-wallet/overview"},{"title":null,"href":"/wallets/global-wallets/integrate-a-global-wallet/login-with-a-global-wallet"},{"title":null,"href":"/wallets/global-wallets/integrate-a-global-wallet/linking-a-global-wallet"},{"title":null,"href":"/wallets/global-wallets/integrate-a-global-wallet/getting-global-wallets"},{"title":null,"href":"/wallets/global-wallets/integrate-a-global-wallet/using-global-wallets"},{"title":"RainbowKit connector","href":"/wallets/global-wallets/integrate-a-global-wallet/rainbowkit-connector"},{"title":null,"href":"/wallets/global-wallets/integrate-a-global-wallet/connectkit-connector"}]}]},{"group":"EVM smart wallets","pages":[{"title":"Smart wallets","sidebarTitle":"Overview","href":"/wallets/using-wallets/evm-smart-wallets/overview"},{"group":"Setup","pages":[{"title":"Configure smart wallets in the dashboard","sidebarTitle":"Configuring the dashboard","href":"/wallets/using-wallets/evm-smart-wallets/setup/configuring-dashboard"},{"title":"Configure smart wallets in the SDK","sidebarTitle":"Configuring the SDK","href":"/wallets/using-wallets/evm-smart-wallets/setup/configuring-sdk"}]},{"title":"Using smart wallets","sidebarTitle":"Usage","href":"/wallets/using-wallets/evm-smart-wallets/usage"}]}]},{"item":"Organization wallets","groups":[{"group":"Organizations","pages":[{"title":"Organization wallets","sidebarTitle":"Overview","href":"/organizations/overview"}]},{"group":"Setup","pages":[{"title":"Set up organization wallets","sidebarTitle":"Overview","href":"/organizations/setup/overview"},{"title":"Create users","sidebarTitle":"Create users","href":"/organizations/setup/users"},{"title":"Create an organization","sidebarTitle":"Create organization","href":"/organizations/setup/organizations"},{"title":"Create organization wallet","sidebarTitle":"Create wallet","href":"/organizations/setup/wallet"},{"title":"Organization wallets","sidebarTitle":"End-to-end setup","href":"/recipes/wallets/organization-wallets"},{"title":"Example wallet configuration","sidebarTitle":"Example wallet configuration","href":"/organizations/setup/example-wallet"}]},{"group":"Taking actions","pages":[{"title":"Taking actions with organization wallets","sidebarTitle":"Overview","href":"/organizations/actions/overview"},{"title":"Propose actions via intents","sidebarTitle":"Propose actions","href":"/organizations/actions/intents"},{"title":"Provision access","sidebarTitle":"Provision access","href":"/organizations/actions/provision-access"}]},{"group":"Approving actions","pages":[{"title":"Approve actions","sidebarTitle":"Approve actions","href":"/organizations/actions/approvals"},{"title":"Get pending actions","sidebarTitle":"Get pending actions","href":"/organizations/actions/list-intents"},{"title":"Consume executed actions","sidebarTitle":"Consume executed actions","href":"/organizations/actions/intent-execution"}]},{"group":"Conditional policies","pages":[{"title":"Assigning conditional policies","sidebarTitle":"Assigning conditional policies","href":"/organizations/setup/signers"}]}]},{"item":"External wallets","groups":[{"group":"External wallets","pages":[{"title":"Overview","href":"/wallets/connectors/overview"}]},{"group":"Setup","pages":[{"title":"Configure external connector chains","sidebarTitle":"Configure chain types","href":"/wallets/connectors/setup/configuring-external-connector-chains"},{"title":"Configure wallet options","sidebarTitle":"Configure wallet options","href":"/wallets/connectors/setup/configuring-external-connector-wallets"}]},{"group":"Usage","pages":[{"title":"Connect an external wallet","href":"/wallets/connectors/usage/connecting-external-wallets"},{"title":"Connect or create a wallet","href":"/wallets/connectors/usage/connect-or-create"},{"title":"Authenticate a connected wallet","href":"/wallets/connectors/usage/authenticate"}]},{"group":"Ethereum","pages":[{"title":"Integrating with viem","href":"/wallets/connectors/ethereum/integrations/viem"},{"title":"Integrating with wagmi","href":"/wallets/connectors/ethereum/integrations/wagmi"},{"title":"Integrating with ethers","href":"/wallets/connectors/ethereum/integrations/ethers"}]},{"group":"Solana","pages":[{"title":"Integrating with @solana/web3.js","href":"/wallets/connectors/solana/web3-integrations"},{"title":"Integrating with @solana/kit","href":"/wallets/connectors/solana/kit-integrations"}]}]},{"item":"Signatures and transactions","groups":[{"group":"Signatures and transactions","pages":[{"title":"Signatures and transactions","sidebarTitle":"Overview","href":"/wallets/signatures-and-transactions"}]},{"group":"Wallet actions","pages":[{"title":"Wallet actions","sidebarTitle":"Overview","href":"/wallets/actions/overview"},{"title":"Wallet action lifecycle","href":"/wallets/actions/lifecycle"},{"title":"Get wallet action status","href":"/wallets/actions/status"},{"title":"Set a reference ID","href":"/wallets/actions/reference-id"},{"title":"Webhooks","sidebarTitle":"Webhooks","href":"/wallets/actions/webhooks"}]},{"group":"Wallet automations","pages":[{"title":"Wallet automations","sidebarTitle":"Overview","href":"/wallets/automations/overview"},{"title":"Configure triggers and actions","sidebarTitle":"Configuration","href":"/wallets/automations/configuration"},{"title":"Create and attach an automation","href":"/wallets/automations/create-and-attach"},{"title":"Automate Earn deposits","href":"/wallets/automations/earn-deposits"},{"title":"Manage automations","href":"/wallets/automations/manage"},{"title":"Automation lifecycle","href":"/wallets/automations/lifecycle"},{"title":"Webhooks","sidebarTitle":"Webhooks","href":"/wallets/automations/webhooks"}]},{"group":"Signing and RPC","pages":[{"title":"Signing and RPCs","sidebarTitle":"Overview","href":"/wallets/using-wallets/rpc"},{"group":"Ethereum","pages":[{"title":"Send an Ethereum transaction","href":"/wallets/using-wallets/ethereum/send-a-transaction"},{"title":"Sign an Ethereum transaction","href":"/wallets/using-wallets/ethereum/sign-a-transaction"},{"title":null,"href":"/wallets/using-wallets/ethereum/sign-a-message"},{"title":"Sign typed data (EIP-712)","sidebarTitle":"Sign typed data (EIP-712)","href":"/wallets/using-wallets/ethereum/sign-typed-data"},{"title":null,"href":"/wallets/using-wallets/ethereum/sign-a-raw-hash"},{"title":"Sign EIP-7702 authorization","href":"/wallets/using-wallets/ethereum/sign-7702-authorization"},{"title":"Switch chains","href":"/wallets/using-wallets/ethereum/switch-chain"},{"title":null,"href":"/wallets/using-wallets/ethereum/ethereum-provider"},{"title":"Interfacing with common libraries","href":"/wallets/using-wallets/ethereum/web3-integrations"}]},{"group":"Solana","pages":[{"title":"Sign a Solana message","href":"/wallets/using-wallets/solana/sign-a-message"},{"title":"Send a Solana transaction","href":"/wallets/using-wallets/solana/send-a-transaction"},{"title":"Sign a Solana transaction","href":"/wallets/using-wallets/solana/sign-a-transaction"},{"title":"Integrating with @solana/web3.js","href":"/wallets/using-wallets/solana/web3-integrations"},{"title":"Integrating with @solana/kit","href":"/wallets/using-wallets/solana/kit-integrations"}]},{"group":"Tempo","pages":[{"title":"Send a Tempo transaction","href":"/wallets/using-wallets/tempo/send-a-transaction"},{"title":"Sign a Tempo transaction","href":"/wallets/using-wallets/tempo/sign-a-transaction"}]},{"group":"Tron","pages":[{"title":"Send a Tron transaction","href":"/wallets/using-wallets/tron/send-a-transaction"},{"title":"Sign a Tron transaction","href":"/wallets/using-wallets/tron/sign-a-transaction"}]},{"group":"Bitcoin","pages":[{"title":"Sign transaction inputs","sidebarTitle":"Sign transaction (TEE mode)","href":"/wallets/using-wallets/bitcoin/sign-transaction-inputs"},{"title":"Using Bitcoin with on-device execution","sidebarTitle":"Sign transaction (on-device mode)","href":"/wallets/using-wallets/bitcoin/using-bitcoin"}]},{"group":"XRPL","pages":[{"title":"Overview","href":"/wallets/using-wallets/xrpl/overview"}]},{"group":"Other chains","pages":[{"title":"Sui","href":"/wallets/using-wallets/other-chains/sui"},{"title":"Raw signing","href":"/wallets/using-wallets/other-chains/index"}]}]},{"group":"Intents","pages":[{"title":"Intents","sidebarTitle":"Overview","href":"/transaction-management/intents/overview"},{"group":"Propose an intent","pages":[{"title":"Transfer funds","sidebarTitle":"Transfer funds","href":"/transaction-management/intents/create/execute-transfer"},{"title":"Authorize a transaction","sidebarTitle":"Authorize a transaction","href":"/transaction-management/intents/create/execute-rpc"},{"title":"Update wallet","sidebarTitle":"Update wallet","href":"/transaction-management/intents/create/update-wallet"},{"title":"Update policy","sidebarTitle":"Update policy","href":"/transaction-management/intents/create/update-policy"},{"title":"Update policy rules","sidebarTitle":"Update policy rules","href":"/transaction-management/intents/create/update-policy-rules"},{"title":"Update key quorum","sidebarTitle":"Update key quorum","href":"/transaction-management/intents/create/update-key-quorum"}]},{"title":"Authorize intent","sidebarTitle":"Authorize intent","href":"/transaction-management/intents/sign-intents"},{"title":"Reject intent","sidebarTitle":"Reject intent","href":"/transaction-management/intents/reject-intents"},{"group":"Intent status","pages":[{"title":"Lifecycle of an intent","sidebarTitle":"Lifecycle","href":"/transaction-management/intents/lifecycle"},{"title":"Get intent by ID","sidebarTitle":"Get intent by ID","href":"/transaction-management/intents/fetch-intent"},{"title":"Intent webhooks","sidebarTitle":"Webhooks","href":"/transaction-management/intents/intent-webhooks"}]}]},{"group":"Transactions","pages":[{"title":"Set a reference ID","href":"/transaction-management/transactions/reference-id"},{"title":"Fetch transaction via webhook","href":"/wallets/gas-and-asset-management/assets/transaction-event-webhooks"},{"title":"Fetch transaction via API","href":"/wallets/gas-and-asset-management/assets/fetch-a-transaction"},{"title":"List transactions","href":"/wallets/gas-and-asset-management/assets/list-transactions"}]}]},{"item":"Balances and webhooks","groups":[{"group":"Balances","pages":[{"sidebarTitle":"Overview","title":"Balances and webhooks","href":"/wallets/gas-and-asset-management/assets/overview"},{"title":"Fetch deposits and withdrawals via webhook","href":"/wallets/gas-and-asset-management/assets/balance-event-webhooks"},{"title":"Fetch balance via API","href":"/wallets/gas-and-asset-management/assets/fetch-balance"}]}]},{"item":"Gas and fee management","groups":[{"group":"Gas management","pages":[{"title":"Overview","href":"/wallets/gas-and-asset-management/gas/overview"},{"title":"Setting up gas sponsorship","href":"/wallets/gas-and-asset-management/gas/setup"},{"title":"Transaction management","href":"/wallets/gas-and-asset-management/gas/transaction-handling"},{"title":"Security best practices","href":"/wallets/gas-and-asset-management/gas/security"},{"title":"Query gas spend","href":"/wallets/gas-and-asset-management/gas/gas-spend"},{"group":"Custom setup","pages":[{"title":"Sponsoring transactions on Ethereum","sidebarTitle":"Sponsoring transactions on Ethereum","href":"/wallets/gas-and-asset-management/gas/ethereum"},{"title":"Sponsoring transactions on Solana","href":"/wallets/gas-and-asset-management/gas/solana"}]}]},{"group":"Usage and billing","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/wallets/gas-and-asset-management/usage-billing/overview"},{"title":"Usage webhooks","sidebarTitle":"Usage webhooks","href":"/wallets/gas-and-asset-management/usage-billing/usage-webhooks"}]}]}]},{"tab":"Financial flows","menu":[{"item":"Overview","groups":[{"group":"Financial flows","pages":[{"title":"Financial flows","sidebarTitle":"Overview","href":"/financial-flows/overview"},{"title":"Deposits","sidebarTitle":"Deposits","href":"/financial-flows/deposits"},{"title":"Payouts","sidebarTitle":"Payouts","href":"/financial-flows/payouts"},{"title":"Earn","sidebarTitle":"Earn","href":"/financial-flows/earn"},{"title":"Cards","sidebarTitle":"Cards","href":"/financial-flows/cards"},{"title":"Trade","sidebarTitle":"Trade","href":"/financial-flows/swap"},{"title":"Monetization","sidebarTitle":"Monetization","href":"/financial-flows/monetization"},{"title":"Treasury management","sidebarTitle":"Treasury management","href":"/financial-flows/treasury-management"},{"title":"Private transactions","sidebarTitle":"Private transactions","href":"/financial-flows/private-transactions"}]}]},{"item":"Deposits","groups":[{"group":"Deposits","pages":[{"title":"Deposits","sidebarTitle":"Overview","href":"/financial-flows/deposits/overview"},{"title":"Configuration","href":"/financial-flows/deposits/configuration"}]},{"group":"Fiat deposits","pages":[{"title":"Fiat deposits","sidebarTitle":"Overview","href":"/wallets/funding/fiat-deposits/overview"},{"title":"Setup","href":"/wallets/funding/fiat-deposits/setup"},{"title":"Create a deposit account","href":"/wallets/funding/fiat-deposits/create-deposit-account"},{"title":"Get deposit accounts","href":"/wallets/funding/fiat-deposits/get-deposit-accounts"},{"title":"Deposit lifecycle","href":"/wallets/funding/fiat-deposits/deposit-lifecycle"}]},{"group":"Crypto deposits","pages":[{"title":"Crypto deposits","sidebarTitle":"Overview","href":"/wallets/funding/crypto-deposits/overview"},{"title":"Set up crypto deposits","sidebarTitle":"Setup","href":"/wallets/funding/crypto-deposits/setup"},{"title":"Create a crypto deposit account","sidebarTitle":"Create a deposit account","href":"/wallets/funding/crypto-deposits/create-deposit-account"},{"title":"Quote a crypto deposit route","sidebarTitle":"Quote a route","href":"/wallets/funding/crypto-deposits/quotes"},{"title":"Track crypto deposit orders","sidebarTitle":"Track orders","href":"/wallets/funding/crypto-deposits/orders"},{"title":"Crypto deposits FAQ","sidebarTitle":"FAQ","href":"/wallets/funding/crypto-deposits/faq"}]},{"group":"Deposit modal","pages":[{"title":"Deposit modal","sidebarTitle":"Overview","href":"/wallets/funding/use-deposit-funds"}]}]},{"item":"Payouts","groups":[{"group":"Payouts","pages":[{"title":"Payouts","sidebarTitle":"Overview","href":"/financial-flows/payouts/overview"},{"title":"Configuration","href":"/financial-flows/payouts/configuration"}]},{"group":"Fiat payouts","pages":[{"title":"Fiat payouts","sidebarTitle":"Overview","href":"/financial-flows/transfers/fiat-payouts/overview"},{"title":"Setup","href":"/financial-flows/transfers/fiat-payouts/setup"},{"title":"Register a bank account","href":"/financial-flows/transfers/fiat-payouts/register-bank-account"},{"title":"Get bank accounts","href":"/financial-flows/transfers/fiat-payouts/get-bank-accounts"},{"title":"Execute a payout","href":"/financial-flows/transfers/fiat-payouts/execute-payout"},{"title":"Track a payout","href":"/financial-flows/transfers/fiat-payouts/track-payouts"}]},{"group":"Crypto payouts","pages":[{"title":"Transfer","sidebarTitle":"Overview","href":"/wallets/actions/transfer/overview"},{"title":null,"href":"/wallets/actions/transfer/usage"},{"title":"Bridging","sidebarTitle":"Bridging","href":"/wallets/actions/transfer/bridging"},{"title":"Fixed rates","sidebarTitle":"Fixed rates","href":"/wallets/actions/transfer/fixed-rates"},{"title":"Quote transfer fees","sidebarTitle":"Quote fees","href":"/wallets/actions/transfer/quote"},{"title":"Policies","sidebarTitle":"Policies","href":"/wallets/actions/transfer/policies"},{"title":"Collect fees","href":"/wallets/actions/transfer/collect-fees"}]}]},{"item":"Earn","groups":[{"group":" ","pages":[{"sidebarTitle":"Overview","title":"Overview","href":"/wallets/actions/earn/overview"}]},{"group":"Get started","pages":[{"sidebarTitle":"Setting up earn","title":"Setting up earn","href":"/wallets/actions/earn/setup"},{"sidebarTitle":"Revenue sharing","title":"Revenue sharing","href":"/wallets/actions/earn/revenue-sharing"},{"title":"Policies","sidebarTitle":"Policies","href":"/wallets/actions/earn/policies"}]},{"group":"Vault actions","pages":[{"title":"Deposit funds","sidebarTitle":"Deposit funds","href":"/wallets/actions/earn/deposit"},{"title":"Withdraw assets","sidebarTitle":"Withdraw assets","href":"/wallets/actions/earn/withdraw"},{"title":"Claim rewards","sidebarTitle":"Claim rewards","href":"/wallets/actions/earn/claim"},{"title":"Collect performance fees","sidebarTitle":"Collect performance fees","href":"/wallets/actions/earn/collect-fees"}]},{"group":"Positions and monitoring","pages":[{"title":"Get vault position","sidebarTitle":"Get vault position","href":"/wallets/actions/earn/get-vault-position"},{"title":"Get vault details","sidebarTitle":"Get vault details","href":"/wallets/actions/earn/get-vault-details"},{"title":"Webhooks","sidebarTitle":"Webhooks","href":"/wallets/actions/earn/webhooks"}]},{"group":"Providers","pages":[{"sidebarTitle":"Morpho","title":"Morpho","href":"/wallets/actions/earn/providers/morpho"},{"sidebarTitle":"Aave","title":"Aave","href":"/wallets/actions/earn/providers/aave"},{"sidebarTitle":"Veda","title":"Veda","href":"/wallets/actions/earn/providers/veda"}]}]},{"item":"Cards","groups":[{"group":"Cards","pages":[{"title":"Cards","sidebarTitle":"Overview","href":"/financial-flows/cards/overview"}]},{"group":"Prebuilt components","pages":[{"title":"Cards prebuilt components","sidebarTitle":"Overview","href":"/financial-flows/cards/pre-built-components/overview"},{"title":"Cards setup","sidebarTitle":"Setup","href":"/financial-flows/cards/pre-built-components/setup"},{"title":"Cards React integration","sidebarTitle":"React integration","href":"/financial-flows/cards/pre-built-components/react-integration"},{"title":"Cards React Native integration","sidebarTitle":"React Native integration","href":"/financial-flows/cards/pre-built-components/react-native-integration"},{"title":"Open cards in a mobile WebView","sidebarTitle":"Mobile WebView","href":"/financial-flows/cards/pre-built-components/mobile-webview"},{"title":"Spend from vault balances","sidebarTitle":"Spend from vaults","href":"/financial-flows/cards/pre-built-components/spend-from-vault"}]},{"group":"API integration","pages":[{"title":"Cards API integration","sidebarTitle":"Integration guide","href":"/financial-flows/cards/integration-guide"}]}]},{"item":"Trade","groups":[{"group":"Trade","pages":[{"title":"Swap tokens","sidebarTitle":"Overview","href":"/wallets/actions/swap/overview"},{"title":"Setup","sidebarTitle":"Setup","href":"/wallets/actions/swap/setup"},{"title":"Get a quote","sidebarTitle":"Get quote","href":"/wallets/actions/swap/get-quote"},{"title":"Execute a swap","sidebarTitle":"Execute swap","href":"/wallets/actions/swap/execute"},{"title":"Collect fees","href":"/wallets/actions/swap/collect-fees"},{"title":"Errors","sidebarTitle":"Errors","href":"/wallets/actions/swap/errors"}]}]},{"item":"Monetization","pages":[{"title":"Monetization","sidebarTitle":"Monetization","href":"/financial-flows/monetization"}]},{"item":"Treasury management","groups":[{"group":"Treasury management","pages":[{"title":"Treasury management","sidebarTitle":"Overview","href":"/treasury-management/overview"},{"title":"Setup","sidebarTitle":"Setup","href":"/treasury-management/setup"},{"title":"Supported chains and assets","sidebarTitle":"Supported chains and assets","href":"/treasury-management/supported-chains-and-assets"},{"title":"Initiate transfers","sidebarTitle":"Initiate transfers","href":"/treasury-management/transfers"},{"title":"Collect approvals","sidebarTitle":"Collect approvals","href":"/treasury-management/approvals"},{"title":"FAQ","sidebarTitle":"FAQ","href":"/treasury-management/faq"}]}]},{"item":"Private transactions","pages":[{"title":"Private transactions","sidebarTitle":"Private transactions","href":"/financial-flows/private-transactions"}]}]},{"tab":"Controls and policies","menu":[{"item":"Controls","groups":[{"group":"Controls","pages":[{"title":"Controls and policies","sidebarTitle":"Overview","href":"/controls/overview"},{"group":"Common configurations","pages":[{"title":"Single-party approvals","href":"/controls/common-use-cases/single-party-approval"},{"title":"Quorum approvals","href":"/controls/common-use-cases/quorum-approval"},{"title":"Delegating permissions","href":"/controls/common-use-cases/delegation"}]}]},{"group":"Owners \u0026 signers","pages":[{"title":"Overview","sidebarTitle":"Controls overview","href":"/controls/authorization-keys/owners/overview"},{"title":"Types of owners \u0026 signers","href":"/controls/authorization-keys/owners/types"}]},{"group":"Configuring your wallets","pages":[{"title":null,"href":"/controls/authorization-keys/owners/configuration/overview"},{"group":"Self-custodial user wallets","pages":[{"title":"Overview","href":"/controls/authorization-keys/owners/configuration/user/overview"},{"title":"Enabling offline actions","href":"/controls/authorization-keys/owners/configuration/user/offline"},{"sidebarTitle":"Requiring users and servers to approve transactions","title":"Requiring user and server approvals","href":"/controls/authorization-keys/owners/configuration/user/dual-approval"},{"title":"Sending transactions from your server","href":"/controls/authorization-keys/owners/configuration/user/server-transactions"},{"title":"Updating wallets from your server","href":"/controls/authorization-keys/owners/configuration/user/server-updates"},{"title":"Exporting wallets from your server","href":"/controls/authorization-keys/owners/configuration/user/server-export"}]},{"title":"Programmable controls","href":"/controls/authorization-keys/owners/configuration/programmable"}]},{"group":"Creating owners \u0026 signers","pages":[{"group":"Users","pages":[{"sidebarTitle":"Overview","title":"Users","href":"/controls/authorization-keys/keys/create/user/overview"},{"sidebarTitle":"Authentication settings","title":"Configure authentication settings","href":"/controls/authorization-keys/keys/create/user/authentication"},{"title":"Using user owners \u0026 signers","href":"/controls/authorization-keys/keys/create/user/request"}]},{"title":"Authorization keys","href":"/controls/authorization-keys/keys/create/key"},{"title":"Key quorums","href":"/controls/authorization-keys/keys/create/key-quorum"}]},{"group":"Using owners \u0026 signers","pages":[{"sidebarTitle":"Overview","title":"Using owners","href":"/controls/authorization-keys/using-owners/overview"},{"group":"Owners","pages":[{"sidebarTitle":"Owning resources","title":"Owning resources with owners","href":"/controls/authorization-keys/using-owners/assign"}]},{"group":"Additional signers","pages":[{"title":null,"href":"/wallets/using-wallets/signers/overview"},{"sidebarTitle":"Quickstart","title":"Enabling users or servers to execute transactions","href":"/wallets/using-wallets/signers/quickstart"},{"title":"Configure signers","href":"/wallets/using-wallets/signers/configure-signers"},{"title":"Add signers","href":"/wallets/using-wallets/signers/add-signers"},{"title":"Remove signers","href":"/wallets/using-wallets/signers/remove-signers"},{"title":"Use signers","href":"/wallets/using-wallets/signers/use-signers"}]},{"group":"Signing requests","pages":[{"sidebarTitle":"Overview","title":"Signing requests","href":"/controls/authorization-keys/using-owners/sign/overview"},{"title":"Signing on the client","href":"/controls/authorization-keys/using-owners/sign/signing-on-the-client"},{"title":"Signing on the server","href":"/controls/authorization-keys/using-owners/sign/signing-on-the-server"},{"group":"Advanced","pages":[{"title":"Signing with utility functions","href":"/controls/authorization-keys/using-owners/sign/utility-functions"},{"title":"Implementing signing directly","href":"/controls/authorization-keys/using-owners/sign/direct-implementation"}]}]}]},{"group":"Key quorums","pages":[{"title":"Overview","href":"/controls/key-quorum/overview"},{"title":"Creating key quorums","href":"/controls/key-quorum/create"},{"sidebarTitle":"Signing requests","title":"Signing requests with key quorums","href":"/controls/key-quorum/sign"}]}]},{"item":"Policies","groups":[{"group":"Policies","pages":[{"title":"Overview","sidebarTitle":"Overview","href":"/controls/policies/overview"},{"group":"Primitives","pages":[{"title":"Condition sets","href":"/controls/policies/condition-sets"},{"title":"Stateful policies","href":"/controls/policies/stateful-policies"},{"title":"Template variables","href":"/controls/policies/template-variables"}]}]},{"group":"Using policies","pages":[{"title":null,"href":"/controls/policies/create-a-policy"},{"title":"Update a policy","href":"/controls/policies/update-a-policy"},{"title":null,"href":"/controls/policies/get-a-policy"}]},{"group":"Examples","pages":[{"title":"Ethereum examples","href":"/controls/policies/example-policies/ethereum"},{"title":"Solana examples","href":"/controls/policies/example-policies/solana"},{"title":"Solana IDL examples","href":"/controls/policies/example-policies/solana-idls"},{"title":"Tempo examples","href":"/controls/policies/example-policies/tempo"},{"title":"Tron examples","href":"/controls/policies/example-policies/tron"},{"title":"Sui examples","href":"/controls/policies/example-policies/sui"},{"title":"XRPL examples","href":"/controls/policies/example-policies/xrpl"},{"title":"Time-bound examples","href":"/controls/policies/example-policies/timebound"}]}]},{"item":"Manual approvals","groups":[{"group":"Manual approvals","pages":[{"title":"Manual approvals","sidebarTitle":"Overview","href":"/controls/dashboard/overview"},{"title":"Create a key quorum","sidebarTitle":"Create key quorums","href":"/controls/dashboard/key-quorum"},{"title":"Review and approve intents","sidebarTitle":"Review intents","href":"/controls/dashboard/approvals"}]}]}]},{"tab":"Identity","menu":[{"item":"Authentication","groups":[{"group":"Authentication","pages":[{"title":"Overview","href":"/authentication/overview"}]},{"group":"Using Privy authentication","pages":[{"sidebarTitle":"Overview","title":"Using Privy as your authentication provider","href":"/authentication/user-authentication/privy-auth"},{"group":"Login methods","pages":[{"title":"Email","href":"/authentication/user-authentication/login-methods/email"},{"title":"SMS and WhatsApp","href":"/authentication/user-authentication/login-methods/sms-whatsapp"},{"title":"Wallet","href":"/authentication/user-authentication/login-methods/wallet"},{"title":"Passkey","href":"/authentication/user-authentication/login-methods/passkey"},{"title":"OAuth","href":"/authentication/user-authentication/login-methods/oauth"},{"title":"Farcaster","href":"/authentication/user-authentication/login-methods/farcaster"},{"title":"Additional OAuth providers","href":"/authentication/user-authentication/login-methods/custom-oauth"}]},{"title":"Authentication state","href":"/authentication/user-authentication/authentication-state"},{"title":"Tokens","href":"/authentication/user-authentication/tokens"},{"title":"Access tokens","href":"/authentication/user-authentication/access-tokens"},{"title":"Logging users out","href":"/authentication/user-authentication/logout"},{"group":"MFA","pages":[{"title":"Multi-factor authentication (MFA)","sidebarTitle":"Overview","href":"/authentication/user-authentication/mfa/overview"},{"title":"Setting up wallet MFA for your app","href":"/authentication/user-authentication/mfa/setup"},{"group":"Custom UI","pages":[{"title":"Overview","href":"/authentication/user-authentication/mfa/custom-ui/overview"},{"group":"Enrollment","pages":[{"title":"Overview","href":"/authentication/user-authentication/mfa/enrollment/overview"},{"title":"SMS enrollment","href":"/authentication/user-authentication/mfa/enrollment/sms"},{"title":"TOTP enrollment","href":"/authentication/user-authentication/mfa/enrollment/totp"},{"title":"Passkey enrollment","href":"/authentication/user-authentication/mfa/enrollment/passkeys"}]},{"group":"Verification","pages":[{"title":"Overview","href":"/authentication/user-authentication/mfa/verify/overview"},{"title":"SMS verification","href":"/authentication/user-authentication/mfa/verify/sms"},{"title":"TOTP verification","href":"/authentication/user-authentication/mfa/verify/totp"},{"title":"Passkey verification","href":"/authentication/user-authentication/mfa/verify/passkeys"}]},{"title":"Unenrolling MFA methods","href":"/authentication/user-authentication/mfa/unenroll"},{"title":"MFA required listener","href":"/authentication/user-authentication/mfa/listener"},{"title":"Error handling","href":"/authentication/user-authentication/mfa/errors"}]},{"title":"Using default Privy UIs","href":"/authentication/user-authentication/mfa/default-ui"}]},{"group":"Advanced","pages":[{"title":"Guest accounts","href":"/authentication/user-authentication/login-methods/guest"},{"title":"CAPTCHA on login","href":"/authentication/user-authentication/captcha"}]},{"title":"UI components","href":"/authentication/user-authentication/ui-component"},{"title":"Whitelabel","href":"/authentication/user-authentication/whitelabel"}]},{"group":"Using your own authentication","pages":[{"sidebarTitle":"Overview","title":"Using your own authentication provider","href":"/authentication/user-authentication/jwt-based-auth/overview"},{"sidebarTitle":"Setup","title":"Configuring your authentication provider","href":"/authentication/user-authentication/jwt-based-auth/setup"},{"sidebarTitle":"Usage","title":"Integrating your authentication provider with Privy","href":"/authentication/user-authentication/jwt-based-auth/usage"}]}]},{"item":"Users","groups":[{"group":"Users","pages":[{"title":"Users","sidebarTitle":"Overview","href":"/user-management/users/overview"}]},{"group":"User management","pages":[{"title":"Handling the user object","sidebarTitle":"The user object","href":"/user-management/users/the-user-object"},{"title":"Identity tokens","href":"/user-management/users/identity-tokens"},{"group":"Account linking and metadata","pages":[{"title":"Linking accounts to users","href":"/user-management/users/linking-accounts"},{"title":"Unlinking accounts from users","href":"/user-management/users/unlinking-accounts"},{"title":"Updating user accounts","href":"/user-management/users/updating-accounts"},{"title":null,"href":"/user-management/users/custom-metadata"}]},{"group":"UIs and whitelabel","pages":[{"title":"UI components","href":"/user-management/users/ui-components"},{"title":"Whitelabel","href":"/user-management/users/whitelabel"}]}]},{"group":"Managing users","pages":[{"title":null,"href":"/user-management/users/managing-users/querying-users"},{"title":"Deleting users","href":"/user-management/users/managing-users/deleting-users"},{"title":"Freezing users","href":"/user-management/users/managing-users/freezing-users"},{"title":"Supporting your users","href":"/user-management/users/managing-users/supporting-your-users"},{"group":"Access control","pages":[{"title":"Allowlist","href":"/user-management/users/managing-users/allowlist"},{"title":"Denylist","href":"/user-management/users/managing-users/denylist"}]}]},{"group":"Migrating users to Privy","pages":[{"title":"Migrating existing users to Privy","href":"/user-management/migrating-users-to-privy/overview"},{"title":"Create or import a user","href":"/user-management/migrating-users-to-privy/create-or-import-a-user"},{"title":"Create or import a batch of users","href":"/user-management/migrating-users-to-privy/create-or-import-a-batch-of-users"}]},{"group":"Webhooks","pages":[{"title":"Handling events","href":"/user-management/users/webhooks/handling-events"}]}]},{"item":"KYC and KYB","groups":[{"group":"KYC and KYB","pages":[{"title":"KYC and KYB","sidebarTitle":"Overview","href":"/kyc-kyb/overview"},{"title":"Setup","href":"/kyc-kyb/setup"},{"title":"Entities","href":"/kyc-kyb/entities"}]},{"group":"Users","pages":[{"group":"Terms of service","pages":[{"title":"Terms of service","sidebarTitle":"Hosted (default)","href":"/kyc-kyb/kyc-tos"},{"title":"Terms of service reliance","sidebarTitle":"Reliance","href":"/kyc-kyb/kyc-tos-reliance"}]},{"group":"KYC","pages":[{"title":"Hosted link","href":"/kyc-kyb/kyc"},{"title":"Headless KYC","href":"/kyc-kyb/kyc-headless"}]},{"title":"Track KYC status","sidebarTitle":"Track status","href":"/kyc-kyb/kyc-status"}]},{"group":"Organizations","pages":[{"group":"Terms of service","pages":[{"title":"Terms of service","sidebarTitle":"Hosted (default)","href":"/kyc-kyb/kyb-tos"},{"title":"Terms of service reliance","sidebarTitle":"Reliance","href":"/kyc-kyb/kyb-tos-reliance"}]},{"group":"KYB","pages":[{"title":"Hosted link","href":"/kyc-kyb/kyb"},{"title":"Headless KYB","href":"/kyc-kyb/kyb-headless"}]},{"title":"Track KYB status","sidebarTitle":"Track status","href":"/kyc-kyb/kyb-status"}]}]}]},{"tab":"Security","pages":[{"title":"Security","sidebarTitle":"Overview","href":"/security/overview"},{"group":"Wallet infrastructure","pages":[{"title":"Security architecture","sidebarTitle":"Architecture","href":"/security/wallet-infrastructure/architecture"},{"title":"Secure enclaves","sidebarTitle":"Secure enclaves","href":"/security/wallet-infrastructure/secure-enclaves"},{"title":"Wallet policies and controls","sidebarTitle":"Policy and controls","href":"/security/wallet-infrastructure/policy-and-controls"},{"group":"Advanced","pages":[{"title":"On device execution environment","sidebarTitle":"On device","href":"/security/wallet-infrastructure/advanced/user-device"}]}]},{"group":"Authentication","pages":[{"title":"User authentication","sidebarTitle":"User authentication","href":"/security/authentication/user-authentication"},{"title":"User authorization keys","sidebarTitle":"User authorization keys","href":"/security/authentication/authenticated-signers"}]},{"group":"Implementation guide","pages":[{"title":"Security checklist","sidebarTitle":"Security checklist","href":"/security/implementation-guide/security-checklist"},{"title":"Guidance for content security policies (CSPs)","sidebarTitle":"Content security policies (CSPs)","href":"/security/implementation-guide/content-security-policy"},{"title":"IP allowlist","sidebarTitle":"IP allowlist","href":"/security/implementation-guide/ip-allowlist"},{"title":"Activity logs","href":"/security/implementation-guide/activity-logs"}]},{"title":"Threat models \u0026 security FAQ","sidebarTitle":"Security FAQs","href":"/security/security-faqs"}]},{"tab":"Recipes","pages":[{"title":"Recipes","sidebarTitle":"Overview","mode":"wide","href":"/recipes/overview"},{"group":"All recipes","pages":[{"group":"Authentication","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"Authentication","href":"/recipes/authentication/overview"},{"title":"Setting up SMS or WhatsApp login","href":"/recipes/dashboard/login-methods/sms-whatsapp"},{"title":"Guest accounts","href":"/recipes/react/guest-accounts"},{"title":"Login with Apple","href":"/recipes/swift/apple"},{"title":"Login with Farcaster","href":"/recipes/farcaster/login"},{"title":"Login with Lens","href":"/recipes/lens"},{"title":"Use tokens from OAuth providers","href":"/recipes/react/oauth-tokens"},{"title":"Migrating embedded wallets from Alchemy to Privy","href":"/recipes/migrating-embedded-wallets-from-alchemy"},{"title":"Migrating JWT authentication from Alchemy to Privy","href":"/recipes/migrating-jwt-authentication-from-alchemy"},{"title":"Using Supabase as an authentication provider","href":"/recipes/authentication/using-supabase-for-custom-auth"},{"title":"Worldcoin mini app SIWE with Privy","href":"/recipes/react/worldcoin-siwe-guide"},{"title":"Chrome extension authentication","href":"/recipes/react/chrome-extension"},{"title":"Mocking tokens for testing","href":"/recipes/mock-jwt"},{"title":"Configure cookies","href":"/recipes/react/cookies"},{"title":null,"href":"/recipes/using-test-accounts"},{"title":"Migrating sign in with Apple users for an Apple team transfer","href":"/recipes/apple-team-migration"}]},{"group":"Wallet infrastructure","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"Wallet infrastructure","href":"/recipes/wallet-infrastructure/overview"},{"title":"Hierarchical deterministic (HD) wallets","href":"/recipes/hd-wallets"},{"title":"Pregenerating wallets","href":"/recipes/pregenerate-wallets"},{"sidebarTitle":"Agentic wallets","title":"Agentic wallets","href":"/recipes/agent-integrations/agentic-wallets"},{"title":"Server-side user wallets","href":"/recipes/wallets/server-side-user-wallets"},{"title":"Enabling users or servers to execute transactions","href":"/recipes/wallets/user-and-server-signers"},{"title":"Using passkeys with wallets","href":"/recipes/passkey-server-wallets"},{"title":"Policy-based MFA","href":"/recipes/policy-based-mfa"},{"title":"Using stateful policies with Privy","href":"/recipes/using-stateful-policies"},{"title":"Migrating wallets from on-device to TEEs","href":"/recipes/tee-wallet-migration-guide"},{"title":"Tier 1 wallet integration","href":"/recipes/tier-1-wallet-integration"},{"title":"Tier 2 wallet integration","href":"/recipes/tier-2-wallet-integration"},{"title":"Custom account abstraction implementation","href":"/recipes/account-abstraction/custom-implementation"},{"title":"Storing smart account addresses","href":"/recipes/account-abstraction/address"},{"title":"Integrating smart accounts with wagmi","href":"/recipes/account-abstraction/wagmi"},{"title":"Create a smart wallet on iOS and Android","href":"/recipes/account-abstraction/native-mobile"},{"title":"2-of-2 quorum: user and server as co-signers","href":"/recipes/wallets/two-of-two-server-in-the-loop"}]},{"group":"Account funding","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"Account funding","href":"/recipes/account-funding/overview"},{"title":"Stripe embedded onramp","href":"/recipes/stripe-embedded-onramp"},{"title":"Using Privy and Due for on/off ramping","href":"/recipes/due-on-off-ramp"},{"title":"Onramping to MXNB with Juno","href":"/recipes/bitso-mxnb-onramp"}]},{"group":"Transactions \u0026 signing","expanded":false,"pages":[{"group":"EVM","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"EVM transactions and signing","href":"/recipes/evm/overview"},{"title":"Sending OUSD (or other ERC-20s)","href":"/recipes/send-ousd"},{"title":"Sending USDC (or other ERC-20s)","href":"/recipes/send-usdc"},{"title":"Sending batch transactions","href":"/recipes/batch-transactions"},{"title":"Speeding up transactions on EVM chains","href":"/recipes/speeding-up-transactions"},{"sidebarTitle":"Flashblocks","title":"Using Flashblocks with Privy","href":"/recipes/evm/flashblocks"},{"title":"Integrating with EIP-7702","href":"/recipes/react/eip-7702"},{"title":"ERC-1271 signatures","href":"/recipes/evm/erc-1271-signatures"}]},{"group":"Solana","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"Solana transactions and signing","href":"/recipes/solana/overview"},{"title":"Getting started with Privy and Solana","href":"/recipes/solana/getting-started-with-privy-and-solana"},{"title":"Sending a SOL transaction","href":"/recipes/solana/send-sol"},{"title":"Sending SPL tokens","href":"/recipes/solana/send-spl-tokens"}]},{"group":"Bitcoin","expanded":false,"pages":[{"title":"Using Spark BTC with Privy wallets","href":"/recipes/spark-btc-guide"}]}]},{"group":"Gas sponsorship","expanded":false,"pages":[{"title":"Custom gas sponsorship rate limits","href":"/recipes/gas-sponsorship-rate-limits"},{"title":"Integrating OneBalance","href":"/recipes/one-balance"},{"title":"Sponsor gas on Tron with Transatron","sidebarTitle":"Sponsor gas on Tron with Transatron","href":"/recipes/tron/transatron"}]},{"group":"Treasury","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"Treasury","href":"/recipes/wallets/treasury-overview"},{"sidebarTitle":"Treasury","title":"Treasury setup","href":"/recipes/wallets/wallet-infrastructure"},{"sidebarTitle":"Execution wallets","title":"Execution wallets","href":"/recipes/wallets/execution-wallets"}]},{"group":"Swaps","expanded":false,"pages":[{"title":"Swapping crypto using Privy and 0x","href":"/recipes/swap-with-0x"},{"title":"Swapping crypto using Privy and Bebop","href":"/recipes/evm/bebop-swap-guide"}]},{"group":"Payments","expanded":false,"pages":[{"title":"Pay with WalletConnect pay","href":"/recipes/walletconnect-pay"},{"title":"Bridge cards","href":"/recipes/bridge-cards"},{"title":"Send to Africa with Zuba","href":"/recipes/send-to-africa"},{"title":"Accept stablecoin payments with automatic fiat conversion","href":"/recipes/stablecoin-payments-bridge-stripe"}]},{"group":"Trading","expanded":false,"pages":[{"sidebarTitle":"Overview","title":"Trading","href":"/recipes/trading/overview"},{"title":"Polymarket builder codes","href":"/recipes/polymarket-guide"},{"title":"Trading apps resource page","href":"/recipes/trading-apps-homepage"},{"sidebarTitle":"Server-side access","title":"Enabling server-side access to user wallets","href":"/recipes/wallets/session-signer-use-cases/server-side-access"},{"title":"Bankr Twitter bot guide","href":"/recipes/agent-integrations/bankr-bot-guide"},{"title":"Building a Telegram trading bot","href":"/recipes/telegram-bot"},{"sidebarTitle":"Limit orders","title":"Using signers to execute limit orders with wallets","href":"/recipes/wallets/session-signer-use-cases/limit-orders"},{"title":"Trade on Lighter","href":"/recipes/lighter-guide"}]},{"group":"External wallets","expanded":false,"pages":[{"title":"Wallet list configuration recipes","sidebarTitle":"Wallet list recipes","href":"/recipes/react/wallet-list-configurations"},{"title":"Configuring external connectors","href":"/recipes/react/configuring-external-connectors"},{"title":"Using Solana standard wallets","href":"/recipes/solana/standard-wallets"},{"title":"Integrating Solana mobile wallet adapter","href":"/recipes/solana/adding-solana-mwa"}]},{"group":"Tempo","pages":[{"title":"Overview","href":"/recipes/tempo/overview"},{"title":"Using Tempo with Privy","href":"/recipes/tempo/send-transactions"}]},{"group":"Hyperliquid","expanded":false,"pages":[{"title":"Quickstart","href":"/recipes/hyperliquid-guide"},{"title":"Agent wallets","href":"/recipes/hyperliquid/agents-and-subaccounts"},{"title":"Executing trades","href":"/recipes/hyperliquid/trading-patterns"},{"title":"Policies","href":"/recipes/hyperliquid/policies-and-offline-actions"},{"title":"HyperEVM","href":"/recipes/hyperliquid/hyperevm"},{"group":"Advanced","expanded":false,"pages":[{"title":"Client-side SDKs","href":"/recipes/hyperliquid/client-side-usage"},{"title":"Subaccounts","href":"/recipes/hyperliquid/subaccounts"},{"title":"Builder codes","href":"/recipes/hyperliquid/builder-codes"}]}]},{"group":"Earn and borrow","expanded":false,"pages":[{"title":"Overview","href":"/recipes/yield/overview"},{"title":"Reading Earn vault totals onchain","sidebarTitle":"Earn totals onchain","href":"/recipes/yield/earn-onchain-totals"},{"sidebarTitle":"Aave","title":"Integrating Aave with Privy","href":"/recipes/yield/aave-guide"},{"sidebarTitle":"Ethena","title":"Integrating Ethena with Privy","href":"/recipes/yield/ethena-guide"},{"sidebarTitle":"Sky savings","title":"Integrating Sky savings with Privy","href":"/recipes/yield/sky-savings-guide"},{"sidebarTitle":"Kamino","title":"Integrating Kamino with Privy","href":"/recipes/yield/kamino-guide"},{"sidebarTitle":"Pods","title":"Integrating Pods with Privy","href":"/recipes/yield/pods-guide"},{"sidebarTitle":"Yield.xyz AgentKit","title":"Using Privy server wallets with yield.xyz AgentKit","href":"/recipes/yield/yield-agentkit-guide"},{"sidebarTitle":"Ground","title":"Integrating Ground gtokens with Privy","href":"/recipes/yield/ground-guide"},{"title":"Borrow with Morpho","sidebarTitle":"Borrow with Morpho","href":"/recipes/yield/morpho-borrow"},{"sidebarTitle":"Dolomite USD1 markets","title":"Earn yield with markets powered by Dolomite","href":"/recipes/community/dolomite-guide"}]},{"group":"AI \u0026 agents","expanded":false,"pages":[{"title":"Overview","href":"/recipes/agent-integrations/overview"},{"sidebarTitle":"Agent CLI","title":"Agent CLI","href":"/recipes/agent-integrations/agent-cli"},{"sidebarTitle":"Agent wallet access via CLI/MCP/Skills","title":"Authorized wallet access for self-hosted agents","href":"/recipes/agent-integrations/agent-authorization"},{"sidebarTitle":"AI robo-advisor agent","title":"Build a robo-advisor with Hermes agents and Robinhood chain","href":"/recipes/agent-integrations/robo-advisor-agent"},{"title":"Machine Payments Protocol (MPP)","href":"/recipes/agent-integrations/mpp"},{"title":"x402","href":"/recipes/agent-integrations/x402"},{"title":"Sanctions screening for x402 payments","href":"/recipes/agent-integrations/x402-sanctions-screening"},{"title":"Amazon Bedrock AgentCore","href":"/recipes/agent-integrations/agentcore-payments"},{"title":"OpenClaw agentic wallets","href":"/recipes/agent-integrations/openclaw-agentic-wallets"},{"title":"Privy Agent on auto.exchange","href":"/recipes/agent-integrations/auto-exchange-privy-agent"},{"title":"Virtuals EconomyOS with Privy wallets","sidebarTitle":"Virtuals EconomyOS","href":"/recipes/agent-integrations/virtuals-economyos"}]},{"group":"Social \u0026 mini apps","expanded":false,"pages":[{"title":"Build World mini apps with Privy","href":"/recipes/world/mini-apps"},{"title":"Building a Farcaster mini app","href":"/recipes/farcaster/mini-apps"},{"title":"Writing to Farcaster","href":"/recipes/farcaster/writes"}]},{"group":"UI customization and whitelabeling","expanded":false,"pages":[{"title":"Configuring wallet confirmation modals","href":"/recipes/react/manage-wallet-UIs"},{"title":"Whitelabel","href":"/recipes/react/whitelabel"},{"title":"Setting a system theme for the Privy modal","href":"/recipes/system-theme"}]},{"group":"Dashboard","expanded":false,"pages":[{"title":"Configure account transfer","href":"/recipes/dashboard/account-transfer"},{"title":"Recovering assets from a dashboard wallet","href":"/recipes/dashboard/recovering-assets"},{"title":"Bot traffic mitigation","href":"/recipes/dashboard/preventing-bots"},{"title":"Configure allowed URLs","href":"/recipes/dashboard/allowed-domains"},{"title":"Configure allowed OAuth redirect URLs","href":"/recipes/react/allowed-oauth-redirects"},{"title":"Managing your allowlist with Airtable","href":"/recipes/dashboard/airtable"},{"title":"Customize your application","href":"/recipes/dashboard/customization"},{"title":"Single sign-on","href":"/basics/get-started/dashboard/sso"}]},{"group":"Mobile","expanded":false,"pages":[{"title":"Exporting wallet keys from mobile apps","href":"/recipes/mobile-key-export"},{"title":"Mobile SDK breadcrumbs","href":"/recipes/mobile-breadcrumbs"},{"title":"Handle account transfer in your mobile app","href":"/recipes/mobile-account-transfer"},{"title":"Read auth state from a background process","href":"/recipes/swift/background-auth-state"},{"title":"Deeplinking Solana wallets in React Native applications","href":"/recipes/react-native/deeplinking-wallets"},{"title":null,"href":"/recipes/react-native/clearing-state-on-fresh-installs"},{"title":"Require MFA on every app session","href":"/recipes/react-native/mfa-on-app-session"},{"title":"OAuth with Capacitor","href":"/recipes/capacitor-oauth"}]},{"group":"Ecosystem","expanded":false,"pages":[{"title":null,"href":"/recipes/ecosystem/abstract-global-wallet"}]},{"group":"Integrations","expanded":false,"pages":[{"title":"Integrating the Base app","href":"/recipes/react/external-wallets/base-app"},{"sidebarTitle":"Base sub accounts","title":"Using Base sub accounts","href":"/recipes/react/external-wallets/base-sub-accounts"},{"title":"Integrating Base builder codes","href":"/recipes/evm/base-builder-codes"}]},{"group":"Tooling","expanded":false,"pages":[{"title":"Using the vanilla JavaScript SDK","href":"/recipes/core-js"},{"title":"Integrating Flashbots protect","href":"/recipes/flashbots-protect"},{"title":"Integrating with tRPC","href":"/recipes/trpc"},{"title":"Optimize your setup","href":"/recipes/dashboard/optimizing"}]},{"group":"Community written guides","expanded":false,"pages":[{"title":"Getting started with Privy and TON (Vite + React)","href":"/recipes/community/ton-vite-react"},{"title":"Swapping crypto using Privy and Omniston","href":"/recipes/community/ton-omniston-swap"}]}]}]},{"tab":"API reference","groups":[{"group":"Basics","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"title":"Authorization signatures","href":"/api-reference/authorization-signatures"},{"title":"Idempotency keys","href":"/api-reference/idempotency-keys"},{"title":"Request expiry","href":"/api-reference/request-expiry"},{"title":"Webhooks overview","sidebarTitle":"Webhooks","href":"/api-reference/webhooks/overview"},{"title":"Privy labs APIs","sidebarTitle":"Privy labs","href":"/api-reference/labs/overview"}]},{"group":"Wallets","pages":[{"group":"Wallets","pages":[{"title":"Create wallet","openapi":"post /v1/wallets","href":"/api-reference/wallets/create"},{"title":"Create wallets in batch","openapi":"post /v1/wallets/batch","href":"/api-reference/wallets/batch-create"},{"title":"Create custodial wallets","openapi":"post /v1/custodial_wallets","href":"/api-reference/wallets/custodial-wallets"},{"title":"Get wallet","openapi":"get /v1/wallets/{wallet_id}","href":"/api-reference/wallets/get"},{"title":"Get wallets","openapi":"get /v1/wallets","href":"/api-reference/wallets/get-all"},{"title":"Get wallet by address","openapi":"post /v1/wallets/address","href":"/api-reference/wallets/get-by-address"},{"title":"Update wallet","openapi":"patch /v1/wallets/{wallet_id}","href":"/api-reference/wallets/update"},{"title":"Assign wallet entity","openapi":"post /v1/wallets/{wallet_id}/entity","href":"/api-reference/wallets/entity"},{"title":"Archive wallet","openapi":"post /v1/wallets/{wallet_id}/archive","href":"/api-reference/wallets/archive"},{"title":"Get balance","openapi":"get /v1/wallets/{wallet_id}/balance","href":"/api-reference/wallets/get-balance"},{"title":"Get transactions","openapi":"get /v1/wallets/{wallet_id}/transactions","href":"/api-reference/wallets/get-transactions"},{"title":"Export wallet","openapi":"post /v1/wallets/{wallet_id}/export","href":"/api-reference/wallets/export"},{"group":"Import wallet","pages":[{"title":"Initialize import","openapi":"post /v1/wallets/import/init","href":"/api-reference/wallets/import/init"},{"title":"Submit import","openapi":"post /v1/wallets/import/submit","href":"/api-reference/wallets/import/submit"}]},{"title":"Authenticate","openapi":"post /v1/wallets/authenticate","href":"/api-reference/wallets/authenticate"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet.archived","title":"Wallet archived","href":"/api-reference/webhooks/wallet/archived"},{"openapi":"webhook wallet.restored","title":"Wallet restored","href":"/api-reference/webhooks/wallet/restored"},{"openapi":"webhook wallet.funds_deposited","title":"Funds deposited","href":"/api-reference/webhooks/wallet/funds_deposited"},{"openapi":"webhook wallet.funds_withdrawn","title":"Funds withdrawn","href":"/api-reference/webhooks/wallet/funds_withdrawn"},{"openapi":"webhook wallet.private_key_export","title":"Private key export","href":"/api-reference/webhooks/wallet/private_key_export"},{"openapi":"webhook wallet.recovered","title":"Wallet recovered","href":"/api-reference/webhooks/wallet/recovered"},{"openapi":"webhook wallet.recovery_setup","title":"Wallet recovery setup","href":"/api-reference/webhooks/wallet/recovery_setup"},{"openapi":"webhook user_operation.completed","title":"User operation completed","href":"/api-reference/webhooks/user-operation/completed"}]}]},{"group":"Signatures and transactions","pages":[{"group":"Ethereum","pages":[{"title":"eth_sendTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-send-transaction"},{"title":"wallet_sendCalls","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/wallet-send-calls"},{"title":"personal_sign","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/personal-sign"},{"title":"eth_signTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-sign-transaction"},{"title":"eth_signTypedData_v4","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-signtypeddata-v4"},{"title":"eth_signUserOperation","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-sign-user-operation"},{"title":"eth_sign7702Authorization","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/eth-sign-7702-authorization"},{"title":"secp256k1_sign","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/ethereum/secp256k1-sign"}]},{"group":"Solana","pages":[{"title":"signMessage","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/solana/sign-message"},{"title":"signTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/solana/sign-transaction"},{"title":"signAndSendTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/solana/sign-and-send-transaction"}]},{"group":"Tempo","pages":[{"title":"eth_sendTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/tempo/eth-send-transaction"},{"title":"eth_signTransaction","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/tempo/eth-sign-transaction"}]},{"group":"Tron","pages":[{"title":"tron_sendTransaction","href":"/api-reference/wallets/tron/tron-send-transaction"},{"title":"tron_signTransaction","href":"/api-reference/wallets/tron/tron-sign-transaction"}]},{"group":"Spark BTC","pages":[{"title":"getBalance","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-balance"},{"title":"transfer","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/transfer"},{"title":"transferTokens","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/transfer-tokens"},{"title":"getStaticDepositAddress","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-static-deposit-address"},{"title":"claimStaticDeposit","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/claim-static-deposit"},{"title":"getClaimStaticDepositQuote","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-static-deposit-quote"},{"title":"createLightningInvoice","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/create-lightning-invoice"},{"title":"payLightningInvoice","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/pay-lightning-invoice"},{"title":"signMessageWithIdentityKey","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/sign-message-with-identity-key"},{"title":"getWithdrawalFeeQuote","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/get-withdrawal-fee-quote"},{"title":"withdraw","api":"post /v1/wallets/{wallet_id}/rpc","href":"/api-reference/wallets/spark/withdraw"}]},{"group":"Other chains","pages":[{"title":"Raw sign","openapi":"post /v1/wallets/{wallet_id}/raw_sign","href":"/api-reference/wallets/raw-sign"}]},{"group":"Transactions","pages":[{"title":"Get transaction","openapi":"get /v1/transactions/{transaction_id}","href":"/api-reference/transactions/get"},{"title":"Get transaction by external ID","openapi":"get /v1/transactions","href":"/api-reference/transactions/external-id"},{"title":"Get gas spend","openapi":"get /v1/apps/gas_spend","href":"/api-reference/transactions/gas-spend"},{"group":"Webhooks","pages":[{"openapi":"webhook transaction.broadcasted","title":"Transaction broadcasted","href":"/api-reference/webhooks/transaction/broadcasted"},{"openapi":"webhook transaction.confirmed","title":"Transaction confirmed","href":"/api-reference/webhooks/transaction/confirmed"},{"openapi":"webhook transaction.execution_reverted","title":"Transaction execution reverted","href":"/api-reference/webhooks/transaction/execution_reverted"},{"openapi":"webhook transaction.failed","title":"Transaction failed","href":"/api-reference/webhooks/transaction/failed"},{"openapi":"webhook transaction.provider_error","title":"Transaction provider error","href":"/api-reference/webhooks/transaction/provider_error"},{"openapi":"webhook transaction.replaced","title":"Transaction replaced","href":"/api-reference/webhooks/transaction/replaced"},{"openapi":"webhook transaction.still_pending","title":"Transaction still pending","href":"/api-reference/webhooks/transaction/still_pending"}]}]}]},{"group":"Deposits","pages":[{"group":"Fiat","pages":[{"title":"Create fiat deposit account","openapi":"post /v1/wallets/{wallet_id}/deposit_accounts/fiat","href":"/api-reference/fiat/deposit-accounts/create"},{"title":"List fiat deposit accounts","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/fiat","href":"/api-reference/fiat/deposit-accounts/list"},{"title":"Get fiat deposit account","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/fiat/{deposit_account_id}","href":"/api-reference/fiat/deposit-accounts/get"}]},{"group":"Crypto","pages":[{"title":"Create crypto deposit account","openapi":"post /v1/wallets/{wallet_id}/deposit_accounts/crypto","href":"/api-reference/crypto-deposits/create"},{"title":"Quote crypto deposit account","openapi":"post /v1/deposit_accounts/crypto/quote","href":"/api-reference/crypto-deposits/quote"},{"title":"Get crypto deposit account order","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/crypto/orders/{order_id}","href":"/api-reference/crypto-deposits/get-order"},{"title":"Get next crypto deposit account order","openapi":"get /v1/wallets/{wallet_id}/deposit_accounts/crypto/next_order","href":"/api-reference/crypto-deposits/get-next-order"}]}]},{"group":"Payouts","pages":[{"group":"Fiat","pages":[{"title":"Create a payout","openapi":"post /v1/wallets/{wallet_id}/payout/fiat","href":"/api-reference/wallets/payout/create"},{"group":"External fiat accounts","pages":[{"group":"For users","pages":[{"title":"Create external fiat account","openapi":"post /v1/users/{user_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/create"},{"title":"List external fiat accounts","openapi":"get /v1/users/{user_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/list"},{"title":"Get external fiat account","openapi":"get /v1/users/{user_id}/external_fiat_accounts/{account_id}","href":"/api-reference/fiat/external-fiat-accounts/get"},{"title":"Delete external fiat account","openapi":"delete /v1/users/{user_id}/external_fiat_accounts/{account_id}","href":"/api-reference/fiat/external-fiat-accounts/delete"}]},{"group":"For organizations","pages":[{"title":"Create external fiat account","openapi":"post /v1/organizations/{organization_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/organizations/create"},{"title":"List external fiat accounts","openapi":"get /v1/organizations/{organization_id}/external_fiat_accounts","href":"/api-reference/fiat/external-fiat-accounts/organizations/list"},{"title":"Get external fiat account","openapi":"get /v1/organizations/{organization_id}/external_fiat_accounts/{account_id}","href":"/api-reference/fiat/external-fiat-accounts/organizations/get"},{"title":"Delete external fiat account","openapi":"delete /v1/organizations/{organization_id}/external_fiat_accounts/{account_id}","href":"/api-reference/fiat/external-fiat-accounts/organizations/delete"}]}]}]},{"group":"Crypto","pages":[{"title":"Transfer","openapi":"post /v1/wallets/{wallet_id}/transfer","href":"/api-reference/wallets/transfer/index"},{"title":"Quote transfer fees","openapi":"post /v1/wallets/{wallet_id}/transfer/quote","href":"/api-reference/wallets/transfer/quote"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet_action.transfer.created","title":"Transfer created","href":"/api-reference/webhooks/wallet-action/transfer/created"},{"openapi":"webhook wallet_action.transfer.succeeded","title":"Transfer succeeded","href":"/api-reference/webhooks/wallet-action/transfer/succeeded"},{"openapi":"webhook wallet_action.transfer.failed","title":"Transfer failed","href":"/api-reference/webhooks/wallet-action/transfer/failed"},{"openapi":"webhook wallet_action.transfer.rejected","title":"Transfer rejected","href":"/api-reference/webhooks/wallet-action/transfer/rejected"}]}]}]},{"group":"Swaps","pages":[{"title":"Get swap quote","openapi":"post /v1/wallets/{wallet_id}/swap/quote","href":"/api-reference/wallets/swap/quote"},{"title":"Swap tokens","openapi":"post /v1/wallets/{wallet_id}/swap","href":"/api-reference/wallets/swap/tokens"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet_action.swap.created","title":"Swap created","href":"/api-reference/webhooks/wallet-action/swap/created"},{"openapi":"webhook wallet_action.swap.succeeded","title":"Swap succeeded","href":"/api-reference/webhooks/wallet-action/swap/succeeded"},{"openapi":"webhook wallet_action.swap.failed","title":"Swap failed","href":"/api-reference/webhooks/wallet-action/swap/failed"},{"openapi":"webhook wallet_action.swap.rejected","title":"Swap rejected","href":"/api-reference/webhooks/wallet-action/swap/rejected"}]}]},{"group":"Earn","pages":[{"title":"Deposit into vault","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/deposit","href":"/api-reference/wallets/earn/deposit"},{"title":"Withdraw from vault","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/withdraw","href":"/api-reference/wallets/earn/withdraw"},{"title":"Claim reward incentives","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/incentive/claim","href":"/api-reference/wallets/earn/incentive-claim"},{"title":"Get incentive rewards","openapi":"get /v1/wallets/{wallet_id}/earn/ethereum/incentive/claim","href":"/api-reference/wallets/earn/get-incentive-rewards"},{"title":"Get Ethereum vault details","openapi":"get /v1/earn/ethereum/vaults/{vault_id}","href":"/api-reference/wallets/earn/get-vault-details"},{"title":"Get Ethereum vault position","openapi":"get /v1/wallets/{wallet_id}/earn/ethereum/vaults","href":"/api-reference/wallets/earn/get-position"},{"title":"Earn fee collect","openapi":"post /v1/wallets/{wallet_id}/earn/ethereum/fees/collect","href":"/api-reference/wallets/earn/fees-collect"},{"group":"Webhooks","pages":[{"group":"Earn deposits","pages":[{"openapi":"webhook wallet_action.earn_deposit.created","title":"Earn deposit created","href":"/api-reference/webhooks/wallet-action/earn-deposit/created"},{"title":"Earn deposit succeeded","openapi":"webhook wallet_action.earn_deposit.succeeded","href":"/api-reference/webhooks/wallet-action/earn-deposit/succeeded"},{"title":"Earn deposit failed","openapi":"webhook wallet_action.earn_deposit.failed","href":"/api-reference/webhooks/wallet-action/earn-deposit/failed"},{"title":"Earn deposit rejected","openapi":"webhook wallet_action.earn_deposit.rejected","href":"/api-reference/webhooks/wallet-action/earn-deposit/rejected"}]},{"group":"Earn withdrawals","pages":[{"title":"Earn withdraw created","openapi":"webhook wallet_action.earn_withdraw.created","href":"/api-reference/webhooks/wallet-action/earn-withdraw/created"},{"title":"Earn withdraw succeeded","openapi":"webhook wallet_action.earn_withdraw.succeeded","href":"/api-reference/webhooks/wallet-action/earn-withdraw/succeeded"},{"title":"Earn withdraw failed","openapi":"webhook wallet_action.earn_withdraw.failed","href":"/api-reference/webhooks/wallet-action/earn-withdraw/failed"},{"title":"Earn withdraw rejected","openapi":"webhook wallet_action.earn_withdraw.rejected","href":"/api-reference/webhooks/wallet-action/earn-withdraw/rejected"}]},{"group":"Earn incentive claims","pages":[{"title":"Earn reward incentive claim created","openapi":"webhook wallet_action.earn_incentive_claim.created","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/created"},{"title":"Earn reward incentive claim succeeded","openapi":"webhook wallet_action.earn_incentive_claim.succeeded","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/succeeded"},{"title":"Earn reward incentive claim failed","openapi":"webhook wallet_action.earn_incentive_claim.failed","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/failed"},{"title":"Earn reward incentive claim rejected","openapi":"webhook wallet_action.earn_incentive_claim.rejected","href":"/api-reference/webhooks/wallet-action/earn-incentive-claim/rejected"}]},{"group":"Earn fee collections","pages":[{"title":"Earn fee collect created","openapi":"webhook wallet_action.earn_fee_collect.created","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/created"},{"title":"Earn fee collect succeeded","openapi":"webhook wallet_action.earn_fee_collect.succeeded","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/succeeded"},{"title":"Earn fee collect failed","openapi":"webhook wallet_action.earn_fee_collect.failed","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/failed"},{"title":"Earn fee collect rejected","openapi":"webhook wallet_action.earn_fee_collect.rejected","href":"/api-reference/webhooks/wallet-action/earn-fee-collect/rejected"}]}]}]},{"group":"Wallet actions","pages":[{"title":"Get wallet action","openapi":"get /v1/wallets/{wallet_id}/actions/{action_id}","href":"/api-reference/wallets/actions/get"},{"title":"Get wallet action by external ID","openapi":"get /v1/actions","href":"/api-reference/wallets/actions/external-id"},{"title":"List all wallet actions","openapi":"get /v1/wallets/{wallet_id}/actions","href":"/api-reference/wallets/actions/list"}]}]},{"group":"Controls","pages":[{"group":"Key quorums","pages":[{"title":"Create key quorum","openapi":"post /v1/key_quorums","href":"/api-reference/key-quorums/create"},{"title":"Get key quorums","openapi":"get /v1/key_quorums","href":"/api-reference/key-quorums/get-all"},{"title":"Get key quorum","openapi":"get /v1/key_quorums/{key_quorum_id}","href":"/api-reference/key-quorums/get"},{"title":"Update key quorum","openapi":"patch /v1/key_quorums/{key_quorum_id}","href":"/api-reference/key-quorums/update"},{"title":"Delete key quorum","openapi":"delete /v1/key_quorums/{key_quorum_id}","href":"/api-reference/key-quorums/delete"}]},{"group":"Policies","pages":[{"title":"Create policy","openapi":"post /v1/policies","href":"/api-reference/policies/create"},{"title":"Get policies","openapi":"get /v1/policies","href":"/api-reference/policies/get-all"},{"title":"Get policy","openapi":"get /v1/policies/{policy_id}","href":"/api-reference/policies/get"},{"title":"Update policy","openapi":"patch /v1/policies/{policy_id}","href":"/api-reference/policies/update"},{"title":"Delete policy","openapi":"delete /v1/policies/{policy_id}","href":"/api-reference/policies/delete"},{"group":"Rules","pages":[{"title":"Add a rule to a policy","openapi":"post /v1/policies/{policy_id}/rules","href":"/api-reference/policies/rules/create"},{"title":"Get a rule from a policy","openapi":"get /v1/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/policies/rules/get"},{"title":"Update a rule in a policy","openapi":"patch /v1/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/policies/rules/update"},{"title":"Delete a rule from a policy","openapi":"delete /v1/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/policies/rules/delete"}]}]},{"group":"Condition sets","pages":[{"title":"Create condition set","openapi":"post /v1/condition_sets","href":"/api-reference/condition-sets/create"},{"title":"Get condition sets","openapi":"get /v1/condition_sets","href":"/api-reference/condition-sets/get-all"},{"title":"Get condition set","openapi":"get /v1/condition_sets/{condition_set_id}","href":"/api-reference/condition-sets/get"},{"title":"Update condition set","openapi":"patch /v1/condition_sets/{condition_set_id}","href":"/api-reference/condition-sets/update"},{"title":"Delete condition set","openapi":"delete /v1/condition_sets/{condition_set_id}","href":"/api-reference/condition-sets/delete"},{"group":"Condition set items","pages":[{"title":"Add items to a condition set","openapi":"post /v1/condition_sets/{condition_set_id}/condition_set_items","href":"/api-reference/condition-sets/condition-set-items/create"},{"title":"Get an item from a condition set","openapi":"get /v1/condition_sets/{condition_set_id}/condition_set_items/{condition_set_item_id}","href":"/api-reference/condition-sets/condition-set-items/get"},{"title":"Get all items from a condition set","openapi":"get /v1/condition_sets/{condition_set_id}/condition_set_items","href":"/api-reference/condition-sets/condition-set-items/get-all"},{"title":"Update items in a condition set","openapi":"put /v1/condition_sets/{condition_set_id}/condition_set_items","href":"/api-reference/condition-sets/condition-set-items/update"},{"title":"Delete an item from a condition set","openapi":"delete /v1/condition_sets/{condition_set_id}/condition_set_items/{condition_set_item_id}","href":"/api-reference/condition-sets/condition-set-items/delete"}]}]},{"group":"Aggregations","pages":[{"title":"Create aggregation","openapi":"post /v1/aggregations","href":"/api-reference/aggregations/create"},{"title":"Get aggregation","openapi":"get /v1/aggregations/{aggregation_id}","href":"/api-reference/aggregations/get"},{"title":"Delete aggregation","openapi":"delete /v1/aggregations/{aggregation_id}","href":"/api-reference/aggregations/delete"}]},{"group":"Wallet automations","pages":[{"title":"Create wallet automation","openapi":"post /v1/wallet_automations","href":"/api-reference/wallet-automations/create"},{"title":"List wallet automations","openapi":"get /v1/wallet_automations","href":"/api-reference/wallet-automations/list"},{"title":"Get wallet automation","openapi":"get /v1/wallet_automations/{automation_id}","href":"/api-reference/wallet-automations/get"},{"title":"Update wallet automation","openapi":"patch /v1/wallet_automations/{automation_id}","href":"/api-reference/wallet-automations/update"},{"title":"Delete wallet automation","openapi":"delete /v1/wallet_automations/{automation_id}","href":"/api-reference/wallet-automations/delete"},{"group":"Wallet attachments","pages":[{"title":"Attach wallet automations","openapi":"post /v1/wallets/{wallet_id}/automations/attach","href":"/api-reference/wallet-automations/attach"},{"title":"Detach wallet automations","openapi":"post /v1/wallets/{wallet_id}/automations/detach","href":"/api-reference/wallet-automations/detach"}]},{"title":"List wallet automation executions","openapi":"get /v1/wallet_automations/executions","href":"/api-reference/wallet-automations/list-executions"},{"title":"Reindex wallet automations","openapi":"post /v1/wallet_automations/reindex","href":"/api-reference/wallet-automations/reindex"},{"group":"Webhooks","pages":[{"openapi":"webhook wallet_automation.submitted","title":"Wallet automation submitted","href":"/api-reference/webhooks/wallet-automation/submitted"}]}]}]},{"group":"Identity","pages":[{"group":"Users","pages":[{"title":"Create user","openapi":"post /v1/users","playground":"interactive","href":"/api-reference/users/create"},{"group":"Get user","pages":[{"title":"Get user by ID","openapi":"get /v1/users/{user_id}","href":"/api-reference/users/get"},{"group":"Linked accounts","pages":[{"title":"Get user by wallet address","openapi":"post /v1/users/wallet/address","href":"/api-reference/users/get-by-wallet-address"},{"title":"Get user by smart wallet address","openapi":"post /v1/users/smart_wallet/address","href":"/api-reference/users/get-by-smart-wallet-address"},{"title":"Get user by custom auth ID","openapi":"post /v1/users/custom_auth/id","href":"/api-reference/users/get-by-custom-auth"},{"title":"Get user by email address","openapi":"post /v1/users/email/address","href":"/api-reference/users/get-by-email-address"},{"title":"Get user by phone number","openapi":"post /v1/users/phone/number","href":"/api-reference/users/get-by-phone-number"},{"title":"Get user by Discord username","openapi":"post /v1/users/discord/username","href":"/api-reference/users/get-by-discord-username"},{"title":"Get user by GitHub username","openapi":"post /v1/users/github/username","href":"/api-reference/users/get-by-github-username"},{"title":"Get user by Instagram username","openapi":"post /v1/users/instagram/username","href":"/api-reference/users/get-by-instagram-username"},{"title":"Get user by Twitter username","openapi":"post /v1/users/twitter/username","href":"/api-reference/users/get-by-twitter-username"},{"title":"Get user by Twitter subject","openapi":"post /v1/users/twitter/subject","href":"/api-reference/users/get-by-twitter-subject"},{"title":"Get user by Telegram username","openapi":"post /v1/users/telegram/username","href":"/api-reference/users/get-by-telegram-username"},{"title":"Get user by Telegram user ID","openapi":"post /v1/users/telegram/telegram_user_id","href":"/api-reference/users/get-by-telegram-user-id"},{"title":"Get user by Farcaster ID","openapi":"post /v1/users/farcaster/fid","href":"/api-reference/users/get-by-farcaster-id"},{"title":"Get user by Spotify subject","openapi":"post /v1/users/spotify/subject","href":"/api-reference/users/get-by-spotify-subject"},{"title":"Get user by Twitch username","openapi":"post /v1/users/twitch/username","href":"/api-reference/users/get-by-twitch-username"}]}]},{"title":"Get users","openapi":"get /v1/users","playground":"interactive","href":"/api-reference/users/get-all"},{"title":"Search users","openapi":"post /v1/users/search","href":"/api-reference/users/search"},{"title":"Refresh Twitter account","api":"post /v1/users/twitter/refresh","href":"/api-reference/users/refresh-twitter-account"},{"title":"Delete user","openapi":"delete /v1/users/{user_id}","href":"/api-reference/users/delete"},{"title":"Freeze user","openapi":"post /v1/users/{user_id}/freeze","href":"/api-reference/users/freeze"},{"title":"Unfreeze user","openapi":"delete /v1/users/{user_id}/freeze","href":"/api-reference/users/unfreeze"},{"title":"Add custom metadata","openapi":"post /v1/users/{user_id}/custom_metadata","href":"/api-reference/users/custom-metadata/create"},{"title":"Update custom metadata","openapi":"patch /v1/users/{user_id}/custom_metadata","href":"/api-reference/users/custom-metadata/update"},{"title":"Pregenerate wallets","openapi":"post /v1/users/{user_id}/wallets","href":"/api-reference/users/pregenerate-wallets"},{"group":"MFA","pages":[{"group":"SMS","pages":[{"title":"Start SMS MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/sms/enrollment/init","href":"/api-reference/users/mfa/sms/enrollment/init"},{"title":"Complete SMS MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/sms/enrollment/verify","href":"/api-reference/users/mfa/sms/enrollment/verify"},{"title":"Start SMS MFA verification","openapi":"post /v1/users/{user_id}/mfa/sms/verification/init","href":"/api-reference/users/mfa/sms/verification/init"},{"title":"Complete SMS MFA verification","openapi":"post /v1/users/{user_id}/mfa/sms/verification/verify","href":"/api-reference/users/mfa/sms/verification/verify"}]},{"group":"TOTP","pages":[{"title":"Start TOTP MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/totp/enrollment/init","href":"/api-reference/users/mfa/totp/enrollment/init"},{"title":"Complete TOTP MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/totp/enrollment/verify","href":"/api-reference/users/mfa/totp/enrollment/verify"},{"title":"Complete TOTP MFA verification","openapi":"post /v1/users/{user_id}/mfa/totp/verification/verify","href":"/api-reference/users/mfa/totp/verification/verify"}]},{"group":"Passkey","pages":[{"title":"Start passkey MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/passkey/enrollment/init","href":"/api-reference/users/mfa/passkey/enrollment/init"},{"title":"Complete passkey MFA enrollment","openapi":"post /v1/users/{user_id}/mfa/passkey/enrollment/verify","href":"/api-reference/users/mfa/passkey/enrollment/verify"},{"title":"Start passkey MFA verification","openapi":"post /v1/users/{user_id}/mfa/passkey/verification/init","href":"/api-reference/users/mfa/passkey/verification/init"},{"title":"Complete passkey MFA verification","openapi":"post /v1/users/{user_id}/mfa/passkey/verification/verify","href":"/api-reference/users/mfa/passkey/verification/verify"}]}]},{"group":"Allowlist","pages":[{"title":"List allowlist entries","openapi":"get /v1/apps/{app_id}/allowlist","href":"/api-reference/apps/list-allowlist"},{"title":"Add to allowlist","openapi":"post /v1/apps/{app_id}/allowlist","href":"/api-reference/apps/add-to-allowlist"},{"title":"Remove from allowlist","openapi":"delete /v1/apps/{app_id}/allowlist","href":"/api-reference/apps/remove-from-allowlist"}]},{"group":"Webhooks","pages":[{"openapi":"webhook user.authenticated","title":"User authenticated","href":"/api-reference/webhooks/user/authenticated"},{"openapi":"webhook user.created","title":"User created","href":"/api-reference/webhooks/user/created"},{"openapi":"webhook user.deleted","title":"User deleted","href":"/api-reference/webhooks/user/deleted"},{"openapi":"webhook user.linked_account","title":"User linked account","href":"/api-reference/webhooks/user/linked_account"},{"openapi":"webhook user.transferred_account","title":"User transferred account","href":"/api-reference/webhooks/user/transferred_account"},{"openapi":"webhook user.unlinked_account","title":"User unlinked account","href":"/api-reference/webhooks/user/unlinked_account"},{"openapi":"webhook user.updated_account","title":"User updated account","href":"/api-reference/webhooks/user/updated_account"},{"openapi":"webhook user.wallet_created","title":"User wallet created","href":"/api-reference/webhooks/user/wallet_created"},{"openapi":"webhook mfa.disabled","title":"MFA disabled","href":"/api-reference/webhooks/mfa/disabled"},{"openapi":"webhook mfa.enabled","title":"MFA enabled","href":"/api-reference/webhooks/mfa/enabled"}]},{"group":"KYC","pages":[{"title":"Get KYC status","openapi":"get /v1/users/{user_id}/kyc","href":"/api-reference/fiat/kyc-server/get"},{"title":"Initiate KYC terms of service","openapi":"post /v1/users/{user_id}/kyc/tos","href":"/api-reference/fiat/kyc-server/tos"},{"title":"Initiate KYC verification","openapi":"post /v1/users/{user_id}/kyc/links","href":"/api-reference/fiat/kyc-server/links"},{"title":"Submit KYC data","openapi":"post /v1/users/{user_id}/kyc/submit","href":"/api-reference/fiat/kyc-server/submit"}]}]},{"group":"Organizations","pages":[{"title":"Create organization","openapi":"post /v1/organizations","href":"/api-reference/organizations/create"},{"title":"List organizations","openapi":"get /v1/organizations","href":"/api-reference/organizations/get-all"},{"title":"Get organization","openapi":"get /v1/organizations/{organization_id}","href":"/api-reference/organizations/get"},{"title":"Update organization","openapi":"patch /v1/organizations/{organization_id}","href":"/api-reference/organizations/update"},{"title":"Delete organization","openapi":"delete /v1/organizations/{organization_id}","href":"/api-reference/organizations/delete"},{"group":"KYB","pages":[{"title":"Get KYB status","openapi":"get /v1/organizations/{organization_id}/kyb","href":"/api-reference/fiat/kyb/get"},{"title":"Initiate KYB terms of service","openapi":"post /v1/organizations/{organization_id}/kyb/tos","href":"/api-reference/fiat/kyb/tos"},{"title":"Initiate KYB verification","openapi":"post /v1/organizations/{organization_id}/kyb/links","href":"/api-reference/fiat/kyb/links"},{"title":"Submit KYB data","openapi":"post /v1/organizations/{organization_id}/kyb/submit","href":"/api-reference/fiat/kyb/submit"}]}]}]},{"group":"Intents","pages":[{"group":"Usage","pages":[{"title":"Get intent","openapi":"get /v1/intents/{intent_id}","href":"/api-reference/intents/get"},{"title":"List intents","openapi":"get /v1/intents","href":"/api-reference/intents/list"},{"title":"Create RPC transaction","openapi":"post /v1/intents/wallets/{wallet_id}/rpc","href":"/api-reference/intents/rpc"},{"title":"Create transfer action","openapi":"post /v1/intents/wallets/{wallet_id}/transfer","href":"/api-reference/intents/transfer"},{"title":"Authorize intent","openapi":"post /v1/intents/{intent_id}/authorize","href":"/api-reference/intents/authorize"},{"title":"Reject intent","openapi":"post /v1/intents/{intent_id}/reject","href":"/api-reference/intents/reject"}]},{"group":"Resource update intents","pages":[{"title":"Update wallet","openapi":"patch /v1/intents/wallets/{wallet_id}","href":"/api-reference/intents/update-wallet"},{"title":"Update key quorum","openapi":"patch /v1/intents/key_quorums/{key_quorum_id}","href":"/api-reference/intents/update-key-quorum"},{"title":"Update policy","openapi":"patch /v1/intents/policies/{policy_id}","href":"/api-reference/intents/update-policy"},{"title":"Create rule","openapi":"post /v1/intents/policies/{policy_id}/rules","href":"/api-reference/intents/create-rule"},{"title":"Update policy rule","openapi":"patch /v1/intents/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/intents/update-rule"},{"title":"Delete rule","openapi":"delete /v1/intents/policies/{policy_id}/rules/{rule_id}","href":"/api-reference/intents/delete-rule"}]},{"group":"Webhooks","pages":[{"openapi":"webhook intent.created","title":"Intent created","href":"/api-reference/webhooks/intents/created"},{"openapi":"webhook intent.authorized","title":"Intent authorized","href":"/api-reference/webhooks/intents/authorized"},{"openapi":"webhook intent.rejected","title":"Intent rejected","href":"/api-reference/webhooks/intents/rejected"},{"openapi":"webhook intent.executed","title":"Intent executed","href":"/api-reference/webhooks/intents/executed"},{"openapi":"webhook intent.failed","title":"Intent failed","href":"/api-reference/webhooks/intents/failed"}]}]},{"group":"Credit usage","pages":[{"group":"Webhooks","pages":[{"openapi":"webhook usage.gas_sponsorship.recorded","title":"Gas sponsorship charge recorded","href":"/api-reference/webhooks/usage/gas_sponsorship_recorded"},{"openapi":"webhook usage.swap_provider_fee.recorded","title":"Swap provider fee charge recorded","href":"/api-reference/webhooks/usage/swap_provider_fee_recorded"}]}]},{"group":"Labs","pages":[{"group":"Swaps","pages":[{"title":"Advanced swap (Solana)","openapi":"post /v1/wallets/{wallet_id}/experimental/solana/advanced-swap","href":"/api-reference/labs/advanced-swap"}]}]}]}]},"title":"Overview - Privy Docs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":[],"chunks":[]}