{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Crossmint Docs","colors":{"primary":"#36b37e","light":"#87ff8f","dark":"#001d01"},"logo":{"light":"https://mintcdn.com/crossmint/a8gPOTKEuVFcSfC3/logo/crossmint-light.png?fit=max\u0026auto=format\u0026n=a8gPOTKEuVFcSfC3\u0026q=85\u0026s=8c2671e4c8f7da6956e1508bd68c2928","dark":"https://mintcdn.com/crossmint/a8gPOTKEuVFcSfC3/logo/crossmint-dark.png?fit=max\u0026auto=format\u0026n=a8gPOTKEuVFcSfC3\u0026q=85\u0026s=272ecc17664d17b9ff24471758ff80b2"},"favicon":"https://mintcdn.com/crossmint/xq66q9GV6z6jjj95/favicon.png?fit=max\u0026auto=format\u0026n=xq66q9GV6z6jjj95\u0026q=85\u0026s=00fb89ddf6ba5b1022b9307039c08006","api":{"openapi":["api-reference/_open-api/MintingAPIs.json","api-reference/_open-api/AdminAPIs.json","api-reference/_open-api/VerifiableCredentialsAPIs.json","api-reference/_open-api/Wallets.json"],"examples":{"prefill":true}},"background":{"color":{"dark":"#090b0c"}},"navbar":{"links":[{"href":"https://www.crossmint.com/contact","label":"Support"},{"href":"https://staging.crossmint.com/console","label":"Staging Console"}],"primary":{"type":"button","label":"Console","href":"https://www.crossmint.com/console"}},"footer":{"socials":{"website":"https://www.crossmint.com","twitter":"https://twitter.com/crossmint","github":"https://github.com/crossmint"}},"integrations":{"ga4":{"measurementId":"G-CP5EDD6GVT"},"posthog":{"apiKey":"phc_tfgodwfjuO9v3Nw0tIWJNzACoi2opL7X2Ly0Mg2UCTz","apiHost":"https://eu.i.posthog.com","sessionRecording":false}},"contextual":{"options":["copy","view","chatgpt","claude"],"display":"header"},"styling":{"latex":true},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"crossmint","hasAudioNarration":false,"actualSubdomain":"crossmint","customDomains":["docs.crossmint.com"],"gitSource":{"type":"github","owner":"paella-labs","repo":"crossbit-main","deployBranch":"main","contentDirectory":"apps/crossmint-mintlify-docs/src","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ae3d8f741de67c3a45f92e9","collectionId":"ec289943-608d-49e4-87f0-f571347e8af2","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae3d8f741de67c3a45f92e9"},"feedback":{"thumbs":true,"edits":true,"issues":true,"contextualFeedback":{"allowEmail":true},"agentFeedback":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":"6ae3df374b719d5b72253336","clientVersion":"0.0.4021","searchFilterCounts":[{"language":"default","tag":"API Reference","count":1092},{"language":"default","tag":"Wallets","count":928},{"language":"default","tag":"Wallets V0","count":666},{"language":"default","tag":"Kotlin SDK","count":413},{"language":"default","tag":"Wallets V1","count":262},{"language":"default","tag":"Swift SDK","count":227},{"language":"default","tag":"Checkout","count":206},{"language":"default","tag":"Classes","count":185},{"language":"default","tag":"Typescript SDK","count":183},{"language":"default","tag":"Data Classes","count":169}]},"assistantConfig":{"enableAskAiButton":true,"enableStarterQuestions":false,"enableAskAiSearchBar":false,"deflection":{"enabled":true,"type":"link","url":"https://www.crossmint.com/contact/sales"}},"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}],"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".tab-container [data-component-part=tabs-list]{flex-wrap:wrap;overflow:visible;row-gap:.25rem}.tab-container [data-component-part=tabs-list]>li{white-space:nowrap}"}],"page":{"pagePath":"api-reference/wallets/get-transaction","slug":"/api-reference/wallets/get-transaction","pageMetadata":{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}","title":"Get Transaction","description":"Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`","href":"/api-reference/wallets/get-transaction"},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n p: \"p\",\n strong: \"strong\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Retrieves the current status and details of a specific transaction.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [_jsx(_components.strong, {\n children: \"API scope required\"\n }), \": \", _jsx(_components.code, {\n children: \"wallets:transactions.read\"\n })]\n })]\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}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}","title":"Get Transaction","description":"Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`","href":"/api-reference/wallets/get-transaction"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/crossmint/d1c432d03c0c4224/scripts/dd.js","/_mintlify/custom/crossmint/7fc8d54052d3edb0/scripts/hubspot.js"],"openApiReferenceData":{"operation":{"description":"Retrieves the current status and details of a specific transaction.\n\n**API scope required**: `wallets:transactions.read`","operationId":"wallets.transactions.get","parameters":["a6191ca3-f17d-4483-ae2f-c58ef4f50095","508f9963-9794-4773-8e98-c82c3affa2b0"],"responses":{"200":"f4a205a8-dcab-4db0-bcb4-191a1f148c0d","404":"90a2e6ae-9701-44dd-8da6-2d101ad0a61e"},"security":["a79f791f-c72e-476b-a5ba-27ef8d5ddaac"],"summary":"Get Transaction","method":"get","type":"path","servers":["eeb9b769-bd24-4b58-8ac2-8f9cf9595e75","fc4d8a5a-d749-4ab9-a109-48aa2553ab09"],"path":"/2025-06-09/wallets/{walletLocator}/transactions/{transactionId}","baseUrlOptions":["https://staging.crossmint.com/api","https://www.crossmint.com/api"],"title":"Get Transaction","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[]},"dependencies":{"parameters":{"a6191ca3-f17d-4483-ae2f-c58ef4f50095":{"description":"A wallet locator can be of the format:\n- `\u003cwalletAddress>`\n- `email:\u003cemail>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]` (walletType defaults to 'smart')\n- `userId:\u003cuserId>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]` (white label user example)\n- `phoneNumber:\u003cphoneNumber>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]`\n- `twitter:\u003chandle>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]`\n- `x:\u003chandle>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]`\n- `me:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]` (Use when calling from the client side with a client API key)\n- `chainType[:\u003cwalletType>]:alias:\u003calias>`","in":"path","name":"walletLocator","required":true,"schema":{"type":"string","isRequired":true,"description":"A wallet locator can be of the format:\n- `\u003cwalletAddress>`\n- `email:\u003cemail>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]` (walletType defaults to 'smart')\n- `userId:\u003cuserId>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]` (white label user example)\n- `phoneNumber:\u003cphoneNumber>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]`\n- `twitter:\u003chandle>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]`\n- `x:\u003chandle>:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]`\n- `me:\u003cchainType>[:\u003cwalletType>][:alias:\u003calias>]` (Use when calling from the client side with a client API key)\n- `chainType[:\u003cwalletType>]:alias:\u003calias>`","uniqueKey":"","typeLabel":"string"}},"508f9963-9794-4773-8e98-c82c3affa2b0":{"in":"path","name":"transactionId","required":true,"schema":{"type":"string","isRequired":true,"uniqueKey":"","typeLabel":"string"}}},"responses":{"f4a205a8-dcab-4db0-bcb4-191a1f148c0d":{"content":{"application/json":{"schema":{"oneOf":[{"type":"object","title":"EVM MPC Wallet","description":"Complete transaction response including status, signing requirements, and wallet type specific data","required":["chainType","createdAt","id","onChain","params","status","walletType"],"properties":{"chainType":{"description":"The blockchain type of the wallet","enum":["aptos","evm","solana","stellar","sui"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.chainType","typeLabel":"enum\u003cstring>"},"createdAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.0.createdAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.0.createdAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.0.createdAt","typeLabel":"number | string"},"id":{"description":"Unique identifier for the transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.0.id","typeLabel":"string"},"onChain":{"description":"Transaction data specific to EVM MPC wallets","properties":{"call":{"properties":{"data":{"description":"The encoded calldata for this transaction","isRequired":true,"uniqueKey":"oneOf.0.onChain.call.data","typeLabel":"any"},"to":{"description":"The recipient address for this transaction call","type":"string","isRequired":true,"uniqueKey":"oneOf.0.onChain.call.to","typeLabel":"string"}},"required":["data","to"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.onChain.call","typeLabel":"object"},"explorerLink":{"type":"string","uniqueKey":"oneOf.0.onChain.explorerLink","typeLabel":"string"},"txId":{"description":"A hex string","type":"string","uniqueKey":"oneOf.0.onChain.txId","typeLabel":"string"}},"required":["call"],"title":"EVM MPC wallet transaction data","type":"object","isRequired":true,"uniqueKey":"oneOf.0.onChain","typeLabel":"EVM MPC wallet transaction data · object"},"params":{"properties":{"call":{"oneOf":[{"type":"object","description":"The transaction call to execute","required":["abi","address","args","functionName"],"properties":{"abi":{"description":"The ABI for the function to call","items":{"oneOf":[{}],"uniqueKey":"oneOf.0.params.call.oneOf.0.abi.items.[INDEX]","typeLabel":"any"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.0.abi","typeLabel":"any[]"},"address":{"description":"The recipient address for this transaction call","type":"string","isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.0.address","typeLabel":"string"},"args":{"description":"The arguments to pass to the function","items":{"oneOf":[{}],"uniqueKey":"oneOf.0.params.call.oneOf.0.args.items.[INDEX]","typeLabel":"any"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.0.args","typeLabel":"any[]"},"functionName":{"description":"The name of the function to call","type":"string","isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.0.functionName","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.0","typeLabel":"object"},{"type":"object","description":"The transaction call to execute","required":["data","to"],"properties":{"data":{"description":"The encoded calldata for this transaction","isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.1.data","typeLabel":"any"},"to":{"description":"The recipient address for this transaction call","type":"string","isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.1.to","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"oneOf.0.params.call.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.params.call","typeLabel":"object"},"chain":{"description":"The chain on which the transaction will be executed","enum":["abstract","abstract-testnet","apechain","arbitrum","arbitrum-sepolia","arbitrumnova","arc","arc-testnet","astar-zkevm","avalanche","avalanche-fuji","base","base-goerli","base-sepolia","bsc","bsc-testnet","celo","celo-sepolia","chiliz","chiliz-spicy-testnet","coti","coti-testnet","curtis","ethereum","ethereum-goerli","ethereum-sepolia","flow","flow-testnet","hedera","hedera-testnet","hypersonic-testnet","lightlink","lightlink-pegasus","mantle","mantle-sepolia","mode","mode-sepolia","optimism","optimism-goerli","optimism-sepolia","plume","plume-testnet","polygon","polygon-amoy","polygon-mumbai","rari","rari-testnet","robinhood-chain","robinhood-chain-testnet","scroll","scroll-sepolia","sei-atlantic-2-testnet","sei-pacific-1","shape","shape-sepolia","skale-nebula","skale-nebula-testnet","soneium","soneium-minato-testnet","space","space-testnet","story","story-testnet","tempo","tempo-testnet","u2u-nebulas","u2u-solaris","verify-testnet","viction","viction-testnet","world-chain","world-chain-sepolia","xai","xai-sepolia-testnet","zenchain-testnet","zkatana","zkyoto","zora","zora-goerli","zora-sepolia"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.params.chain","typeLabel":"enum\u003cstring>"}},"required":["call","chain"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.params","typeLabel":"object"},"status":{"description":"Current status of the transaction","enum":["awaiting-approval","failed","pending","success"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.status","typeLabel":"enum\u003cstring>"},"walletType":{"description":"The wallet type (smart or mpc)","enum":["mpc","smart"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.walletType","typeLabel":"enum\u003cstring>"},"approvals":{"description":"Complete approval data including requirements, pending and submitted signatures","properties":{"pending":{"description":"List of pending signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signer"],"properties":{"message":{"description":"The message that needs to be signed","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object that's pending approval","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object that's pending approval","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"}},"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.0.approvals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.approvals.pending","typeLabel":"object[]"},"submitted":{"description":"Record of all submitted signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signature","signer","submittedAt"],"properties":{"message":{"description":"The message that was signed","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signature","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object who submitted this signature","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object who submitted this signature","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"submittedAt":{"oneOf":[{"type":"number","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.submittedAt","typeLabel":"number | string"},"metadata":{"description":"Additional metadata about the signature submission","properties":{"deviceInfo":{"type":"string","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.metadata.deviceInfo","typeLabel":"string"},"ipAddress":{"type":"string","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.metadata.ipAddress","typeLabel":"string"},"userAgent":{"type":"string","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.metadata.userAgent","typeLabel":"string"}},"type":"object","uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1.metadata","typeLabel":"object"}},"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.0.approvals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.approvals.submitted","typeLabel":"object[]"},"required":{"description":"Number of required approvals for the transaction","type":"number","uniqueKey":"oneOf.0.approvals.required","typeLabel":"number"}},"required":["pending","submitted"],"type":"object","uniqueKey":"oneOf.0.approvals","typeLabel":"object"},"completedAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.0.completedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.0.completedAt.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.0.completedAt","typeLabel":"number | string"},"error":{"oneOf":[{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.0.message","typeLabel":"string"},"reason":{"const":"program_error","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.0.reason","typeLabel":"string"},"logs":{"oneOf":[{}],"uniqueKey":"oneOf.0.error.oneOf.0.logs","typeLabel":"any"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.0.error.oneOf.0.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.0.error.oneOf.0.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.0.error.oneOf.0","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.1.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","const":"build_failed","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.1.reason.oneOf.0","typeLabel":"string"},{"type":"string","const":"failed_to_land_on_chain","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.1.reason.oneOf.1","typeLabel":"string"},{"type":"string","const":"sanctioned_wallet_address","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.1.reason.oneOf.2","typeLabel":"string"},{"type":"string","const":"unknown","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.1.reason.oneOf.3","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.1.reason","typeLabel":"string"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.0.error.oneOf.1.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.0.error.oneOf.1.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.0.error.oneOf.1","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.message","typeLabel":"string"},"reason":{"const":"execution_reverted","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.reason","typeLabel":"string"},"revert":{"properties":{"reason":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.reason","typeLabel":"string"},"type":{"oneOf":[{"type":"string","const":"contract_call","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.type.oneOf.0","typeLabel":"string"},{"type":"string","const":"wallet_authorization","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.type.oneOf.1","typeLabel":"string"},{"type":"string","const":"wallet_deployment","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.type.oneOf.2","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.type","typeLabel":"string"},"debug":{"description":"Structured debugging information for the revert","examples":[{"blockNumber":"38104211","call":{"args":[{"name":"to","type":"address","value":"0x9999999999999999999999999999999999999999"},{"name":"amount","type":"uint256","value":"1000000"}],"function":"transfer(address,uint256)","index":1,"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0"},"chain":"base","details":{"available":"500000","code":"insufficient_erc20_balance","required":"1000000","symbol":"USDC","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":"Wallet holds 0.5 USDC but the transfer requires 1 USDC","retryable":true,"revert":{"args":[{"type":"address","value":"0x1234567890abcdef1234567890abcdef1234abcd"},{"type":"uint256","value":"500000"},{"type":"uint256","value":"1000000"}],"name":"ERC20InsufficientBalance","selector":"0xe450d38c","signature":"ERC20InsufficientBalance(address,uint256,uint256)"}}],"properties":{"blockNumber":{"description":"Block the failure was observed at; replay with eth_call / debug_traceCall","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.blockNumber","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.chain","typeLabel":"string"},"details":{"oneOf":[{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","spender","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.0.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_allowance","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.0.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.0.required","typeLabel":"string"},"spender":{"description":"Address that needs the approval","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.0.spender","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.0.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.0.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.0","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.1.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.1.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.1.required","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.1.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.1.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.1","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.2.available","typeLabel":"string"},"code":{"const":"insufficient_native_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.2.code","typeLabel":"string"},"required":{"description":"Wei needed to cover value plus gas","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.2.required","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.2","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","entryPointCode","entryPointMessage"],"properties":{"code":{"const":"account_abstraction","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.3.code","typeLabel":"string"},"entryPointCode":{"description":"ERC-4337 EntryPoint code, e.g. `AA21`","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.3.entryPointCode","typeLabel":"string"},"entryPointMessage":{"description":"EntryPoint's own message, e.g. `didn't pay prefund`","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.3.entryPointMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.3","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"contract_revert","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.4.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.4","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","gasLimit"],"properties":{"code":{"const":"out_of_gas","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.5.code","typeLabel":"string"},"gasLimit":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.5.gasLimit","typeLabel":"string"},"gasUsed":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.5.gasUsed","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.5","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"unknown","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.6.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.details","typeLabel":"object"},"message":{"description":"Human-readable summary of `details`","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.message","typeLabel":"string"},"retryable":{"description":"True when the same transaction can succeed after the caller fixes state (funds, allowance, gas)","type":"boolean","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.retryable","typeLabel":"boolean"},"revert":{"description":"Raw revert as returned by the chain, decoded when the error is known","properties":{"args":{"description":"Positional decoded error arguments; empty when undecoded","items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.args","typeLabel":"object[]"},"name":{"type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.name","typeLabel":"string"},"selector":{"description":"4-byte error selector; absent when the revert carried no data","pattern":"^0x[0-9a-fA-F]{8}$","type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.selector","typeLabel":"string"},"signature":{"type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert.signature","typeLabel":"string"}},"required":["args"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.revert","typeLabel":"object"},"call":{"description":"The call in the batch that reverted; absent when the failure cannot be attributed to a call","properties":{"args":{"items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.args","typeLabel":"object[]"},"index":{"description":"Index of the call within the transaction's batch","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.index","typeLabel":"integer"},"to":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.to","typeLabel":"string"},"value":{"description":"Native value sent with the call, in wei","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.value","typeLabel":"string"},"function":{"description":"Function signature, e.g. `transfer(address,uint256)`","type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call.function","typeLabel":"string"}},"required":["args","index","to","value"],"type":"object","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug.call","typeLabel":"object"}},"required":["blockNumber","chain","details","message","retryable","revert"],"type":"object","uniqueKey":"oneOf.0.error.oneOf.2.revert.debug","typeLabel":"object"},"explorerLink":{"type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.explorerLink","typeLabel":"string"},"reasonData":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.0.error.oneOf.2.revert.reasonData.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"oneOf.0.error.oneOf.2.revert.reasonData.oneOf.0","typeLabel":"object"},{"type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.reasonData.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.0.error.oneOf.2.revert.reasonData","typeLabel":"object | string"},"simulationLink":{"description":"Deprecated: no longer populated. Kept for backwards compatibility with previously failed transactions.","type":"string","uniqueKey":"oneOf.0.error.oneOf.2.revert.simulationLink","typeLabel":"string"}},"required":["reason","type"],"type":"object","uniqueKey":"oneOf.0.error.oneOf.2.revert","typeLabel":"object"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.0.error.oneOf.2.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.0.error.oneOf.2.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.0.error.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.0.error","typeLabel":"object"},"fees":{"description":"Transaction fee information including actual transaction fees, billed amounts, and billing status","properties":{"mode":{"enum":["project","user-fungible","user-native"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.mode","typeLabel":"enum\u003cstring>"},"actual":{"oneOf":[{}],"uniqueKey":"oneOf.0.fees.actual","typeLabel":"any"},"billed":{"properties":{"usd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.0.fees.billed.usd","typeLabel":"number"}},"required":["usd"],"type":"object","uniqueKey":"oneOf.0.fees.billed","typeLabel":"object"},"billing":{"properties":{"status":{"enum":["failed","pending","settled"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.billing.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"type":"object","uniqueKey":"oneOf.0.fees.billing","typeLabel":"object"},"estimate":{"oneOf":[{}],"uniqueKey":"oneOf.0.fees.estimate","typeLabel":"any"}},"required":["mode"],"type":"object","uniqueKey":"oneOf.0.fees","typeLabel":"object"},"sendParams":{"properties":{"params":{"description":"The parameters for the send token transaction","properties":{"recipient":{"description":"The recipient locator for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.0.sendParams.params.recipient","typeLabel":"string"},"recipientAddress":{"description":"The recipient address for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.0.sendParams.params.recipientAddress","typeLabel":"string"},"amount":{"description":"The amount of the token to send","type":"string","uniqueKey":"oneOf.0.sendParams.params.amount","typeLabel":"string"}},"required":["recipient","recipientAddress"],"type":"object","isRequired":true,"uniqueKey":"oneOf.0.sendParams.params","typeLabel":"object"},"token":{"description":"The token locator that's being sent","type":"string","isRequired":true,"uniqueKey":"oneOf.0.sendParams.token","typeLabel":"string"}},"required":["params","token"],"type":"object","uniqueKey":"oneOf.0.sendParams","typeLabel":"object"}},"uniqueKey":"oneOf.0","typeLabel":"EVM MPC Wallet · object"},{"type":"object","title":"EVM Smart Wallet","description":"Complete transaction response including status, signing requirements, and wallet type specific data","required":["chainType","createdAt","id","onChain","params","status","walletType"],"properties":{"chainType":{"description":"The blockchain type of the wallet","enum":["aptos","evm","solana","stellar","sui"],"type":"string","isRequired":true,"uniqueKey":"oneOf.1.chainType","typeLabel":"enum\u003cstring>"},"createdAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.1.createdAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.1.createdAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.1.createdAt","typeLabel":"number | string"},"id":{"description":"Unique identifier for the transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.1.id","typeLabel":"string"},"onChain":{"description":"Transaction data specific to EVM smart wallets","properties":{"userOperation":{"properties":{"callData":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.callData","typeLabel":"string"},"callGasLimit":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.callGasLimit","typeLabel":"string"},"maxFeePerGas":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.maxFeePerGas","typeLabel":"string"},"maxPriorityFeePerGas":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.maxPriorityFeePerGas","typeLabel":"string"},"nonce":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.nonce","typeLabel":"string"},"preVerificationGas":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.preVerificationGas","typeLabel":"string"},"sender":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.sender","typeLabel":"string"},"signature":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.signature","typeLabel":"string"},"verificationGasLimit":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation.verificationGasLimit","typeLabel":"string"},"factory":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.userOperation.factory","typeLabel":"string"},"factoryData":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.userOperation.factoryData","typeLabel":"string"},"paymaster":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.userOperation.paymaster","typeLabel":"string"},"paymasterPostOpGasLimit":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.userOperation.paymasterPostOpGasLimit","typeLabel":"string"},"paymasterVerificationGasLimit":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.userOperation.paymasterVerificationGasLimit","typeLabel":"string"}},"required":["callData","callGasLimit","maxFeePerGas","maxPriorityFeePerGas","nonce","preVerificationGas","sender","signature","verificationGasLimit"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperation","typeLabel":"object"},"userOperationHash":{"description":"A hex string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.onChain.userOperationHash","typeLabel":"string"},"explorerLink":{"type":"string","uniqueKey":"oneOf.1.onChain.explorerLink","typeLabel":"string"},"proxiedTxId":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.proxiedTxId","typeLabel":"string"},"txId":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.txId","typeLabel":"string"}},"required":["userOperation","userOperationHash"],"title":"EVM smart wallet transaction data","type":"object","isRequired":true,"uniqueKey":"oneOf.1.onChain","typeLabel":"EVM smart wallet transaction data · object"},"params":{"properties":{"calls":{"description":"Array of transaction calls to execute","items":{"oneOf":[{"type":"object","title":"EVM contract call transaction parameters","description":"Transaction data to execute","required":["abi","address","args","functionName"],"properties":{"abi":{"description":"The ABI for the function to call","items":{"oneOf":[{}],"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0.abi.items.[INDEX]","typeLabel":"any"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0.abi","typeLabel":"any[]"},"address":{"description":"The recipient address for this transaction call","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0.address","typeLabel":"string"},"args":{"description":"The arguments to pass to the function","items":{"oneOf":[{}],"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0.args.items.[INDEX]","typeLabel":"any"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0.args","typeLabel":"any[]"},"functionName":{"description":"The name of the function to call","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0.functionName","typeLabel":"string"},"value":{"default":"0","description":"The amount of native token to send in wei","type":"string","uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.0","typeLabel":"EVM contract call transaction parameters · object"},{"type":"object","title":"EVM direct calldata transaction parameters","description":"Transaction data to execute","required":["data","to","value"],"properties":{"data":{"description":"The encoded calldata for this transaction","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.1.data","typeLabel":"any"},"to":{"description":"The recipient address for this transaction call","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.1.to","typeLabel":"string"},"value":{"description":"The amount of native token to send in wei","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.1","typeLabel":"EVM direct calldata transaction parameters · object"},{"type":"object","title":"EVM serialized transaction parameters","description":"Transaction data to execute","required":["transaction"],"properties":{"transaction":{"description":"Serialized EVM transaction","isRequired":true,"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.2.transaction","typeLabel":"any"}},"uniqueKey":"oneOf.1.params.calls.items.[INDEX].oneOf.2","typeLabel":"EVM serialized transaction parameters · object"}],"uniqueKey":"oneOf.1.params.calls.items.[INDEX]","typeLabel":"EVM contract call transaction parameters · object | EVM direct calldata transaction parameters · object | EVM serialized transaction parameters · object"},"minItems":1,"type":"array","isRequired":true,"uniqueKey":"oneOf.1.params.calls","typeLabel":"(EVM contract call transaction parameters · object | EVM direct calldata transaction parameters · object | EVM serialized transaction parameters · object)[]"},"chain":{"description":"The chain on which the transaction will be executed","enum":["apechain","arbitrum","arbitrum-sepolia","arbitrumnova","arc","arc-testnet","avalanche","avalanche-fuji","base","base-sepolia","bsc","celo","celo-sepolia","curtis","ethereum","ethereum-sepolia","flow","flow-testnet","mantle","mantle-sepolia","optimism","optimism-sepolia","polygon","polygon-amoy","robinhood-chain","robinhood-chain-testnet","scroll","scroll-sepolia","sei-atlantic-2-testnet","sei-pacific-1","shape","story","story-testnet","tempo","tempo-testnet","zora","zora-sepolia"],"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.chain","typeLabel":"enum\u003cstring>"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object who will submit this transaction","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.0.type","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object who will submit this transaction","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.1.params.signer.oneOf.1.name","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object who will submit this transaction","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.2.type","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object who will submit this transaction","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.3.type","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object who will submit this transaction","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.4.type","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object who will submit this transaction","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.5.type","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object who will submit this transaction","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.6.type","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.6","typeLabel":"object"},{"type":"object","title":"Quorum Signer Reference","description":"The full signer object who will submit this transaction","required":["locator","type"],"properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.7.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.1.params.signer.oneOf.7.type","typeLabel":"string"}},"uniqueKey":"oneOf.1.params.signer.oneOf.7","typeLabel":"Quorum Signer Reference · object"}],"uniqueKey":"oneOf.1.params.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object · Quorum Signer Reference · object"}},"required":["calls","chain"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.params","typeLabel":"object"},"status":{"description":"Current status of the transaction","enum":["awaiting-approval","failed","pending","success"],"type":"string","isRequired":true,"uniqueKey":"oneOf.1.status","typeLabel":"enum\u003cstring>"},"walletType":{"description":"The wallet type (smart or mpc)","enum":["mpc","smart"],"type":"string","isRequired":true,"uniqueKey":"oneOf.1.walletType","typeLabel":"enum\u003cstring>"},"approvals":{"description":"Complete approval data including requirements, pending and submitted signatures","properties":{"pending":{"description":"List of pending signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signer"],"properties":{"message":{"description":"The message that needs to be signed","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object that's pending approval","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object that's pending approval","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"}},"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.approvals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.approvals.pending","typeLabel":"object[]"},"submitted":{"description":"Record of all submitted signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signature","signer","submittedAt"],"properties":{"message":{"description":"The message that was signed","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signature","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object who submitted this signature","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object who submitted this signature","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"submittedAt":{"oneOf":[{"type":"number","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.submittedAt","typeLabel":"number | string"},"metadata":{"description":"Additional metadata about the signature submission","properties":{"deviceInfo":{"type":"string","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.metadata.deviceInfo","typeLabel":"string"},"ipAddress":{"type":"string","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.metadata.ipAddress","typeLabel":"string"},"userAgent":{"type":"string","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.metadata.userAgent","typeLabel":"string"}},"type":"object","uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1.metadata","typeLabel":"object"}},"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.1.approvals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.approvals.submitted","typeLabel":"object[]"},"required":{"description":"Number of required approvals for the transaction","type":"number","uniqueKey":"oneOf.1.approvals.required","typeLabel":"number"}},"required":["pending","submitted"],"type":"object","uniqueKey":"oneOf.1.approvals","typeLabel":"object"},"completedAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.1.completedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.1.completedAt.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.1.completedAt","typeLabel":"number | string"},"error":{"oneOf":[{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.0.message","typeLabel":"string"},"reason":{"const":"program_error","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.0.reason","typeLabel":"string"},"logs":{"oneOf":[{}],"uniqueKey":"oneOf.1.error.oneOf.0.logs","typeLabel":"any"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.1.error.oneOf.0.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.1.error.oneOf.0.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.1.error.oneOf.0","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.1.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","const":"build_failed","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.1.reason.oneOf.0","typeLabel":"string"},{"type":"string","const":"failed_to_land_on_chain","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.1.reason.oneOf.1","typeLabel":"string"},{"type":"string","const":"sanctioned_wallet_address","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.1.reason.oneOf.2","typeLabel":"string"},{"type":"string","const":"unknown","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.1.reason.oneOf.3","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.1.reason","typeLabel":"string"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.1.error.oneOf.1.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.1.error.oneOf.1.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.1.error.oneOf.1","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.message","typeLabel":"string"},"reason":{"const":"execution_reverted","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.reason","typeLabel":"string"},"revert":{"properties":{"reason":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.reason","typeLabel":"string"},"type":{"oneOf":[{"type":"string","const":"contract_call","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.type.oneOf.0","typeLabel":"string"},{"type":"string","const":"wallet_authorization","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.type.oneOf.1","typeLabel":"string"},{"type":"string","const":"wallet_deployment","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.type.oneOf.2","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.type","typeLabel":"string"},"debug":{"description":"Structured debugging information for the revert","examples":[{"blockNumber":"38104211","call":{"args":[{"name":"to","type":"address","value":"0x9999999999999999999999999999999999999999"},{"name":"amount","type":"uint256","value":"1000000"}],"function":"transfer(address,uint256)","index":1,"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0"},"chain":"base","details":{"available":"500000","code":"insufficient_erc20_balance","required":"1000000","symbol":"USDC","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":"Wallet holds 0.5 USDC but the transfer requires 1 USDC","retryable":true,"revert":{"args":[{"type":"address","value":"0x1234567890abcdef1234567890abcdef1234abcd"},{"type":"uint256","value":"500000"},{"type":"uint256","value":"1000000"}],"name":"ERC20InsufficientBalance","selector":"0xe450d38c","signature":"ERC20InsufficientBalance(address,uint256,uint256)"}}],"properties":{"blockNumber":{"description":"Block the failure was observed at; replay with eth_call / debug_traceCall","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.blockNumber","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.chain","typeLabel":"string"},"details":{"oneOf":[{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","spender","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.0.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_allowance","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.0.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.0.required","typeLabel":"string"},"spender":{"description":"Address that needs the approval","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.0.spender","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.0.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.0.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.0","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.1.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.1.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.1.required","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.1.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.1.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.1","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.2.available","typeLabel":"string"},"code":{"const":"insufficient_native_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.2.code","typeLabel":"string"},"required":{"description":"Wei needed to cover value plus gas","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.2.required","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.2","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","entryPointCode","entryPointMessage"],"properties":{"code":{"const":"account_abstraction","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.3.code","typeLabel":"string"},"entryPointCode":{"description":"ERC-4337 EntryPoint code, e.g. `AA21`","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.3.entryPointCode","typeLabel":"string"},"entryPointMessage":{"description":"EntryPoint's own message, e.g. `didn't pay prefund`","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.3.entryPointMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.3","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"contract_revert","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.4.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.4","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","gasLimit"],"properties":{"code":{"const":"out_of_gas","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.5.code","typeLabel":"string"},"gasLimit":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.5.gasLimit","typeLabel":"string"},"gasUsed":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.5.gasUsed","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.5","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"unknown","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.6.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.details","typeLabel":"object"},"message":{"description":"Human-readable summary of `details`","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.message","typeLabel":"string"},"retryable":{"description":"True when the same transaction can succeed after the caller fixes state (funds, allowance, gas)","type":"boolean","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.retryable","typeLabel":"boolean"},"revert":{"description":"Raw revert as returned by the chain, decoded when the error is known","properties":{"args":{"description":"Positional decoded error arguments; empty when undecoded","items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.args","typeLabel":"object[]"},"name":{"type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.name","typeLabel":"string"},"selector":{"description":"4-byte error selector; absent when the revert carried no data","pattern":"^0x[0-9a-fA-F]{8}$","type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.selector","typeLabel":"string"},"signature":{"type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert.signature","typeLabel":"string"}},"required":["args"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.revert","typeLabel":"object"},"call":{"description":"The call in the batch that reverted; absent when the failure cannot be attributed to a call","properties":{"args":{"items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.args","typeLabel":"object[]"},"index":{"description":"Index of the call within the transaction's batch","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.index","typeLabel":"integer"},"to":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.to","typeLabel":"string"},"value":{"description":"Native value sent with the call, in wei","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.value","typeLabel":"string"},"function":{"description":"Function signature, e.g. `transfer(address,uint256)`","type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call.function","typeLabel":"string"}},"required":["args","index","to","value"],"type":"object","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug.call","typeLabel":"object"}},"required":["blockNumber","chain","details","message","retryable","revert"],"type":"object","uniqueKey":"oneOf.1.error.oneOf.2.revert.debug","typeLabel":"object"},"explorerLink":{"type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.explorerLink","typeLabel":"string"},"reasonData":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.1.error.oneOf.2.revert.reasonData.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"oneOf.1.error.oneOf.2.revert.reasonData.oneOf.0","typeLabel":"object"},{"type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.reasonData.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.1.error.oneOf.2.revert.reasonData","typeLabel":"object | string"},"simulationLink":{"description":"Deprecated: no longer populated. Kept for backwards compatibility with previously failed transactions.","type":"string","uniqueKey":"oneOf.1.error.oneOf.2.revert.simulationLink","typeLabel":"string"}},"required":["reason","type"],"type":"object","uniqueKey":"oneOf.1.error.oneOf.2.revert","typeLabel":"object"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.1.error.oneOf.2.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.1.error.oneOf.2.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.1.error.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.1.error","typeLabel":"object"},"fees":{"description":"Transaction fee information including actual transaction fees, billed amounts, and billing status","properties":{"mode":{"enum":["project","user-fungible","user-native"],"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.mode","typeLabel":"enum\u003cstring>"},"actual":{"oneOf":[{}],"uniqueKey":"oneOf.1.fees.actual","typeLabel":"any"},"billed":{"properties":{"usd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.1.fees.billed.usd","typeLabel":"number"}},"required":["usd"],"type":"object","uniqueKey":"oneOf.1.fees.billed","typeLabel":"object"},"billing":{"properties":{"status":{"enum":["failed","pending","settled"],"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.billing.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"type":"object","uniqueKey":"oneOf.1.fees.billing","typeLabel":"object"},"estimate":{"oneOf":[{}],"uniqueKey":"oneOf.1.fees.estimate","typeLabel":"any"}},"required":["mode"],"type":"object","uniqueKey":"oneOf.1.fees","typeLabel":"object"},"sendParams":{"properties":{"params":{"description":"The parameters for the send token transaction","properties":{"recipient":{"description":"The recipient locator for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.1.sendParams.params.recipient","typeLabel":"string"},"recipientAddress":{"description":"The recipient address for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.1.sendParams.params.recipientAddress","typeLabel":"string"},"amount":{"description":"The amount of the token to send","type":"string","uniqueKey":"oneOf.1.sendParams.params.amount","typeLabel":"string"}},"required":["recipient","recipientAddress"],"type":"object","isRequired":true,"uniqueKey":"oneOf.1.sendParams.params","typeLabel":"object"},"token":{"description":"The token locator that's being sent","type":"string","isRequired":true,"uniqueKey":"oneOf.1.sendParams.token","typeLabel":"string"}},"required":["params","token"],"type":"object","uniqueKey":"oneOf.1.sendParams","typeLabel":"object"}},"uniqueKey":"oneOf.1","typeLabel":"EVM Smart Wallet · object"},{"type":"object","title":"Stellar Smart Wallet","description":"Complete transaction response including status, signing requirements, and wallet type specific data","required":["chainType","createdAt","id","onChain","params","status","walletType"],"properties":{"chainType":{"description":"The blockchain type of the wallet","enum":["aptos","evm","solana","stellar","sui"],"type":"string","isRequired":true,"uniqueKey":"oneOf.2.chainType","typeLabel":"enum\u003cstring>"},"createdAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.2.createdAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.2.createdAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.2.createdAt","typeLabel":"number | string"},"id":{"description":"Unique identifier for the transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.2.id","typeLabel":"string"},"onChain":{"properties":{"expiration":{"description":"The expiration of the transaction","type":"number","isRequired":true,"uniqueKey":"oneOf.2.onChain.expiration","typeLabel":"number"},"transaction":{"description":"The Stellar Transaction Envelope","properties":{"method":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.onChain.transaction.method","typeLabel":"string"},"tx":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.onChain.transaction.tx","typeLabel":"string"}},"required":["method","tx"],"title":"Stellar on-chain transaction","type":"object","isRequired":true,"uniqueKey":"oneOf.2.onChain.transaction","typeLabel":"Stellar on-chain transaction · object"},"explorerLink":{"description":"Optional link to view the transaction in an explorer","type":"string","uniqueKey":"oneOf.2.onChain.explorerLink","typeLabel":"string"},"ledger":{"description":"The ledger number where the transaction was included","type":"number","uniqueKey":"oneOf.2.onChain.ledger","typeLabel":"number"},"proxiedTxId":{"description":"For regulated transfers, the delivery transaction hash","type":"string","uniqueKey":"oneOf.2.onChain.proxiedTxId","typeLabel":"string"},"result":{"description":"The Transaction Result in XDR format","uniqueKey":"oneOf.2.onChain.result","typeLabel":"any"},"txId":{"description":"The transaction hash","type":"string","uniqueKey":"oneOf.2.onChain.txId","typeLabel":"string"}},"required":["expiration","transaction"],"title":"Stellar on-chain data","type":"object","isRequired":true,"uniqueKey":"oneOf.2.onChain","typeLabel":"Stellar on-chain data · object"},"params":{"properties":{"transaction":{"oneOf":[{"type":"object","title":"Stellar migrate wallet transaction","description":"Stellar transaction to execute","required":["type"],"example":{"type":"migrate-wallet"},"properties":{"type":{"const":"migrate-wallet","description":"The type of transaction to execute","type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.0","typeLabel":"Stellar migrate wallet transaction · object"},{"type":"object","title":"Stellar contract call transaction parameters","description":"Stellar transaction to execute","required":["args","contractId","method","type"],"example":{"args":{"amount":"10000000","from":"CAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABSC4","to":"GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ"},"contractId":"CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA","method":"transfer","type":"contract-call"},"properties":{"args":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.2.params.transaction.oneOf.1.args.additionalProperties","typeLabel":"any"},"description":"The arguments to pass to the function","propertyNames":{"type":"string"},"type":"object","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.args","typeLabel":"object"},"contractId":{"description":"The recipient address for this transaction call","examples":["CBIELTK6YBZJU5UP2WWQEUCYKLPU6AUNZ2BQ4WWFEIE3USCIHMXQDAMA"],"type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.contractId","typeLabel":"string"},"method":{"description":"The name of the function to call","type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.method","typeLabel":"string"},"type":{"const":"contract-call","description":"The type of transaction to execute","type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.type","typeLabel":"string"},"memo":{"oneOf":[{"type":"object","description":"The memo for the transaction","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"hash","type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.0.type","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.0.value","typeLabel":"string"}},"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.0","typeLabel":"object"},{"type":"object","description":"The memo for the transaction","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"id","type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.1.type","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.1","typeLabel":"object"},{"type":"object","description":"The memo for the transaction","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"text","type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.2.type","typeLabel":"string"},"value":{"maxLength":28,"type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.2.value","typeLabel":"string"}},"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.2.params.transaction.oneOf.1.memo","typeLabel":"object"}},"isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.1","typeLabel":"Stellar contract call transaction parameters · object"},{"type":"object","title":"Stellar upgrade wallet transaction","description":"Stellar transaction to execute","required":["type"],"example":{"type":"upgrade-wallet"},"properties":{"type":{"const":"upgrade-wallet","description":"The type of transaction to execute","type":"string","isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.params.transaction.oneOf.2","typeLabel":"Stellar upgrade wallet transaction · object"}],"isRequired":true,"uniqueKey":"oneOf.2.params.transaction","typeLabel":"Stellar migrate wallet transaction · object | Stellar contract call transaction parameters · object | Stellar upgrade wallet transaction · object"},"approvingMembers":{"description":"When `signer` is a quorum, the members designated to approve: exactly `threshold` distinct member locators. Validated on Stellar, where any `threshold` members may approve.","items":{"description":"A signer locator that can be either a of format '\u003csignerAddress>' for external wallet type signers or '\u003csignerType>:\u003csignerIdentifier>'","examples":["passkey:cWtP7gmZbd98HbKUuGXx5Q","api-key:123456789","external-wallet:0x1234567890123456789012345678901234567890","server:0x1234567890123456789012345678901234567890","email:test@example.com","phone:+1234567890","device:BIVmCqMz8QJB+se2kJEpGQ...","quorum:123e4567-e89b-12d3-a456-426614174000"],"title":"Signer Locator","type":"string","uniqueKey":"oneOf.2.params.approvingMembers.items.[INDEX]","typeLabel":"string"},"type":"array","uniqueKey":"oneOf.2.params.approvingMembers","typeLabel":"string[]"},"signer":{"description":"The locator for the signer who will submit this transaction. Defaults to the admin signer.","examples":["passkey:cWtP7gmZbd98HbKUuGXx5Q","api-key:123456789","external-wallet:0x1234567890123456789012345678901234567890","server:0x1234567890123456789012345678901234567890","email:test@example.com","phone:+1234567890","device:BIVmCqMz8QJB+se2kJEpGQ...","quorum:123e4567-e89b-12d3-a456-426614174000"],"title":"Signer Locator","type":"string","uniqueKey":"oneOf.2.params.signer","typeLabel":"string"}},"required":["transaction"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.params","typeLabel":"object"},"status":{"description":"Current status of the transaction","enum":["awaiting-approval","failed","pending","success"],"type":"string","isRequired":true,"uniqueKey":"oneOf.2.status","typeLabel":"enum\u003cstring>"},"walletType":{"description":"The wallet type (smart or mpc)","enum":["mpc","smart"],"type":"string","isRequired":true,"uniqueKey":"oneOf.2.walletType","typeLabel":"enum\u003cstring>"},"approvals":{"description":"Complete approval data including requirements, pending and submitted signatures","properties":{"pending":{"description":"List of pending signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signer"],"properties":{"message":{"description":"The message that needs to be signed","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object that's pending approval","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object that's pending approval","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"}},"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.2.approvals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.approvals.pending","typeLabel":"object[]"},"submitted":{"description":"Record of all submitted signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signature","signer","submittedAt"],"properties":{"message":{"description":"The message that was signed","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signature","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object who submitted this signature","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object who submitted this signature","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"submittedAt":{"oneOf":[{"type":"number","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.submittedAt","typeLabel":"number | string"},"metadata":{"description":"Additional metadata about the signature submission","properties":{"deviceInfo":{"type":"string","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.metadata.deviceInfo","typeLabel":"string"},"ipAddress":{"type":"string","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.metadata.ipAddress","typeLabel":"string"},"userAgent":{"type":"string","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.metadata.userAgent","typeLabel":"string"}},"type":"object","uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1.metadata","typeLabel":"object"}},"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.2.approvals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.approvals.submitted","typeLabel":"object[]"},"required":{"description":"Number of required approvals for the transaction","type":"number","uniqueKey":"oneOf.2.approvals.required","typeLabel":"number"}},"required":["pending","submitted"],"type":"object","uniqueKey":"oneOf.2.approvals","typeLabel":"object"},"completedAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.2.completedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.2.completedAt.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.2.completedAt","typeLabel":"number | string"},"error":{"oneOf":[{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.0.message","typeLabel":"string"},"reason":{"const":"program_error","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.0.reason","typeLabel":"string"},"logs":{"oneOf":[{}],"uniqueKey":"oneOf.2.error.oneOf.0.logs","typeLabel":"any"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.2.error.oneOf.0.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.2.error.oneOf.0.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.2.error.oneOf.0","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.1.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","const":"build_failed","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.1.reason.oneOf.0","typeLabel":"string"},{"type":"string","const":"failed_to_land_on_chain","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.1.reason.oneOf.1","typeLabel":"string"},{"type":"string","const":"sanctioned_wallet_address","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.1.reason.oneOf.2","typeLabel":"string"},{"type":"string","const":"unknown","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.1.reason.oneOf.3","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.1.reason","typeLabel":"string"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.2.error.oneOf.1.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.2.error.oneOf.1.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.2.error.oneOf.1","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.message","typeLabel":"string"},"reason":{"const":"execution_reverted","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.reason","typeLabel":"string"},"revert":{"properties":{"reason":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.reason","typeLabel":"string"},"type":{"oneOf":[{"type":"string","const":"contract_call","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.type.oneOf.0","typeLabel":"string"},{"type":"string","const":"wallet_authorization","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.type.oneOf.1","typeLabel":"string"},{"type":"string","const":"wallet_deployment","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.type.oneOf.2","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.type","typeLabel":"string"},"debug":{"description":"Structured debugging information for the revert","examples":[{"blockNumber":"38104211","call":{"args":[{"name":"to","type":"address","value":"0x9999999999999999999999999999999999999999"},{"name":"amount","type":"uint256","value":"1000000"}],"function":"transfer(address,uint256)","index":1,"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0"},"chain":"base","details":{"available":"500000","code":"insufficient_erc20_balance","required":"1000000","symbol":"USDC","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":"Wallet holds 0.5 USDC but the transfer requires 1 USDC","retryable":true,"revert":{"args":[{"type":"address","value":"0x1234567890abcdef1234567890abcdef1234abcd"},{"type":"uint256","value":"500000"},{"type":"uint256","value":"1000000"}],"name":"ERC20InsufficientBalance","selector":"0xe450d38c","signature":"ERC20InsufficientBalance(address,uint256,uint256)"}}],"properties":{"blockNumber":{"description":"Block the failure was observed at; replay with eth_call / debug_traceCall","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.blockNumber","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.chain","typeLabel":"string"},"details":{"oneOf":[{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","spender","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.0.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_allowance","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.0.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.0.required","typeLabel":"string"},"spender":{"description":"Address that needs the approval","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.0.spender","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.0.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.0.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.0","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.1.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.1.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.1.required","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.1.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.1.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.1","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.2.available","typeLabel":"string"},"code":{"const":"insufficient_native_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.2.code","typeLabel":"string"},"required":{"description":"Wei needed to cover value plus gas","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.2.required","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.2","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","entryPointCode","entryPointMessage"],"properties":{"code":{"const":"account_abstraction","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.3.code","typeLabel":"string"},"entryPointCode":{"description":"ERC-4337 EntryPoint code, e.g. `AA21`","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.3.entryPointCode","typeLabel":"string"},"entryPointMessage":{"description":"EntryPoint's own message, e.g. `didn't pay prefund`","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.3.entryPointMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.3","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"contract_revert","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.4.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.4","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","gasLimit"],"properties":{"code":{"const":"out_of_gas","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.5.code","typeLabel":"string"},"gasLimit":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.5.gasLimit","typeLabel":"string"},"gasUsed":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.5.gasUsed","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.5","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"unknown","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.6.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.details","typeLabel":"object"},"message":{"description":"Human-readable summary of `details`","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.message","typeLabel":"string"},"retryable":{"description":"True when the same transaction can succeed after the caller fixes state (funds, allowance, gas)","type":"boolean","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.retryable","typeLabel":"boolean"},"revert":{"description":"Raw revert as returned by the chain, decoded when the error is known","properties":{"args":{"description":"Positional decoded error arguments; empty when undecoded","items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.args","typeLabel":"object[]"},"name":{"type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.name","typeLabel":"string"},"selector":{"description":"4-byte error selector; absent when the revert carried no data","pattern":"^0x[0-9a-fA-F]{8}$","type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.selector","typeLabel":"string"},"signature":{"type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert.signature","typeLabel":"string"}},"required":["args"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.revert","typeLabel":"object"},"call":{"description":"The call in the batch that reverted; absent when the failure cannot be attributed to a call","properties":{"args":{"items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.args","typeLabel":"object[]"},"index":{"description":"Index of the call within the transaction's batch","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.index","typeLabel":"integer"},"to":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.to","typeLabel":"string"},"value":{"description":"Native value sent with the call, in wei","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.value","typeLabel":"string"},"function":{"description":"Function signature, e.g. `transfer(address,uint256)`","type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call.function","typeLabel":"string"}},"required":["args","index","to","value"],"type":"object","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug.call","typeLabel":"object"}},"required":["blockNumber","chain","details","message","retryable","revert"],"type":"object","uniqueKey":"oneOf.2.error.oneOf.2.revert.debug","typeLabel":"object"},"explorerLink":{"type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.explorerLink","typeLabel":"string"},"reasonData":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.2.error.oneOf.2.revert.reasonData.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"oneOf.2.error.oneOf.2.revert.reasonData.oneOf.0","typeLabel":"object"},{"type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.reasonData.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.2.error.oneOf.2.revert.reasonData","typeLabel":"object | string"},"simulationLink":{"description":"Deprecated: no longer populated. Kept for backwards compatibility with previously failed transactions.","type":"string","uniqueKey":"oneOf.2.error.oneOf.2.revert.simulationLink","typeLabel":"string"}},"required":["reason","type"],"type":"object","uniqueKey":"oneOf.2.error.oneOf.2.revert","typeLabel":"object"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.2.error.oneOf.2.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.2.error.oneOf.2.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.2.error.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.2.error","typeLabel":"object"},"fees":{"description":"Transaction fee information including actual transaction fees, billed amounts, and billing status","properties":{"mode":{"enum":["project","user-fungible","user-native"],"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.mode","typeLabel":"enum\u003cstring>"},"actual":{"oneOf":[{}],"uniqueKey":"oneOf.2.fees.actual","typeLabel":"any"},"billed":{"properties":{"usd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.2.fees.billed.usd","typeLabel":"number"}},"required":["usd"],"type":"object","uniqueKey":"oneOf.2.fees.billed","typeLabel":"object"},"billing":{"properties":{"status":{"enum":["failed","pending","settled"],"type":"string","isRequired":true,"uniqueKey":"oneOf.2.fees.billing.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"type":"object","uniqueKey":"oneOf.2.fees.billing","typeLabel":"object"},"estimate":{"oneOf":[{}],"uniqueKey":"oneOf.2.fees.estimate","typeLabel":"any"}},"required":["mode"],"type":"object","uniqueKey":"oneOf.2.fees","typeLabel":"object"},"sendParams":{"properties":{"params":{"description":"The parameters for the send token transaction","properties":{"recipient":{"description":"The recipient locator for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.2.sendParams.params.recipient","typeLabel":"string"},"recipientAddress":{"description":"The recipient address for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.2.sendParams.params.recipientAddress","typeLabel":"string"},"amount":{"description":"The amount of the token to send","type":"string","uniqueKey":"oneOf.2.sendParams.params.amount","typeLabel":"string"}},"required":["recipient","recipientAddress"],"type":"object","isRequired":true,"uniqueKey":"oneOf.2.sendParams.params","typeLabel":"object"},"token":{"description":"The token locator that's being sent","type":"string","isRequired":true,"uniqueKey":"oneOf.2.sendParams.token","typeLabel":"string"}},"required":["params","token"],"type":"object","uniqueKey":"oneOf.2.sendParams","typeLabel":"object"}},"uniqueKey":"oneOf.2","typeLabel":"Stellar Smart Wallet · object"},{"type":"object","title":"Solana Smart Wallet","description":"Complete transaction response including status, signing requirements, and wallet type specific data","required":["chainType","createdAt","id","onChain","params","status","walletType"],"properties":{"chainType":{"description":"The blockchain type of the wallet","enum":["aptos","evm","solana","stellar","sui"],"type":"string","isRequired":true,"uniqueKey":"oneOf.3.chainType","typeLabel":"enum\u003cstring>"},"createdAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.3.createdAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.3.createdAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.3.createdAt","typeLabel":"number | string"},"id":{"description":"Unique identifier for the transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.3.id","typeLabel":"string"},"onChain":{"properties":{"transaction":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.onChain.transaction","typeLabel":"string"},"explorerLink":{"type":"string","uniqueKey":"oneOf.3.onChain.explorerLink","typeLabel":"string"},"lastValidBlockHeight":{"type":"number","uniqueKey":"oneOf.3.onChain.lastValidBlockHeight","typeLabel":"number"},"proxiedTxId":{"type":"string","uniqueKey":"oneOf.3.onChain.proxiedTxId","typeLabel":"string"},"txId":{"type":"string","uniqueKey":"oneOf.3.onChain.txId","typeLabel":"string"}},"required":["transaction"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.onChain","typeLabel":"object"},"params":{"properties":{"feeConfig":{"oneOf":[{"type":"object","required":["amount","feePayer"],"properties":{"amount":{"description":"The amount of the fee","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig.oneOf.0.amount","typeLabel":"string"},"feePayer":{"const":"crossmint","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig.oneOf.0.feePayer","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig.oneOf.0","typeLabel":"object"},{"type":"object","required":["amount","feePayer","token"],"properties":{"amount":{"description":"The amount of the fee","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig.oneOf.1.amount","typeLabel":"string"},"feePayer":{"description":"The address that will pay for the transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig.oneOf.1.feePayer","typeLabel":"string"},"token":{"description":"The token to use for the fee","enum":["sol","usdc","usdt"],"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig.oneOf.1.token","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig.oneOf.1","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.params.feeConfig","typeLabel":"object"},"transaction":{"description":"Base58 encoded serialized Solana transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.transaction","typeLabel":"string"},"requiredSigners":{"description":"Optional array of additional full signer objects required for the transaction","items":{"oneOf":[{"type":"object","title":"API Key Signer","description":"Full signer object","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"Full signer object","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.1.name","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"Full signer object","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.2.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"Full signer object","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.3.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"Full signer object","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.4.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"Full signer object","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.5.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","description":"Full signer object","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.6.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX].oneOf.6","typeLabel":"object"}],"uniqueKey":"oneOf.3.params.requiredSigners.items.[INDEX]","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"type":"array","uniqueKey":"oneOf.3.params.requiredSigners","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object[]"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.0.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.params.signer.oneOf.1.name","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.2.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.3.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.4.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.5.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.6.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.6","typeLabel":"object"},{"type":"object","title":"Quorum Signer Reference","description":"The full signer object who will submit this transaction. Defaults to the admin signer.","required":["locator","type"],"properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.7.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.3.params.signer.oneOf.7.type","typeLabel":"string"}},"uniqueKey":"oneOf.3.params.signer.oneOf.7","typeLabel":"Quorum Signer Reference · object"}],"uniqueKey":"oneOf.3.params.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object · Quorum Signer Reference · object"}},"required":["feeConfig","transaction"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.params","typeLabel":"object"},"status":{"description":"Current status of the transaction","enum":["awaiting-approval","failed","pending","success"],"type":"string","isRequired":true,"uniqueKey":"oneOf.3.status","typeLabel":"enum\u003cstring>"},"walletType":{"description":"The wallet type (smart or mpc)","enum":["mpc","smart"],"type":"string","isRequired":true,"uniqueKey":"oneOf.3.walletType","typeLabel":"enum\u003cstring>"},"approvals":{"description":"Complete approval data including requirements, pending and submitted signatures","properties":{"pending":{"description":"List of pending signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signer"],"properties":{"message":{"description":"The message that needs to be signed","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object that's pending approval","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object that's pending approval","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"}},"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.3.approvals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.approvals.pending","typeLabel":"object[]"},"submitted":{"description":"Record of all submitted signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signature","signer","submittedAt"],"properties":{"message":{"description":"The message that was signed","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signature","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object who submitted this signature","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object who submitted this signature","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"submittedAt":{"oneOf":[{"type":"number","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.submittedAt","typeLabel":"number | string"},"metadata":{"description":"Additional metadata about the signature submission","properties":{"deviceInfo":{"type":"string","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.metadata.deviceInfo","typeLabel":"string"},"ipAddress":{"type":"string","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.metadata.ipAddress","typeLabel":"string"},"userAgent":{"type":"string","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.metadata.userAgent","typeLabel":"string"}},"type":"object","uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1.metadata","typeLabel":"object"}},"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.3.approvals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.approvals.submitted","typeLabel":"object[]"},"required":{"description":"Number of required approvals for the transaction","type":"number","uniqueKey":"oneOf.3.approvals.required","typeLabel":"number"}},"required":["pending","submitted"],"type":"object","uniqueKey":"oneOf.3.approvals","typeLabel":"object"},"completedAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.3.completedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.3.completedAt.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.3.completedAt","typeLabel":"number | string"},"error":{"oneOf":[{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.0.message","typeLabel":"string"},"reason":{"const":"program_error","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.0.reason","typeLabel":"string"},"logs":{"oneOf":[{}],"uniqueKey":"oneOf.3.error.oneOf.0.logs","typeLabel":"any"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.3.error.oneOf.0.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.3.error.oneOf.0.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.3.error.oneOf.0","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.1.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","const":"build_failed","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.1.reason.oneOf.0","typeLabel":"string"},{"type":"string","const":"failed_to_land_on_chain","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.1.reason.oneOf.1","typeLabel":"string"},{"type":"string","const":"sanctioned_wallet_address","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.1.reason.oneOf.2","typeLabel":"string"},{"type":"string","const":"unknown","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.1.reason.oneOf.3","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.1.reason","typeLabel":"string"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.3.error.oneOf.1.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.3.error.oneOf.1.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.3.error.oneOf.1","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.message","typeLabel":"string"},"reason":{"const":"execution_reverted","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.reason","typeLabel":"string"},"revert":{"properties":{"reason":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.reason","typeLabel":"string"},"type":{"oneOf":[{"type":"string","const":"contract_call","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.type.oneOf.0","typeLabel":"string"},{"type":"string","const":"wallet_authorization","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.type.oneOf.1","typeLabel":"string"},{"type":"string","const":"wallet_deployment","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.type.oneOf.2","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.type","typeLabel":"string"},"debug":{"description":"Structured debugging information for the revert","examples":[{"blockNumber":"38104211","call":{"args":[{"name":"to","type":"address","value":"0x9999999999999999999999999999999999999999"},{"name":"amount","type":"uint256","value":"1000000"}],"function":"transfer(address,uint256)","index":1,"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0"},"chain":"base","details":{"available":"500000","code":"insufficient_erc20_balance","required":"1000000","symbol":"USDC","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":"Wallet holds 0.5 USDC but the transfer requires 1 USDC","retryable":true,"revert":{"args":[{"type":"address","value":"0x1234567890abcdef1234567890abcdef1234abcd"},{"type":"uint256","value":"500000"},{"type":"uint256","value":"1000000"}],"name":"ERC20InsufficientBalance","selector":"0xe450d38c","signature":"ERC20InsufficientBalance(address,uint256,uint256)"}}],"properties":{"blockNumber":{"description":"Block the failure was observed at; replay with eth_call / debug_traceCall","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.blockNumber","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.chain","typeLabel":"string"},"details":{"oneOf":[{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","spender","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.0.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_allowance","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.0.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.0.required","typeLabel":"string"},"spender":{"description":"Address that needs the approval","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.0.spender","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.0.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.0.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.0","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.1.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.1.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.1.required","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.1.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.1.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.1","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.2.available","typeLabel":"string"},"code":{"const":"insufficient_native_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.2.code","typeLabel":"string"},"required":{"description":"Wei needed to cover value plus gas","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.2.required","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.2","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","entryPointCode","entryPointMessage"],"properties":{"code":{"const":"account_abstraction","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.3.code","typeLabel":"string"},"entryPointCode":{"description":"ERC-4337 EntryPoint code, e.g. `AA21`","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.3.entryPointCode","typeLabel":"string"},"entryPointMessage":{"description":"EntryPoint's own message, e.g. `didn't pay prefund`","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.3.entryPointMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.3","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"contract_revert","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.4.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.4","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","gasLimit"],"properties":{"code":{"const":"out_of_gas","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.5.code","typeLabel":"string"},"gasLimit":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.5.gasLimit","typeLabel":"string"},"gasUsed":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.5.gasUsed","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.5","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"unknown","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.6.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.details","typeLabel":"object"},"message":{"description":"Human-readable summary of `details`","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.message","typeLabel":"string"},"retryable":{"description":"True when the same transaction can succeed after the caller fixes state (funds, allowance, gas)","type":"boolean","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.retryable","typeLabel":"boolean"},"revert":{"description":"Raw revert as returned by the chain, decoded when the error is known","properties":{"args":{"description":"Positional decoded error arguments; empty when undecoded","items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.args","typeLabel":"object[]"},"name":{"type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.name","typeLabel":"string"},"selector":{"description":"4-byte error selector; absent when the revert carried no data","pattern":"^0x[0-9a-fA-F]{8}$","type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.selector","typeLabel":"string"},"signature":{"type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert.signature","typeLabel":"string"}},"required":["args"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.revert","typeLabel":"object"},"call":{"description":"The call in the batch that reverted; absent when the failure cannot be attributed to a call","properties":{"args":{"items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.args","typeLabel":"object[]"},"index":{"description":"Index of the call within the transaction's batch","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.index","typeLabel":"integer"},"to":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.to","typeLabel":"string"},"value":{"description":"Native value sent with the call, in wei","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.value","typeLabel":"string"},"function":{"description":"Function signature, e.g. `transfer(address,uint256)`","type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call.function","typeLabel":"string"}},"required":["args","index","to","value"],"type":"object","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug.call","typeLabel":"object"}},"required":["blockNumber","chain","details","message","retryable","revert"],"type":"object","uniqueKey":"oneOf.3.error.oneOf.2.revert.debug","typeLabel":"object"},"explorerLink":{"type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.explorerLink","typeLabel":"string"},"reasonData":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.3.error.oneOf.2.revert.reasonData.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"oneOf.3.error.oneOf.2.revert.reasonData.oneOf.0","typeLabel":"object"},{"type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.reasonData.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.3.error.oneOf.2.revert.reasonData","typeLabel":"object | string"},"simulationLink":{"description":"Deprecated: no longer populated. Kept for backwards compatibility with previously failed transactions.","type":"string","uniqueKey":"oneOf.3.error.oneOf.2.revert.simulationLink","typeLabel":"string"}},"required":["reason","type"],"type":"object","uniqueKey":"oneOf.3.error.oneOf.2.revert","typeLabel":"object"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.3.error.oneOf.2.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.3.error.oneOf.2.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.3.error.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.3.error","typeLabel":"object"},"fees":{"description":"Transaction fee information including actual transaction fees, billed amounts, and billing status","properties":{"mode":{"enum":["project","user-fungible","user-native"],"type":"string","isRequired":true,"uniqueKey":"oneOf.3.fees.mode","typeLabel":"enum\u003cstring>"},"actual":{"oneOf":[{}],"uniqueKey":"oneOf.3.fees.actual","typeLabel":"any"},"billed":{"properties":{"usd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.3.fees.billed.usd","typeLabel":"number"}},"required":["usd"],"type":"object","uniqueKey":"oneOf.3.fees.billed","typeLabel":"object"},"billing":{"properties":{"status":{"enum":["failed","pending","settled"],"type":"string","isRequired":true,"uniqueKey":"oneOf.3.fees.billing.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"type":"object","uniqueKey":"oneOf.3.fees.billing","typeLabel":"object"},"estimate":{"oneOf":[{}],"uniqueKey":"oneOf.3.fees.estimate","typeLabel":"any"}},"required":["mode"],"type":"object","uniqueKey":"oneOf.3.fees","typeLabel":"object"},"sendParams":{"properties":{"params":{"description":"The parameters for the send token transaction","properties":{"recipient":{"description":"The recipient locator for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.3.sendParams.params.recipient","typeLabel":"string"},"recipientAddress":{"description":"The recipient address for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.3.sendParams.params.recipientAddress","typeLabel":"string"},"amount":{"description":"The amount of the token to send","type":"string","uniqueKey":"oneOf.3.sendParams.params.amount","typeLabel":"string"}},"required":["recipient","recipientAddress"],"type":"object","isRequired":true,"uniqueKey":"oneOf.3.sendParams.params","typeLabel":"object"},"token":{"description":"The token locator that's being sent","type":"string","isRequired":true,"uniqueKey":"oneOf.3.sendParams.token","typeLabel":"string"}},"required":["params","token"],"type":"object","uniqueKey":"oneOf.3.sendParams","typeLabel":"object"}},"uniqueKey":"oneOf.3","typeLabel":"Solana Smart Wallet · object"},{"type":"object","title":"Solana MPC Wallet","description":"Complete transaction response including status, signing requirements, and wallet type specific data","required":["chainType","createdAt","id","onChain","params","status","walletType"],"properties":{"chainType":{"description":"The blockchain type of the wallet","enum":["aptos","evm","solana","stellar","sui"],"type":"string","isRequired":true,"uniqueKey":"oneOf.4.chainType","typeLabel":"enum\u003cstring>"},"createdAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.4.createdAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction was created","isRequired":true,"uniqueKey":"oneOf.4.createdAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.4.createdAt","typeLabel":"number | string"},"id":{"description":"Unique identifier for the transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.4.id","typeLabel":"string"},"onChain":{"properties":{"transaction":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.onChain.transaction","typeLabel":"string"},"explorerLink":{"type":"string","uniqueKey":"oneOf.4.onChain.explorerLink","typeLabel":"string"},"lastValidBlockHeight":{"type":"number","uniqueKey":"oneOf.4.onChain.lastValidBlockHeight","typeLabel":"number"},"proxiedTxId":{"type":"string","uniqueKey":"oneOf.4.onChain.proxiedTxId","typeLabel":"string"},"txId":{"type":"string","uniqueKey":"oneOf.4.onChain.txId","typeLabel":"string"}},"required":["transaction"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.onChain","typeLabel":"object"},"params":{"properties":{"transaction":{"description":"Base58 encoded serialized Solana transaction","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.transaction","typeLabel":"string"},"requiredSigners":{"description":"Optional array of additional full signer objects required for the transaction","items":{"oneOf":[{"type":"object","title":"API Key Signer","description":"Full signer object","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.0.type","typeLabel":"string"}},"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"Full signer object","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.1.name","typeLabel":"string"}},"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"Full signer object","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.2.type","typeLabel":"string"}},"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"Full signer object","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.3.type","typeLabel":"string"}},"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"Full signer object","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.4.type","typeLabel":"string"}},"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.4","typeLabel":"object"},{"type":"object","description":"Full signer object","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.5.type","typeLabel":"string"}},"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.5","typeLabel":"object"},{"type":"object","description":"Full signer object","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.6.type","typeLabel":"string"}},"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX].oneOf.6","typeLabel":"object"}],"uniqueKey":"oneOf.4.params.requiredSigners.items.[INDEX]","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"type":"array","uniqueKey":"oneOf.4.params.requiredSigners","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object[]"}},"required":["transaction"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.params","typeLabel":"object"},"status":{"description":"Current status of the transaction","enum":["awaiting-approval","failed","pending","success"],"type":"string","isRequired":true,"uniqueKey":"oneOf.4.status","typeLabel":"enum\u003cstring>"},"walletType":{"description":"The wallet type (smart or mpc)","enum":["mpc","smart"],"type":"string","isRequired":true,"uniqueKey":"oneOf.4.walletType","typeLabel":"enum\u003cstring>"},"approvals":{"description":"Complete approval data including requirements, pending and submitted signatures","properties":{"pending":{"description":"List of pending signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signer"],"properties":{"message":{"description":"The message that needs to be signed","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object that's pending approval","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object that's pending approval","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object that's pending approval","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object that's pending approval","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"}},"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.4.approvals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.approvals.pending","typeLabel":"object[]"},"submitted":{"description":"Record of all submitted signatures","items":{"oneOf":[{"type":"object","description":"Approval entry for a quorum (multisig) admin signer","required":["quorumApprovals","signer"],"properties":{"quorumApprovals":{"description":"Per-member progress of an m-of-n quorum signer","properties":{"pending":{"description":"Quorum members that have not yet submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member that has not approved yet, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member that has not approved yet, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member that has not approved yet, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member needs to sign","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX].message","typeLabel":"string"}},"required":["member","message"],"type":"object","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.pending","typeLabel":"object[]"},"remaining":{"description":"Number of member approvals still outstanding to reach the threshold","type":"number","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.remaining","typeLabel":"number"},"submitted":{"description":"Quorum members that have already submitted","items":{"properties":{"member":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The quorum member who submitted this signature, under its own locator","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The quorum member who submitted this signature, under its own locator","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.4","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.5","typeLabel":"object"},{"type":"object","description":"The quorum member who submitted this signature, under its own locator","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].member","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"message":{"description":"The message that this member signed","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].signature","typeLabel":"string"},"submittedAt":{"oneOf":[{"type":"number","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the member signature was submitted","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX].submittedAt","typeLabel":"number | string"}},"required":["member","message","signature","submittedAt"],"type":"object","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.submitted","typeLabel":"object[]"},"threshold":{"description":"Number of member approvals required to satisfy the quorum","type":"number","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals.threshold","typeLabel":"number"}},"required":["pending","remaining","submitted","threshold"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.quorumApprovals","typeLabel":"object"},"signer":{"description":"The quorum signer this approval entry belongs to","properties":{"locator":{"description":"The `quorum:\u003cid>` locator of the quorum signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.signer.locator","typeLabel":"string"},"type":{"const":"quorum","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.signer.type","typeLabel":"string"}},"required":["locator","type"],"title":"Quorum Signer Reference","type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0.signer","typeLabel":"Quorum Signer Reference · object"}},"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.0","typeLabel":"object"},{"type":"object","required":["message","signature","signer","submittedAt"],"properties":{"message":{"description":"The message that was signed","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.message","typeLabel":"string"},"signature":{"description":"The cryptographic signature","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signature","typeLabel":"string"},"signer":{"oneOf":[{"type":"object","title":"API Key Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the api key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.address","typeLabel":"string"},"locator":{"description":"The locator of the api key signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.locator","typeLabel":"string"},"type":{"const":"api-key","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.0","typeLabel":"API Key Signer · object"},{"type":"object","title":"Device Signer","description":"The full signer object who submitted this signature","required":["locator","publicKey","type"],"properties":{"locator":{"description":"The locator of the device signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.locator","typeLabel":"string"},"publicKey":{"description":"The p256 public key of the device signer","properties":{"x":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.x","typeLabel":"string"},"y":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey.y","typeLabel":"string"}},"required":["x","y"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.publicKey","typeLabel":"object"},"type":{"const":"device","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.type","typeLabel":"string"},"name":{"description":"Optional human-readable name for the device signer","type":"string","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1.name","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.1","typeLabel":"Device Signer · object"},{"type":"object","title":"External Wallet Signer","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"description":"The address of the external wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.address","typeLabel":"string"},"locator":{"description":"The locator of the external wallet signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.locator","typeLabel":"string"},"type":{"const":"external-wallet","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.2","typeLabel":"External Wallet Signer · object"},{"type":"object","title":"Passkey Signer","description":"The full signer object who submitted this signature","required":["id","locator","type"],"properties":{"id":{"description":"The ID of the passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.id","typeLabel":"string"},"locator":{"description":"The locator of the passkey signer","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.locator","typeLabel":"string"},"type":{"const":"passkey","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.3","typeLabel":"Passkey Signer · object"},{"type":"object","description":"The full signer object who submitted this signature","required":["address","locator","type"],"properties":{"address":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.address","typeLabel":"string"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.locator","typeLabel":"string"},"type":{"const":"server","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.4","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["email","locator","type"],"properties":{"email":{"format":"email","pattern":"^(?!\\.)(?!.*\\.\\.)([A-Za-z0-9_'+\\-\\.]*)[A-Za-z0-9_+-]@([A-Za-z0-9][A-Za-z0-9\\-]*\\.)+[A-Za-z]{2,}$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.email","typeLabel":"string\u003cemail>"},"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.locator","typeLabel":"string"},"type":{"const":"email","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.5","typeLabel":"object"},{"type":"object","description":"The full signer object who submitted this signature","required":["locator","phone","type"],"properties":{"locator":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.locator","typeLabel":"string"},"phone":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.phone","typeLabel":"string"},"type":{"const":"phone","type":"string","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6.type","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.signer","typeLabel":"API Key Signer · object · Device Signer · object · External Wallet Signer · object · Passkey Signer · object · object · object · object"},"submittedAt":{"oneOf":[{"type":"number","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"When the signature was submitted","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.submittedAt.oneOf.1","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.submittedAt","typeLabel":"number | string"},"metadata":{"description":"Additional metadata about the signature submission","properties":{"deviceInfo":{"type":"string","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.metadata.deviceInfo","typeLabel":"string"},"ipAddress":{"type":"string","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.metadata.ipAddress","typeLabel":"string"},"userAgent":{"type":"string","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.metadata.userAgent","typeLabel":"string"}},"type":"object","uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1.metadata","typeLabel":"object"}},"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX].oneOf.1","typeLabel":"object"}],"uniqueKey":"oneOf.4.approvals.submitted.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.approvals.submitted","typeLabel":"object[]"},"required":{"description":"Number of required approvals for the transaction","type":"number","uniqueKey":"oneOf.4.approvals.required","typeLabel":"number"}},"required":["pending","submitted"],"type":"object","uniqueKey":"oneOf.4.approvals","typeLabel":"object"},"completedAt":{"oneOf":[{"type":"number","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.4.completedAt.oneOf.0","typeLabel":"number"},{"type":"string","description":"ISO timestamp when the transaction reached finality","uniqueKey":"oneOf.4.completedAt.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.4.completedAt","typeLabel":"number | string"},"error":{"oneOf":[{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.0.message","typeLabel":"string"},"reason":{"const":"program_error","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.0.reason","typeLabel":"string"},"logs":{"oneOf":[{}],"uniqueKey":"oneOf.4.error.oneOf.0.logs","typeLabel":"any"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.4.error.oneOf.0.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.4.error.oneOf.0.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.4.error.oneOf.0","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.1.message","typeLabel":"string"},"reason":{"oneOf":[{"type":"string","const":"build_failed","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.1.reason.oneOf.0","typeLabel":"string"},{"type":"string","const":"failed_to_land_on_chain","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.1.reason.oneOf.1","typeLabel":"string"},{"type":"string","const":"sanctioned_wallet_address","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.1.reason.oneOf.2","typeLabel":"string"},{"type":"string","const":"unknown","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.1.reason.oneOf.3","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.1.reason","typeLabel":"string"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.4.error.oneOf.1.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.4.error.oneOf.1.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.4.error.oneOf.1","typeLabel":"object"},{"type":"object","description":"Error message if the transaction fails after submission","required":["message","reason"],"properties":{"message":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.message","typeLabel":"string"},"reason":{"const":"execution_reverted","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.reason","typeLabel":"string"},"revert":{"properties":{"reason":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.reason","typeLabel":"string"},"type":{"oneOf":[{"type":"string","const":"contract_call","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.type.oneOf.0","typeLabel":"string"},{"type":"string","const":"wallet_authorization","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.type.oneOf.1","typeLabel":"string"},{"type":"string","const":"wallet_deployment","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.type.oneOf.2","typeLabel":"string"}],"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.type","typeLabel":"string"},"debug":{"description":"Structured debugging information for the revert","examples":[{"blockNumber":"38104211","call":{"args":[{"name":"to","type":"address","value":"0x9999999999999999999999999999999999999999"},{"name":"amount","type":"uint256","value":"1000000"}],"function":"transfer(address,uint256)","index":1,"to":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913","value":"0"},"chain":"base","details":{"available":"500000","code":"insufficient_erc20_balance","required":"1000000","symbol":"USDC","token":"0x833589fcd6edb6e08f4c7c32d4f71b54bda02913"},"message":"Wallet holds 0.5 USDC but the transfer requires 1 USDC","retryable":true,"revert":{"args":[{"type":"address","value":"0x1234567890abcdef1234567890abcdef1234abcd"},{"type":"uint256","value":"500000"},{"type":"uint256","value":"1000000"}],"name":"ERC20InsufficientBalance","selector":"0xe450d38c","signature":"ERC20InsufficientBalance(address,uint256,uint256)"}}],"properties":{"blockNumber":{"description":"Block the failure was observed at; replay with eth_call / debug_traceCall","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.blockNumber","typeLabel":"string"},"chain":{"type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.chain","typeLabel":"string"},"details":{"oneOf":[{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","spender","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.0.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_allowance","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.0.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.0.required","typeLabel":"string"},"spender":{"description":"Address that needs the approval","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.0.spender","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.0.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.0.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.0","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required","token"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.1.available","typeLabel":"string"},"code":{"const":"insufficient_erc20_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.1.code","typeLabel":"string"},"required":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.1.required","typeLabel":"string"},"token":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.1.token","typeLabel":"string"},"symbol":{"type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.1.symbol","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.1","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["available","code","required"],"properties":{"available":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.2.available","typeLabel":"string"},"code":{"const":"insufficient_native_balance","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.2.code","typeLabel":"string"},"required":{"description":"Wei needed to cover value plus gas","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.2.required","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.2","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","entryPointCode","entryPointMessage"],"properties":{"code":{"const":"account_abstraction","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.3.code","typeLabel":"string"},"entryPointCode":{"description":"ERC-4337 EntryPoint code, e.g. `AA21`","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.3.entryPointCode","typeLabel":"string"},"entryPointMessage":{"description":"EntryPoint's own message, e.g. `didn't pay prefund`","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.3.entryPointMessage","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.3","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"contract_revert","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.4.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.4","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code","gasLimit"],"properties":{"code":{"const":"out_of_gas","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.5.code","typeLabel":"string"},"gasLimit":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.5.gasLimit","typeLabel":"string"},"gasUsed":{"description":"Unsigned integer encoded as a decimal string","pattern":"^\\d+$","type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.5.gasUsed","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.5","typeLabel":"object"},{"type":"object","description":"Classified root cause. Branch on `code`: `insufficient_*` and `out_of_gas` are fixable by the caller, `account_abstraction` is an EntryPoint rejection (see `entryPointCode`), `contract_revert` is a decoded revert with no further classification (see `revert`), `unknown` means no revert data was available","required":["code"],"properties":{"code":{"const":"unknown","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.6.code","typeLabel":"string"}},"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details.oneOf.6","typeLabel":"object"}],"isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.details","typeLabel":"object"},"message":{"description":"Human-readable summary of `details`","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.message","typeLabel":"string"},"retryable":{"description":"True when the same transaction can succeed after the caller fixes state (funds, allowance, gas)","type":"boolean","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.retryable","typeLabel":"boolean"},"revert":{"description":"Raw revert as returned by the chain, decoded when the error is known","properties":{"args":{"description":"Positional decoded error arguments; empty when undecoded","items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.args","typeLabel":"object[]"},"name":{"type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.name","typeLabel":"string"},"selector":{"description":"4-byte error selector; absent when the revert carried no data","pattern":"^0x[0-9a-fA-F]{8}$","type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.selector","typeLabel":"string"},"signature":{"type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert.signature","typeLabel":"string"}},"required":["args"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.revert","typeLabel":"object"},"call":{"description":"The call in the batch that reverted; absent when the failure cannot be attributed to a call","properties":{"args":{"items":{"properties":{"type":{"description":"Solidity type, e.g. `address` or `uint256`","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.args.items.[INDEX].type","typeLabel":"string"},"value":{"description":"Decoded value; bigints as decimal strings","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.args.items.[INDEX].value","typeLabel":"string"},"name":{"description":"Parameter name; only set when the ABI came from the request","type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.args.items.[INDEX].name","typeLabel":"string"}},"required":["type","value"],"type":"object","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.args.items.[INDEX]","typeLabel":"object"},"type":"array","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.args","typeLabel":"object[]"},"index":{"description":"Index of the call within the transaction's batch","maximum":9007199254740991,"minimum":-9007199254740991,"type":"integer","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.index","typeLabel":"integer"},"to":{"description":"An EVM address string","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.to","typeLabel":"string"},"value":{"description":"Native value sent with the call, in wei","pattern":"^\\d+$","type":"string","isRequired":true,"uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.value","typeLabel":"string"},"function":{"description":"Function signature, e.g. `transfer(address,uint256)`","type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call.function","typeLabel":"string"}},"required":["args","index","to","value"],"type":"object","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug.call","typeLabel":"object"}},"required":["blockNumber","chain","details","message","retryable","revert"],"type":"object","uniqueKey":"oneOf.4.error.oneOf.2.revert.debug","typeLabel":"object"},"explorerLink":{"type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.explorerLink","typeLabel":"string"},"reasonData":{"oneOf":[{"type":"object","additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.4.error.oneOf.2.revert.reasonData.oneOf.0.additionalProperties","typeLabel":"any"},"uniqueKey":"oneOf.4.error.oneOf.2.revert.reasonData.oneOf.0","typeLabel":"object"},{"type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.reasonData.oneOf.1","typeLabel":"string"}],"uniqueKey":"oneOf.4.error.oneOf.2.revert.reasonData","typeLabel":"object | string"},"simulationLink":{"description":"Deprecated: no longer populated. Kept for backwards compatibility with previously failed transactions.","type":"string","uniqueKey":"oneOf.4.error.oneOf.2.revert.simulationLink","typeLabel":"string"}},"required":["reason","type"],"type":"object","uniqueKey":"oneOf.4.error.oneOf.2.revert","typeLabel":"object"},"revertData":{"additionalProperties":{"oneOf":[{}],"uniqueKey":"oneOf.4.error.oneOf.2.revertData.additionalProperties","typeLabel":"any"},"propertyNames":{"type":"string"},"type":"object","uniqueKey":"oneOf.4.error.oneOf.2.revertData","typeLabel":"object"}},"uniqueKey":"oneOf.4.error.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.4.error","typeLabel":"object"},"fees":{"description":"Transaction fee information including actual transaction fees, billed amounts, and billing status","properties":{"mode":{"enum":["project","user-fungible","user-native"],"type":"string","isRequired":true,"uniqueKey":"oneOf.4.fees.mode","typeLabel":"enum\u003cstring>"},"actual":{"oneOf":[{}],"uniqueKey":"oneOf.4.fees.actual","typeLabel":"any"},"billed":{"properties":{"usd":{"type":"number","isRequired":true,"uniqueKey":"oneOf.4.fees.billed.usd","typeLabel":"number"}},"required":["usd"],"type":"object","uniqueKey":"oneOf.4.fees.billed","typeLabel":"object"},"billing":{"properties":{"status":{"enum":["failed","pending","settled"],"type":"string","isRequired":true,"uniqueKey":"oneOf.4.fees.billing.status","typeLabel":"enum\u003cstring>"}},"required":["status"],"type":"object","uniqueKey":"oneOf.4.fees.billing","typeLabel":"object"},"estimate":{"oneOf":[{}],"uniqueKey":"oneOf.4.fees.estimate","typeLabel":"any"}},"required":["mode"],"type":"object","uniqueKey":"oneOf.4.fees","typeLabel":"object"},"sendParams":{"properties":{"params":{"description":"The parameters for the send token transaction","properties":{"recipient":{"description":"The recipient locator for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.4.sendParams.params.recipient","typeLabel":"string"},"recipientAddress":{"description":"The recipient address for the token","type":"string","isRequired":true,"uniqueKey":"oneOf.4.sendParams.params.recipientAddress","typeLabel":"string"},"amount":{"description":"The amount of the token to send","type":"string","uniqueKey":"oneOf.4.sendParams.params.amount","typeLabel":"string"}},"required":["recipient","recipientAddress"],"type":"object","isRequired":true,"uniqueKey":"oneOf.4.sendParams.params","typeLabel":"object"},"token":{"description":"The token locator that's being sent","type":"string","isRequired":true,"uniqueKey":"oneOf.4.sendParams.token","typeLabel":"string"}},"required":["params","token"],"type":"object","uniqueKey":"oneOf.4.sendParams","typeLabel":"object"}},"uniqueKey":"oneOf.4","typeLabel":"Solana MPC Wallet · object"}],"uniqueKey":"","typeLabel":"EVM MPC Wallet · object | EVM Smart Wallet · object | Stellar Smart Wallet · object | Solana Smart Wallet · object | Solana MPC Wallet · object"},"examples":{"Example":{"title":"Example","value":{"chainType":"aptos","createdAt":123,"id":"\u003cstring>","onChain":{"call":{"data":"\u003cunknown>","to":"\u003cstring>"},"explorerLink":"\u003cstring>","txId":"\u003cstring>"},"params":{"call":{"abi":["\u003cunknown>"],"address":"\u003cstring>","args":["\u003cunknown>"],"functionName":"\u003cstring>"},"chain":"abstract"},"status":"awaiting-approval","walletType":"mpc","approvals":{"pending":[{"quorumApprovals":{"pending":[{"member":{"address":"\u003cstring>","locator":"\u003cstring>","type":"api-key"},"message":"\u003cstring>"}],"remaining":123,"submitted":[{"member":{"address":"\u003cstring>","locator":"\u003cstring>","type":"api-key"},"message":"\u003cstring>","signature":"\u003cstring>","submittedAt":123}],"threshold":123},"signer":{"locator":"\u003cstring>","type":"quorum"}}],"submitted":[{"quorumApprovals":{"pending":[{"member":{"address":"\u003cstring>","locator":"\u003cstring>","type":"api-key"},"message":"\u003cstring>"}],"remaining":123,"submitted":[{"member":{"address":"\u003cstring>","locator":"\u003cstring>","type":"api-key"},"message":"\u003cstring>","signature":"\u003cstring>","submittedAt":123}],"threshold":123},"signer":{"locator":"\u003cstring>","type":"quorum"}}],"required":123},"completedAt":123,"error":{"message":"\u003cstring>","reason":"program_error","logs":"\u003cunknown>","revertData":{}},"fees":{"mode":"project","actual":"\u003cunknown>","billed":{"usd":123},"billing":{"status":"failed"},"estimate":"\u003cunknown>"},"sendParams":{"params":{"recipient":"\u003cstring>","recipientAddress":"\u003cstring>","amount":"\u003cstring>"},"token":"\u003cstring>"}}}},"exampleType":"generated"}},"description":"The transaction has been successfully retrieved.","exampleType":"generated"},"90a2e6ae-9701-44dd-8da6-2d101ad0a61e":{"content":{"application/json":{"schema":{"properties":{"error":{"const":true,"type":"boolean","isRequired":true,"uniqueKey":"error","typeLabel":"boolean"},"message":{"description":"Error message","examples":["\u003cerror message>"],"type":"string","isRequired":true,"uniqueKey":"message","typeLabel":"string"},"code":{"description":"Optional stable error code identifying the specific failure case. Present when the backend raises a structured error that consumers may want to detect programmatically.","examples":["DEVICE_SIGNER_NOT_SUPPORTED"],"type":"string","uniqueKey":"code","typeLabel":"string"}},"required":["error","message"],"type":"object","uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"error":true,"message":"\u003cerror message>","code":"DEVICE_SIGNER_NOT_SUPPORTED"}}},"exampleType":"generated"}},"description":"Returns an error if the wallet or transaction is not found","exampleType":"generated"}},"security":{"a79f791f-c72e-476b-a5ba-27ef8d5ddaac":{"apiKey":{"description":"API key required for authentication","in":"header","name":"X-API-KEY","type":"apiKey","scopes":[],"schemeName":"apiKey"}}},"servers":{"eeb9b769-bd24-4b58-8ac2-8f9cf9595e75":{"description":"Staging environment (testnets)","url":"https://staging.crossmint.com/api"},"fc4d8a5a-d749-4ab9-a109-48aa2553ab09":{"description":"Production environment (mainnets)","url":"https://www.crossmint.com/api"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"description":"API key required for authentication","in":"header","name":"X-API-KEY","type":"apiKey","scopes":[],"schemeName":"apiKey"},"schema":{"title":"X-API-KEY","type":"string","description":"API key required for authentication","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"apiKey","name":"X-API-KEY"}],"title":"apiKey"}]},"originalFileLocation":"api-reference/_open-api/Wallets.json"},"subdomain":"crossmint","siteName":"Crossmint Docs","title":"Get Transaction - Crossmint Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-27T11:35:38.829Z","originalFileLocation":"api-reference/wallets/get-transaction.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=\"Retrieves the current status and details of a specific transaction. API scope required: wallets:transactions.read\">\u003cmeta data-mint-head name=\"application-name\" content=\"Crossmint 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/crossmint/-1hhMU0vchFPUD3H/_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/crossmint/-1hhMU0vchFPUD3H/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/crossmint/-1hhMU0vchFPUD3H/_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/crossmint/-1hhMU0vchFPUD3H/_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/crossmint/-1hhMU0vchFPUD3H/_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/crossmint/-1hhMU0vchFPUD3H/_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/crossmint/-1hhMU0vchFPUD3H/_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/crossmint/-1hhMU0vchFPUD3H/_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/crossmint/-1hhMU0vchFPUD3H/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Get Transaction - Crossmint Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Retrieves the current status and details of a specific transaction. API scope required: wallets:transactions.read\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Crossmint Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.crossmint.com/api-reference/wallets/get-transaction\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://crossmint.mintlify.app/_mintlify/api/og/v2?division=REST\u0026amp;title=Get+Transaction\u0026amp;description=Retrieves+the+current+status+and+details+of+a+specific+transaction.%0A%0A**API+scope+required**%3A+%60wallets%3Atransactions.read%60\u0026amp;theme=754218d9ca07cbe75c9ed33a\u0026amp;signature=7a86544a593dbca6ed7c4091b057836844aa01e4ff298b7d4b5e4d76ead712a9\">\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=\"Get Transaction - Crossmint Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Retrieves the current status and details of a specific transaction. API scope required: wallets:transactions.read\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://crossmint.mintlify.app/_mintlify/api/og/v2?division=REST\u0026amp;title=Get+Transaction\u0026amp;description=Retrieves+the+current+status+and+details+of+a+specific+transaction.%0A%0A**API+scope+required**%3A+%60wallets%3Atransactions.read%60\u0026amp;theme=754218d9ca07cbe75c9ed33a\u0026amp;signature=7a86544a593dbca6ed7c4091b057836844aa01e4ff298b7d4b5e4d76ead712a9\">\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/crossmint/-1hhMU0vchFPUD3H/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Crossmint Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#36b37e\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.crossmint.com/api-reference/wallets/get-transaction\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/wallets/get-transaction.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.crossmint.com/#organization\",\"name\":\"Crossmint Docs\",\"url\":\"https://docs.crossmint.com\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/crossmint/a8gPOTKEuVFcSfC3/logo/crossmint-light.png?fit=max\u0026auto=format\u0026n=a8gPOTKEuVFcSfC3\u0026q=85\u0026s=8c2671e4c8f7da6956e1508bd68c2928\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.crossmint.com#website\",\"name\":\"Crossmint Docs\",\"url\":\"https://docs.crossmint.com\",\"publisher\":{\"@id\":\"https://docs.crossmint.com/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction#webpage\",\"url\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction\",\"name\":\"Get Transaction\",\"description\":\"Retrieves the current status and details of a specific transaction. API scope required: wallets:transactions.read\",\"dateModified\":\"2026-01-27T11:35:38.829Z\",\"isPartOf\":{\"@id\":\"https://docs.crossmint.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"API Reference\",\"item\":\"https://docs.crossmint.com/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"REST\",\"item\":\"https://docs.crossmint.com/api-reference/introduction\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Get Transaction\",\"item\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction#apireference\",\"headline\":\"Get Transaction\",\"name\":\"Get Transaction\",\"description\":\"Retrieves the current status and details of a specific transaction. API scope required: wallets:transactions.read\",\"url\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction\",\"mainEntityOfPage\":{\"@id\":\"https://docs.crossmint.com/api-reference/wallets/get-transaction#webpage\"},\"dateModified\":\"2026-01-27T11:35:38.829Z\",\"publisher\":{\"@id\":\"https://docs.crossmint.com/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.crossmint.com#website\"}}]}\u003c/script>","siteName":"Crossmint Docs","nav":{"global":null,"tabs":[{"tab":"Get Started","pages":[{"title":"Get Started","href":"/introduction/platform-overview"}]},{"tab":"Wallets","dropdowns":[{"dropdown":"Wallets V1","icon":"tag","groups":[{"group":"Introduction","pages":[{"title":"Overview","href":"/wallets/overview"}]},{"group":"Quickstarts ⚡","pages":[{"title":"React","href":"/wallets/quickstarts/react"},{"title":"Node.js","href":"/wallets/quickstarts/nodejs"},{"title":"REST API","href":"/wallets/quickstarts/restapi"},{"title":"React Native","href":"/wallets/quickstarts/react-native"},{"title":"Flutter","href":"/wallets/quickstarts/flutter"},{"title":"Swift","href":"/wallets/quickstarts/swift"},{"title":"Kotlin","href":"/wallets/quickstarts/kotlin"}]},{"group":"Concepts","pages":[{"title":"Embedded Wallets","href":"/wallets/concepts/embedded-wallets"},{"title":"Treasury Wallets","href":"/wallets/concepts/treasury"},{"title":"Architecture","href":"/wallets/architecture"},{"title":"Signers","href":"/wallets/concepts/signers"},{"title":"Signer Types","href":"/wallets/concepts/signer-types"},{"title":"Recovery Methods","href":"/wallets/concepts/recovery"},{"title":"Quorum (multi-approval) Signer","href":"/wallets/concepts/quorum-signers"},{"title":"Custody Models","href":"/wallets/concepts/custody-models"},{"title":"Wallet Locators","href":"/wallets/concepts/wallet-locators"},{"title":"Glossary","href":"/introduction/glossary"}]},{"group":"Guides","pages":[{"group":"Wallet Actions","pages":[{"title":"Create Wallet","href":"/wallets/guides/create-wallet"},{"title":"Fund a Staging Wallet","href":"/wallets/guides/fund-staging-wallet"},{"title":"Check Balances","href":"/wallets/guides/check-balances"},{"title":"Transfer Tokens","href":"/wallets/guides/transfer-tokens"},{"group":"Custom Transactions","pages":[{"title":"Custom EVM Transactions","sidebarTitle":"EVM","href":"/wallets/guides/send-transaction-evm"},{"title":"Custom Solana Transactions","sidebarTitle":"Solana","href":"/wallets/guides/send-transaction-solana"},{"title":"Custom Stellar Transactions","sidebarTitle":"Stellar","href":"/wallets/guides/send-transaction-stellar"}]},{"title":"Sign Messages","sidebarTitle":"Sign Message","href":"/wallets/guides/sign-message"},{"title":"List Wallet Transfers","href":"/wallets/guides/list-transfers"}]},{"group":"Signers","pages":[{"group":"Setup","pages":[{"title":"Device Signer","href":"/wallets/guides/signers/device-signer"},{"title":"Passkey Signer","href":"/wallets/guides/signers/passkey"},{"title":"External Wallet Signer","href":"/wallets/guides/signers/external-wallet"},{"title":"Server Signer","href":"/wallets/guides/signers/server-signer"},{"title":"Cloud KMS Signers","href":"/wallets/guides/signers/cloud-kms"},{"title":"Use a Quorum Signer","href":"/wallets/guides/signers/quorum-signer"},{"title":"Server-Side Wallet with Device Signer","href":"/wallets/guides/signers/device-signer-server-wallet"}]},{"group":"Management","pages":[{"title":"Add Signers to a Wallet","href":"/wallets/guides/signers/add-signers"},{"title":"List Wallet Signers","href":"/wallets/guides/signers/list-signers"},{"title":"Restrict a Signer with Scopes","href":"/wallets/guides/signers/scopes"},{"title":"Remove a Signer from a Wallet","href":"/wallets/guides/signers/remove-signer"}]}]},{"group":"Recovery Methods","pages":[{"title":"Configure Wallet Recovery","href":"/wallets/guides/recovery/configure-recovery"},{"title":"Send WhatsApp OTPs From Your Business Number","sidebarTitle":"WhatsApp Sender","href":"/wallets/guides/recovery/whatsapp-sender"},{"title":"Manage Recovery Methods","href":"/wallets/guides/recovery/manage-recovery-methods"},{"title":"Recover a Wallet","href":"/wallets/guides/recovery/wallet-recovery"}]},{"group":"Wallet Extensions","pages":[{"title":"Wallet Extensions","sidebarTitle":"Overview","href":"/wallets/guides/wallet-extensions/overview"},{"group":"Swapping \u0026 Bridging","pages":[{"title":"Swapping \u0026 Bridging Overview","sidebarTitle":"Overview","href":"/wallets/guides/wallet-extensions/swapping-and-bridging"},{"title":"Jupiter","href":"/wallets/guides/wallet-extensions/swap-jupiter"},{"title":"LI.FI","href":"/wallets/guides/wallet-extensions/bridge-lifi"},{"title":"Relay","href":"/wallets/guides/wallet-extensions/relay"}]},{"group":"Yield Generation","pages":[{"title":"Yield.xyz","href":"/wallets/guides/wallet-extensions/yield-xyz"},{"title":"Morpho","href":"/wallets/guides/wallet-extensions/morpho"}]},{"group":"Card Issuance","pages":[{"title":"Rain Card Issuance","sidebarTitle":"Rain","href":"/wallets/guides/wallet-extensions/credit-cards"},{"title":"Reap Card Issuance","sidebarTitle":"Reap","href":"/wallets/guides/wallet-extensions/reap"}]},{"title":"Embedded Credit","href":"/wallets/guides/wallet-extensions/tala"},{"group":"Tokenized Stocks","pages":[{"title":"Ondo Global Markets","href":"/wallets/guides/wallet-extensions/swap-ondo"}]}]},{"group":"Advanced","pages":[{"title":"Use Your Own Auth Provider","href":"/wallets/guides/bring-your-own-auth"},{"title":"Cover Transaction Fees for Your Users","href":"/wallets/guides/gas-sponsorship"},{"title":"Wallet Webhooks","href":"/wallets/guides/webhooks"},{"title":"Set Up a Treasury Wallet","href":"/wallets/guides/treasury-wallets"},{"title":"Export Private Key","href":"/wallets/guides/export-private-key"},{"title":"Troubleshooting","href":"/wallets/guides/troubleshooting"},{"title":"Migrate to V1","href":"/wallets/guides/migrate-to-v1"},{"title":"Migrate to React Native SDK 2.0","href":"/wallets/guides/migrate-react-native-sdk-2"}]}]},{"group":"API Reference","pages":[{"group":"REST","icon":"brackets-curly","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets","title":"Create Wallet","href":"/api-reference/wallets/create-wallet"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}","title":"Get Wallet By Locator","href":"/api-reference/wallets/get-wallet-by-locator"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/balances","title":"Get Wallet Balance","href":"/api-reference/wallets/get-wallet-balance"},{"openapi":"api-reference/_open-api/Wallets.json POST /v1-alpha2/wallets/{walletLocator}/balances","title":"Fund Wallet","href":"/api-reference/wallets/fund-wallet"},{"openapi":"api-reference/_open-api/Wallets.json GET /2022-06-09/wallets/{locator}/nfts","title":"Get NFTs from Wallet","href":"/api-reference/wallets/get-nfts-from-wallet"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/transactions","title":"Create Transaction","description":"Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`","href":"/api-reference/wallets/create-transaction"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}","title":"Get Transaction","href":"/api-reference/wallets/get-transaction"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/transactions","title":"Get Wallet Transactions","description":"Retrieves all transactions associated with the specified wallet. Optionally filter by date range using ISO 8601 format (e.g., 2025-10-27T00:00:00Z).\n\n**API scope required**: `wallets:transactions.read`","href":"/api-reference/wallets/get-transactions"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals","title":"Approve Transaction","href":"/api-reference/wallets/approve-transaction"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/signatures","title":"Create Signature","href":"/api-reference/wallets/create-signature"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/signatures","title":"Get All Signatures","href":"/api-reference/wallets/get-signatures"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}","title":"Get Signature","href":"/api-reference/wallets/get-signature"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals","title":"Approve Signature","href":"/api-reference/wallets/approve-signature"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/signers","title":"Create Delegated Signer","href":"/api-reference/wallets/register-delegated-key"},{"openapi":"api-reference/_open-api/Wallets.json DELETE /2025-06-09/wallets/{walletLocator}/signers/{signer}","title":"Remove Delegated Signer","href":"/api-reference/wallets/remove-delegated-key"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/signers/{signer}","title":"Get Delegated Signer","href":"/api-reference/wallets/get-signer"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/recovery-methods","title":"Add Recovery Method","href":"/api-reference/wallets/add-recovery-method"},{"openapi":"api-reference/_open-api/Wallets.json DELETE /2025-06-09/wallets/{walletLocator}/recovery-methods/{signer}","title":"Remove Recovery Method","href":"/api-reference/wallets/remove-recovery-method"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers","title":"Transfer Token","href":"/api-reference/wallets/transfer-token"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers/{transactionId}","title":"Get Transfer Transaction","href":"/api-reference/wallets/get-transfer-token"},{"title":"List Wallet Transfers","openapi":"api-reference/_open-api/Wallets.json GET /unstable/wallets/{walletLocator}/transfers","href":"/api-reference/wallets/list-transfers"}]},{"group":"Typescript SDK","icon":"/images/icons/ts-logo-128.png","pages":[{"title":"Getting Started","href":"/sdk-reference/wallets/typescript/overview"},{"title":"Reference","href":"/sdk-reference/wallets/typescript/reference"},{"group":"Classes","pages":[{"title":"AuthRejectedError","href":"/sdk-reference/wallets/typescript/classes/AuthRejectedError"},{"title":"CrossmintWallets","href":"/sdk-reference/wallets/typescript/classes/CrossmintWallets"},{"title":"DeviceSignerKeyStorage","href":"/sdk-reference/wallets/typescript/classes/DeviceSignerKeyStorage"},{"title":"DuplicateRecoverySignerError","href":"/sdk-reference/wallets/typescript/classes/DuplicateRecoverySignerError"},{"title":"EVMWallet","href":"/sdk-reference/wallets/typescript/classes/EVMWallet"},{"title":"IframeDeviceSignerKeyStorage","href":"/sdk-reference/wallets/typescript/classes/IframeDeviceSignerKeyStorage"},{"title":"InvalidRecoveryConfigError","href":"/sdk-reference/wallets/typescript/classes/InvalidRecoveryConfigError"},{"title":"InvalidTransferAmountError","href":"/sdk-reference/wallets/typescript/classes/InvalidTransferAmountError"},{"title":"JWTDecryptionError","href":"/sdk-reference/wallets/typescript/classes/JWTDecryptionError"},{"title":"JWTExpiredError","href":"/sdk-reference/wallets/typescript/classes/JWTExpiredError"},{"title":"JWTIdentifierError","href":"/sdk-reference/wallets/typescript/classes/JWTIdentifierError"},{"title":"JWTInvalidError","href":"/sdk-reference/wallets/typescript/classes/JWTInvalidError"},{"title":"KeyExportError","href":"/sdk-reference/wallets/typescript/classes/KeyExportError"},{"title":"NotAuthorizedError","href":"/sdk-reference/wallets/typescript/classes/NotAuthorizedError"},{"title":"NotSupportedOnApiVersionError","href":"/sdk-reference/wallets/typescript/classes/NotSupportedOnApiVersionError"},{"title":"OnboardingSessionExpiredError","href":"/sdk-reference/wallets/typescript/classes/OnboardingSessionExpiredError"},{"title":"OtpValidationError","href":"/sdk-reference/wallets/typescript/classes/OtpValidationError"},{"title":"QuorumSignerNotSupportedError","href":"/sdk-reference/wallets/typescript/classes/QuorumSignerNotSupportedError"},{"title":"RecoveryAdminSignerConflictError","href":"/sdk-reference/wallets/typescript/classes/RecoveryAdminSignerConflictError"},{"title":"RecoveryMethodRequiredError","href":"/sdk-reference/wallets/typescript/classes/RecoveryMethodRequiredError"},{"title":"RecoveryNotSupportedOnChainError","href":"/sdk-reference/wallets/typescript/classes/RecoveryNotSupportedOnChainError"},{"title":"RecoverySignerConflictError","href":"/sdk-reference/wallets/typescript/classes/RecoverySignerConflictError"},{"title":"RecoverySignerLimitExceededError","href":"/sdk-reference/wallets/typescript/classes/RecoverySignerLimitExceededError"},{"title":"SignerAuthenticationError","href":"/sdk-reference/wallets/typescript/classes/SignerAuthenticationError"},{"title":"SignerRequiredError","href":"/sdk-reference/wallets/typescript/classes/SignerRequiredError"},{"title":"SignerStatusError","href":"/sdk-reference/wallets/typescript/classes/SignerStatusError"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/typescript/classes/SolanaWallet"},{"title":"StellarWallet","href":"/sdk-reference/wallets/typescript/classes/StellarWallet"},{"title":"UnsupportedBrowserError","href":"/sdk-reference/wallets/typescript/classes/UnsupportedBrowserError"},{"title":"Wallet","href":"/sdk-reference/wallets/typescript/classes/Wallet"},{"title":"WalletNotAvailableError","href":"/sdk-reference/wallets/typescript/classes/WalletNotAvailableError"},{"title":"WalletsApiClient","href":"/sdk-reference/wallets/typescript/classes/WalletsApiClient"}]},{"group":"Interfaces","pages":[{"title":"ExportableSignerAdapter","href":"/sdk-reference/wallets/typescript/interfaces/ExportableSignerAdapter"},{"title":"SignerAdapter","href":"/sdk-reference/wallets/typescript/interfaces/SignerAdapter"}]},{"group":"Type Aliases","pages":[{"title":"AddRecoveryMethodOptions","href":"/sdk-reference/wallets/typescript/type-aliases/AddRecoveryMethodOptions"},{"title":"AddRecoveryMethodReturnType","href":"/sdk-reference/wallets/typescript/type-aliases/AddRecoveryMethodReturnType"},{"title":"AddSignerOptions","href":"/sdk-reference/wallets/typescript/type-aliases/AddSignerOptions"},{"title":"ApiKeySignerLocator","href":"/sdk-reference/wallets/typescript/type-aliases/ApiKeySignerLocator"},{"title":"ApproveOptions","href":"/sdk-reference/wallets/typescript/type-aliases/ApproveOptions"},{"title":"ApproveParams","href":"/sdk-reference/wallets/typescript/type-aliases/ApproveParams"},{"title":"ApproveTransactionParams","href":"/sdk-reference/wallets/typescript/type-aliases/ApproveTransactionParams"},{"title":"Balances","href":"/sdk-reference/wallets/typescript/type-aliases/Balances"},{"title":"BiometricRequestHandler","href":"/sdk-reference/wallets/typescript/type-aliases/BiometricRequestHandler"},{"title":"Callbacks","href":"/sdk-reference/wallets/typescript/type-aliases/Callbacks"},{"title":"Chain","href":"/sdk-reference/wallets/typescript/type-aliases/Chain"},{"title":"ClientSideWalletArgsFor","href":"/sdk-reference/wallets/typescript/type-aliases/ClientSideWalletArgsFor"},{"title":"ClientSideWalletCreateArgs","href":"/sdk-reference/wallets/typescript/type-aliases/ClientSideWalletCreateArgs"},{"title":"CreateServerSignerParams","href":"/sdk-reference/wallets/typescript/type-aliases/CreateServerSignerParams"},{"title":"CreateWalletParams","href":"/sdk-reference/wallets/typescript/type-aliases/CreateWalletParams"},{"title":"CreateWalletResponse","href":"/sdk-reference/wallets/typescript/type-aliases/CreateWalletResponse"},{"title":"DeviceSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/DeviceSignerConfig"},{"title":"DeviceSignerLocator","href":"/sdk-reference/wallets/typescript/type-aliases/DeviceSignerLocator"},{"title":"EVMChain","href":"/sdk-reference/wallets/typescript/type-aliases/EVMChain"},{"title":"EVMTransactionInput","href":"/sdk-reference/wallets/typescript/type-aliases/EVMTransactionInput"},{"title":"EmailSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/EmailSignerConfig"},{"title":"EmailSignerLocator","href":"/sdk-reference/wallets/typescript/type-aliases/EmailSignerLocator"},{"title":"EvmExternalWalletSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/EvmExternalWalletSignerConfig"},{"title":"ExportSignerTEEConnection","href":"/sdk-reference/wallets/typescript/type-aliases/ExportSignerTEEConnection"},{"title":"ExternalWalletRegistrationConfig","href":"/sdk-reference/wallets/typescript/type-aliases/ExternalWalletRegistrationConfig"},{"title":"ExternalWalletSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/ExternalWalletSignerConfig"},{"title":"ExternalWalletSignerConfigForChain","href":"/sdk-reference/wallets/typescript/type-aliases/ExternalWalletSignerConfigForChain"},{"title":"ExternalWalletSignerLocator","href":"/sdk-reference/wallets/typescript/type-aliases/ExternalWalletSignerLocator"},{"title":"FundWalletParams","href":"/sdk-reference/wallets/typescript/type-aliases/FundWalletParams"},{"title":"FundWalletResponse","href":"/sdk-reference/wallets/typescript/type-aliases/FundWalletResponse"},{"title":"GetBalanceResponse","href":"/sdk-reference/wallets/typescript/type-aliases/GetBalanceResponse"},{"title":"GetTransactionResponse","href":"/sdk-reference/wallets/typescript/type-aliases/GetTransactionResponse"},{"title":"PasskeyProvider","href":"/sdk-reference/wallets/typescript/type-aliases/PasskeyProvider"},{"title":"PasskeySignResult","href":"/sdk-reference/wallets/typescript/type-aliases/PasskeySignResult"},{"title":"PasskeySignerLocator","href":"/sdk-reference/wallets/typescript/type-aliases/PasskeySignerLocator"},{"title":"PhoneSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/PhoneSignerConfig"},{"title":"PhoneSignerLocator","href":"/sdk-reference/wallets/typescript/type-aliases/PhoneSignerLocator"},{"title":"RecoverySignerConfigForChain","href":"/sdk-reference/wallets/typescript/type-aliases/RecoverySignerConfigForChain"},{"title":"RegisterSignerPasskeyParams","href":"/sdk-reference/wallets/typescript/type-aliases/RegisterSignerPasskeyParams"},{"title":"RemoveRecoveryMethodOptions","href":"/sdk-reference/wallets/typescript/type-aliases/RemoveRecoveryMethodOptions"},{"title":"RemoveRecoveryMethodReturnType","href":"/sdk-reference/wallets/typescript/type-aliases/RemoveRecoveryMethodReturnType"},{"title":"RemoveSignerOptions","href":"/sdk-reference/wallets/typescript/type-aliases/RemoveSignerOptions"},{"title":"Scope","href":"/sdk-reference/wallets/typescript/type-aliases/Scope"},{"title":"SendResponse","href":"/sdk-reference/wallets/typescript/type-aliases/SendResponse"},{"title":"ServerSigner","href":"/sdk-reference/wallets/typescript/type-aliases/ServerSigner"},{"title":"ServerSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/ServerSignerConfig"},{"title":"Signature","href":"/sdk-reference/wallets/typescript/type-aliases/Signature"},{"title":"Signer","href":"/sdk-reference/wallets/typescript/type-aliases/Signer"},{"title":"SignerConfigForChain","href":"/sdk-reference/wallets/typescript/type-aliases/SignerConfigForChain"},{"title":"SignerLocator","href":"/sdk-reference/wallets/typescript/type-aliases/SignerLocator"},{"title":"SignerStatus","href":"/sdk-reference/wallets/typescript/type-aliases/SignerStatus"},{"title":"SolanaChain","href":"/sdk-reference/wallets/typescript/type-aliases/SolanaChain"},{"title":"SolanaExternalWalletSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/SolanaExternalWalletSignerConfig"},{"title":"SolanaTransactionInput","href":"/sdk-reference/wallets/typescript/type-aliases/SolanaTransactionInput"},{"title":"StellarChain","href":"/sdk-reference/wallets/typescript/type-aliases/StellarChain"},{"title":"StellarExternalWalletSignerConfig","href":"/sdk-reference/wallets/typescript/type-aliases/StellarExternalWalletSignerConfig"},{"title":"Transaction","href":"/sdk-reference/wallets/typescript/type-aliases/Transaction"},{"title":"TransferScope","href":"/sdk-reference/wallets/typescript/type-aliases/TransferScope"},{"title":"Transfers","href":"/sdk-reference/wallets/typescript/type-aliases/Transfers"},{"title":"WalletArgsFor","href":"/sdk-reference/wallets/typescript/type-aliases/WalletArgsFor"},{"title":"WalletCreateArgs","href":"/sdk-reference/wallets/typescript/type-aliases/WalletCreateArgs"},{"title":"WalletLocator","href":"/sdk-reference/wallets/typescript/type-aliases/WalletLocator"},{"title":"WalletOptions","href":"/sdk-reference/wallets/typescript/type-aliases/WalletOptions"},{"title":"WalletPlugin","href":"/sdk-reference/wallets/typescript/type-aliases/WalletPlugin"}]},{"group":"Functions","pages":[{"title":"createCrossmint","href":"/sdk-reference/wallets/typescript/functions/createCrossmint"},{"title":"createDeviceSigner","href":"/sdk-reference/wallets/typescript/functions/createDeviceSigner"},{"title":"createServerSigner","href":"/sdk-reference/wallets/typescript/functions/createServerSigner"},{"title":"isExportableSignerAdapter","href":"/sdk-reference/wallets/typescript/functions/isExportableSignerAdapter"},{"title":"recoveryMethodsFromCreateArgs","href":"/sdk-reference/wallets/typescript/functions/recoveryMethodsFromCreateArgs"}]}]},{"group":"React SDK","icon":"/images/icons/react.svg","pages":[{"title":"Get Started","href":"/sdk-reference/wallets/react/get-started"},{"title":"Providers","href":"/sdk-reference/wallets/react/providers"},{"title":"Hooks","href":"/sdk-reference/wallets/react/hooks"},{"title":"Components","href":"/sdk-reference/wallets/react/components"}]},{"group":"React Native SDK","icon":"/images/icons/react-native.svg","pages":[{"title":"Get Started","href":"/sdk-reference/wallets/react-native/get-started"},{"title":"Providers","href":"/sdk-reference/wallets/react-native/providers"},{"title":"Hooks","href":"/sdk-reference/wallets/react-native/hooks"},{"title":"Components","href":"/sdk-reference/wallets/react-native/components"}]},{"group":"Flutter SDK","icon":"/images/icons/flutter.svg","pages":[{"title":"Get Started","href":"/sdk-reference/wallets/flutter/get-started"},{"title":"Providers","href":"/sdk-reference/wallets/flutter/providers"},{"title":"Controllers","href":"/sdk-reference/wallets/flutter/controllers"},{"title":"Widgets","href":"/sdk-reference/wallets/flutter/widgets"},{"group":"Classes","pages":[{"title":"ChainExplorerRegistry","href":"/sdk-reference/wallets/flutter/classes/chain-explorer-registry"},{"title":"CrossmintApiConfig","href":"/sdk-reference/wallets/flutter/classes/crossmint-api-config"},{"title":"CrossmintApiKeySigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-api-key-signer"},{"title":"CrossmintApiVersions","href":"/sdk-reference/wallets/flutter/classes/crossmint-api-versions"},{"title":"CrossmintAuthClient","href":"/sdk-reference/wallets/flutter/classes/crossmint-auth-client"},{"title":"CrossmintAuthException","href":"/sdk-reference/wallets/flutter/classes/crossmint-auth-exception"},{"title":"CrossmintAuthRejectedException","href":"/sdk-reference/wallets/flutter/classes/crossmint-auth-rejected-exception"},{"title":"CrossmintAuthScope","href":"/sdk-reference/wallets/flutter/classes/crossmint-auth-scope"},{"title":"CrossmintClient","href":"/sdk-reference/wallets/flutter/classes/crossmint-client"},{"title":"CrossmintClientConfig","href":"/sdk-reference/wallets/flutter/classes/crossmint-client-config"},{"title":"CrossmintConfigurationException","href":"/sdk-reference/wallets/flutter/classes/crossmint-configuration-exception"},{"title":"CrossmintCredentialsException","href":"/sdk-reference/wallets/flutter/classes/crossmint-credentials-exception"},{"title":"CrossmintDeserializationException","href":"/sdk-reference/wallets/flutter/classes/crossmint-deserialization-exception"},{"title":"CrossmintDeviceWalletSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-device-wallet-signer"},{"title":"CrossmintEmailOtpDialog","href":"/sdk-reference/wallets/flutter/classes/crossmint-email-otp-dialog"},{"title":"CrossmintEvmExternalWalletSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-evm-external-wallet-signer"},{"title":"CrossmintEvmNonCustodialSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-evm-non-custodial-signer"},{"title":"CrossmintEvmWallet","href":"/sdk-reference/wallets/flutter/classes/crossmint-evm-wallet"},{"title":"CrossmintException","href":"/sdk-reference/wallets/flutter/classes/crossmint-exception"},{"title":"CrossmintExportPrivateKeyButton","href":"/sdk-reference/wallets/flutter/classes/crossmint-export-private-key-button"},{"title":"CrossmintExportableWalletSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-exportable-wallet-signer"},{"title":"CrossmintExternalWalletSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-external-wallet-signer"},{"title":"CrossmintNonCustodialSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-non-custodial-signer"},{"title":"CrossmintOtpCodeInputStep","href":"/sdk-reference/wallets/flutter/classes/crossmint-otp-code-input-step"},{"title":"CrossmintOtpConfirmationStep","href":"/sdk-reference/wallets/flutter/classes/crossmint-otp-confirmation-step"},{"title":"CrossmintOtpModalShell","href":"/sdk-reference/wallets/flutter/classes/crossmint-otp-modal-shell"},{"title":"CrossmintPasskeyApprovalSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-passkey-approval-signer"},{"title":"CrossmintPasskeySignerFactory","href":"/sdk-reference/wallets/flutter/classes/crossmint-passkey-signer-factory"},{"title":"CrossmintPhoneOtpDialog","href":"/sdk-reference/wallets/flutter/classes/crossmint-phone-otp-dialog"},{"title":"CrossmintPollingConfig","href":"/sdk-reference/wallets/flutter/classes/crossmint-polling-config"},{"title":"CrossmintRuntimeWalletBase","href":"/sdk-reference/wallets/flutter/classes/crossmint-runtime-wallet-base"},{"title":"CrossmintSignerException","href":"/sdk-reference/wallets/flutter/classes/crossmint-signer-exception"},{"title":"CrossmintSolanaExternalWalletSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-solana-external-wallet-signer"},{"title":"CrossmintSolanaNonCustodialSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-solana-non-custodial-signer"},{"title":"CrossmintSolanaWallet","href":"/sdk-reference/wallets/flutter/classes/crossmint-solana-wallet"},{"title":"CrossmintStellarExternalWalletSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-stellar-external-wallet-signer"},{"title":"CrossmintStellarNonCustodialSigner","href":"/sdk-reference/wallets/flutter/classes/crossmint-stellar-non-custodial-signer"},{"title":"CrossmintStellarWallet","href":"/sdk-reference/wallets/flutter/classes/crossmint-stellar-wallet"},{"title":"CrossmintTokensException","href":"/sdk-reference/wallets/flutter/classes/crossmint-tokens-exception"},{"title":"CrossmintUsersException","href":"/sdk-reference/wallets/flutter/classes/crossmint-users-exception"},{"title":"CrossmintWalletAuthChallenge","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-auth-challenge"},{"title":"CrossmintWalletController","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-controller"},{"title":"CrossmintWalletControllerConfig","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-controller-config"},{"title":"CrossmintWalletException","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-exception"},{"title":"CrossmintWalletHost","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-host"},{"title":"CrossmintWalletLifecycleCallbacks","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-lifecycle-callbacks"},{"title":"CrossmintWalletOtpController","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-otp-controller"},{"title":"CrossmintWalletProvider","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-provider"},{"title":"CrossmintWalletProviderConfig","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-provider-config"},{"title":"CrossmintWalletProviderDependencies","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-provider-dependencies"},{"title":"CrossmintWalletScope","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-scope"},{"title":"CrossmintWalletStateRepository","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-state-repository"},{"title":"CrossmintWalletStateView","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallet-state-view"},{"title":"CrossmintWallets","href":"/sdk-reference/wallets/flutter/classes/crossmint-wallets"},{"title":"DefaultCrossmintAppIdentityResolver","href":"/sdk-reference/wallets/flutter/classes/default-crossmint-app-identity-resolver"},{"title":"SoftwareDeviceSignerKeyStorage","href":"/sdk-reference/wallets/flutter/classes/software-device-signer-key-storage"},{"title":"UnsupportedPasskeySignerFactory","href":"/sdk-reference/wallets/flutter/classes/unsupported-passkey-signer-factory"},{"title":"WalletResponseParser","href":"/sdk-reference/wallets/flutter/classes/wallet-response-parser"},{"title":"WalletSerializationCodec","href":"/sdk-reference/wallets/flutter/classes/wallet-serialization-codec"}]},{"group":"Enums","pages":[{"title":"CrossmintChain","href":"/sdk-reference/wallets/flutter/enums/crossmint-chain"},{"title":"CrossmintChainFamily","href":"/sdk-reference/wallets/flutter/enums/crossmint-chain-family"},{"title":"CrossmintErrorCode","href":"/sdk-reference/wallets/flutter/enums/crossmint-error-code"},{"title":"CrossmintWalletStatus","href":"/sdk-reference/wallets/flutter/enums/crossmint-wallet-status"}]},{"group":"Type Aliases","pages":[{"title":"CrossmintExportPrivateKeyButtonBuilder","href":"/sdk-reference/wallets/flutter/type-aliases/crossmint-export-private-key-button-builder"},{"title":"CrossmintExternalWalletSignCallback","href":"/sdk-reference/wallets/flutter/type-aliases/crossmint-external-wallet-sign-callback"},{"title":"CrossmintOtpPromptBuilder","href":"/sdk-reference/wallets/flutter/type-aliases/crossmint-otp-prompt-builder"},{"title":"CrossmintOtpRejectCallback","href":"/sdk-reference/wallets/flutter/type-aliases/crossmint-otp-reject-callback"},{"title":"CrossmintOtpSendCallback","href":"/sdk-reference/wallets/flutter/type-aliases/crossmint-otp-send-callback"},{"title":"CrossmintOtpVerifyCallback","href":"/sdk-reference/wallets/flutter/type-aliases/crossmint-otp-verify-callback"},{"title":"CrossmintSignerAuthRequiredCallback","href":"/sdk-reference/wallets/flutter/type-aliases/crossmint-signer-auth-required-callback"}]}]},{"group":"Swift SDK","icon":"/images/icons/swift.svg","pages":[{"group":"Classes","pages":[{"title":"ABI","href":"/sdk-reference/wallets/swift/classes/abi"},{"title":"ApiKeySigner","href":"/sdk-reference/wallets/swift/classes/apikeysigner"},{"title":"CrossmintAuthManager","href":"/sdk-reference/wallets/swift/classes/crossmintauthmanager"},{"title":"CrossmintSDK","href":"/sdk-reference/wallets/swift/classes/crossmintsdk"},{"title":"DefaultAuthClient","href":"/sdk-reference/wallets/swift/classes/defaultauthclient"},{"title":"DefaultAuthService","href":"/sdk-reference/wallets/swift/classes/defaultauthservice"},{"title":"DefaultCrossmintWallets","href":"/sdk-reference/wallets/swift/classes/defaultcrossmintwallets"},{"title":"DefaultSmartWalletService","href":"/sdk-reference/wallets/swift/classes/defaultsmartwalletservice"},{"title":"EVMEmailSigner","href":"/sdk-reference/wallets/swift/classes/evmemailsigner"},{"title":"EVMKeyPairSigner","href":"/sdk-reference/wallets/swift/classes/evmkeypairsigner"},{"title":"EVMWallet","href":"/sdk-reference/wallets/swift/classes/evmwallet"},{"title":"PasskeySigner","href":"/sdk-reference/wallets/swift/classes/passkeysigner"},{"title":"PhoneSigner","href":"/sdk-reference/wallets/swift/classes/phonesigner"},{"title":"SolanaEmailSigner","href":"/sdk-reference/wallets/swift/classes/solanaemailsigner"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/swift/classes/solanawallet"},{"title":"StellarEmailSigner","href":"/sdk-reference/wallets/swift/classes/stellaremailsigner"},{"title":"StellarWallet","href":"/sdk-reference/wallets/swift/classes/stellarwallet"},{"title":"Wallet","href":"/sdk-reference/wallets/swift/classes/wallet"}]},{"group":"Protocols","pages":[{"title":"AdminSignerApiModel","href":"/sdk-reference/wallets/swift/protocols/adminsignerapimodel"},{"title":"AdminSignerData","href":"/sdk-reference/wallets/swift/protocols/adminsignerdata"},{"title":"AnyChain","href":"/sdk-reference/wallets/swift/protocols/anychain"},{"title":"ApprovalSigner","href":"/sdk-reference/wallets/swift/protocols/approvalsigner"},{"title":"AuthClient","href":"/sdk-reference/wallets/swift/protocols/authclient"},{"title":"AuthManager","href":"/sdk-reference/wallets/swift/protocols/authmanager"},{"title":"AuthService","href":"/sdk-reference/wallets/swift/protocols/authservice"},{"title":"BalanceService","href":"/sdk-reference/wallets/swift/protocols/balanceservice"},{"title":"BlockchainAddress","href":"/sdk-reference/wallets/swift/protocols/blockchainaddress"},{"title":"ChainWithSigners","href":"/sdk-reference/wallets/swift/protocols/chainwithsigners"},{"title":"CrossmintWallets","href":"/sdk-reference/wallets/swift/protocols/crossmintwallets"},{"title":"EVMCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/evmcompatiblesigner"},{"title":"NFTService","href":"/sdk-reference/wallets/swift/protocols/nftservice"},{"title":"SignatureApiModel","href":"/sdk-reference/wallets/swift/protocols/signatureapimodel"},{"title":"SignatureService","href":"/sdk-reference/wallets/swift/protocols/signatureservice"},{"title":"Signer","href":"/sdk-reference/wallets/swift/protocols/signer"},{"title":"SignerProvider","href":"/sdk-reference/wallets/swift/protocols/signerprovider"},{"title":"SmartWalletCreationQueryParams","href":"/sdk-reference/wallets/swift/protocols/smartwalletcreationqueryparams"},{"title":"SmartWalletService","href":"/sdk-reference/wallets/swift/protocols/smartwalletservice"},{"title":"SolanaCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/solanacompatiblesigner"},{"title":"SpecificChain","href":"/sdk-reference/wallets/swift/protocols/specificchain"},{"title":"StellarCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/stellarcompatiblesigner"},{"title":"TransactionApiModel","href":"/sdk-reference/wallets/swift/protocols/transactionapimodel"},{"title":"TransactionRequest","href":"/sdk-reference/wallets/swift/protocols/transactionrequest"},{"title":"TransactionService","href":"/sdk-reference/wallets/swift/protocols/transactionservice"},{"title":"TransferService","href":"/sdk-reference/wallets/swift/protocols/transferservice"},{"title":"WalletOnChain","href":"/sdk-reference/wallets/swift/protocols/walletonchain"},{"title":"WalletService","href":"/sdk-reference/wallets/swift/protocols/walletservice"},{"title":"WalletTypeTransactionMapping","href":"/sdk-reference/wallets/swift/protocols/wallettypetransactionmapping"}]},{"group":"Enums","pages":[{"title":"Address","href":"/sdk-reference/wallets/swift/enums/address"},{"title":"AdminSignerDataType","href":"/sdk-reference/wallets/swift/enums/adminsignerdatatype"},{"title":"AuthenticationStatus","href":"/sdk-reference/wallets/swift/enums/authenticationstatus"},{"title":"AuthError","href":"/sdk-reference/wallets/swift/enums/autherror"},{"title":"AuthManagerError","href":"/sdk-reference/wallets/swift/enums/authmanagererror"},{"title":"BlockchainAddressError","href":"/sdk-reference/wallets/swift/enums/blockchainaddresserror"},{"title":"BlockchainExplorerLinkType","href":"/sdk-reference/wallets/swift/enums/blockchainexplorerlinktype"},{"title":"Chain","href":"/sdk-reference/wallets/swift/enums/chain"},{"title":"ChainAndAddress","href":"/sdk-reference/wallets/swift/enums/chainandaddress"},{"title":"ChainType","href":"/sdk-reference/wallets/swift/enums/chaintype"},{"title":"CryptoCurrency","href":"/sdk-reference/wallets/swift/enums/cryptocurrency"},{"title":"CryptoPaymentFailureCode","href":"/sdk-reference/wallets/swift/enums/cryptopaymentfailurecode"},{"title":"EIP712","href":"/sdk-reference/wallets/swift/enums/eip712"},{"title":"EVMChain","href":"/sdk-reference/wallets/swift/enums/evmchain"},{"title":"EVMSigners","href":"/sdk-reference/wallets/swift/enums/evmsigners"},{"title":"EVMSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/evmsmartwalletmapping"},{"title":"FiatCurrency","href":"/sdk-reference/wallets/swift/enums/fiatcurrency"},{"title":"LinkedUserError","href":"/sdk-reference/wallets/swift/enums/linkedusererror"},{"title":"NonCustodialSignerError","href":"/sdk-reference/wallets/swift/enums/noncustodialsignererror"},{"title":"OTPAuthenticationStatus","href":"/sdk-reference/wallets/swift/enums/otpauthenticationstatus"},{"title":"OTPDeliveryChannel","href":"/sdk-reference/wallets/swift/enums/otpdeliverychannel"},{"title":"Owner","href":"/sdk-reference/wallets/swift/enums/owner"},{"title":"SignatureError","href":"/sdk-reference/wallets/swift/enums/signatureerror"},{"title":"SignerConfig","href":"/sdk-reference/wallets/swift/enums/signerconfig"},{"title":"SignerError","href":"/sdk-reference/wallets/swift/enums/signererror"},{"title":"SignerLocator","href":"/sdk-reference/wallets/swift/enums/signerlocator"},{"title":"Signers","href":"/sdk-reference/wallets/swift/enums/signers"},{"title":"SignerStatus","href":"/sdk-reference/wallets/swift/enums/signerstatus"},{"title":"SignerType","href":"/sdk-reference/wallets/swift/enums/signertype"},{"title":"SolanaChain","href":"/sdk-reference/wallets/swift/enums/solanachain"},{"title":"SolanaSigners","href":"/sdk-reference/wallets/swift/enums/solanasigners"},{"title":"SolanaSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/solanasmartwalletmapping"},{"title":"SolanaSupportedToken","href":"/sdk-reference/wallets/swift/enums/solanasupportedtoken"},{"title":"StellarChain","href":"/sdk-reference/wallets/swift/enums/stellarchain"},{"title":"StellarSigners","href":"/sdk-reference/wallets/swift/enums/stellarsigners"},{"title":"StellarSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/stellarsmartwalletmapping"},{"title":"StellarSupportedToken","href":"/sdk-reference/wallets/swift/enums/stellarsupportedtoken"},{"title":"TokenAccountType","href":"/sdk-reference/wallets/swift/enums/tokenaccounttype"},{"title":"TransactionError","href":"/sdk-reference/wallets/swift/enums/transactionerror"},{"title":"TransactionStatus","href":"/sdk-reference/wallets/swift/enums/transactionstatus"},{"title":"TransactionStatusApiModel","href":"/sdk-reference/wallets/swift/enums/transactionstatusapimodel"},{"title":"TransferTokenLocator","href":"/sdk-reference/wallets/swift/enums/transfertokenlocator"},{"title":"TransferTokenRecipient","href":"/sdk-reference/wallets/swift/enums/transfertokenrecipient"},{"title":"TransferType","href":"/sdk-reference/wallets/swift/enums/transfertype"},{"title":"UnknownChain","href":"/sdk-reference/wallets/swift/enums/unknownchain"},{"title":"WalletError","href":"/sdk-reference/wallets/swift/enums/walleterror"},{"title":"WalletLocator","href":"/sdk-reference/wallets/swift/enums/walletlocator"},{"title":"WalletType","href":"/sdk-reference/wallets/swift/enums/wallettype"}]},{"group":"Structs","pages":[{"title":"ABIAddress","href":"/sdk-reference/wallets/swift/structs/abiaddress"},{"title":"ABIUInt64","href":"/sdk-reference/wallets/swift/structs/abiuint64"},{"title":"AddDelegatedSignerResponse","href":"/sdk-reference/wallets/swift/structs/adddelegatedsignerresponse"},{"title":"ApiKeySignerApiModel","href":"/sdk-reference/wallets/swift/structs/apikeysignerapimodel"},{"title":"ApiKeySignerData","href":"/sdk-reference/wallets/swift/structs/apikeysignerdata"},{"title":"ApprovalEntry","href":"/sdk-reference/wallets/swift/structs/approvalentry"},{"title":"Approvals","href":"/sdk-reference/wallets/swift/structs/approvals"},{"title":"AuthSession","href":"/sdk-reference/wallets/swift/structs/authsession"},{"title":"AuthUser","href":"/sdk-reference/wallets/swift/structs/authuser"},{"title":"Balance","href":"/sdk-reference/wallets/swift/structs/balance"},{"title":"Balances","href":"/sdk-reference/wallets/swift/structs/balances"},{"title":"BlockchainAddressLink","href":"/sdk-reference/wallets/swift/structs/blockchainaddresslink"},{"title":"BlockchainTokenLink","href":"/sdk-reference/wallets/swift/structs/blockchaintokenlink"},{"title":"BlockchainTransactionLink","href":"/sdk-reference/wallets/swift/structs/blockchaintransactionlink"},{"title":"ChainBalances","href":"/sdk-reference/wallets/swift/structs/chainbalances"},{"title":"ChainRegistrationEntry","href":"/sdk-reference/wallets/swift/structs/chainregistrationentry"},{"title":"ChainRegistrationOnChain","href":"/sdk-reference/wallets/swift/structs/chainregistrationonchain"},{"title":"CreateEVMTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createevmtransactionrequest"},{"title":"CreateSignatureRequest","href":"/sdk-reference/wallets/swift/structs/createsignaturerequest"},{"title":"CreateSolanaTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createsolanatransactionrequest"},{"title":"CreateStellarTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createstellartransactionrequest"},{"title":"CreateTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createtransactionrequest"},{"title":"CreateWalletParams","href":"/sdk-reference/wallets/swift/structs/createwalletparams"},{"title":"DelegatedSignerEntry","href":"/sdk-reference/wallets/swift/structs/delegatedsignerentry"},{"title":"DevicePublicKey","href":"/sdk-reference/wallets/swift/structs/devicepublickey"},{"title":"EmailSignerApiModel","href":"/sdk-reference/wallets/swift/structs/emailsignerapimodel"},{"title":"EmailSignerData","href":"/sdk-reference/wallets/swift/structs/emailsignerdata"},{"title":"ERC20Encoder","href":"/sdk-reference/wallets/swift/structs/erc20encoder"},{"title":"EVMAddress","href":"/sdk-reference/wallets/swift/structs/evmaddress"},{"title":"EvmPasskeySignerApiModel","href":"/sdk-reference/wallets/swift/structs/evmpasskeysignerapimodel"},{"title":"EVMTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/evmtransactionapimodel"},{"title":"ExternalWalletSigner","href":"/sdk-reference/wallets/swift/structs/externalwalletsigner"},{"title":"ExternalWalletSignerApiModel","href":"/sdk-reference/wallets/swift/structs/externalwalletsignerapimodel"},{"title":"ExternalWalletSignerData","href":"/sdk-reference/wallets/swift/structs/externalwalletsignerdata"},{"title":"FetchTransactionRequest","href":"/sdk-reference/wallets/swift/structs/fetchtransactionrequest"},{"title":"FundWalletApiRequest","href":"/sdk-reference/wallets/swift/structs/fundwalletapirequest"},{"title":"FundWalletRequest","href":"/sdk-reference/wallets/swift/structs/fundwalletrequest"},{"title":"GetBalanceQueryParams","href":"/sdk-reference/wallets/swift/structs/getbalancequeryparams"},{"title":"GetMeWalletRequest","href":"/sdk-reference/wallets/swift/structs/getmewalletrequest"},{"title":"GetNTFQueryParams","href":"/sdk-reference/wallets/swift/structs/getntfqueryparams"},{"title":"GetTransationQueryParams","href":"/sdk-reference/wallets/swift/structs/gettransationqueryparams"},{"title":"ListTransactionsRequest","href":"/sdk-reference/wallets/swift/structs/listtransactionsrequest"},{"title":"ListTransfersQueryParams","href":"/sdk-reference/wallets/swift/structs/listtransfersqueryparams"},{"title":"LogoutRequest","href":"/sdk-reference/wallets/swift/structs/logoutrequest"},{"title":"MessageSignatureResponse","href":"/sdk-reference/wallets/swift/structs/messagesignatureresponse"},{"title":"NFT","href":"/sdk-reference/wallets/swift/structs/nft"},{"title":"NonCustodialSignerCallback","href":"/sdk-reference/wallets/swift/structs/noncustodialsignercallback"},{"title":"OTPRequest","href":"/sdk-reference/wallets/swift/structs/otprequest"},{"title":"PasskeySignerData","href":"/sdk-reference/wallets/swift/structs/passkeysignerdata"},{"title":"PhoneSignerApiModel","href":"/sdk-reference/wallets/swift/structs/phonesignerapimodel"},{"title":"PhoneSignerData","href":"/sdk-reference/wallets/swift/structs/phonesignerdata"},{"title":"RecoveryMethod","href":"/sdk-reference/wallets/swift/structs/recoverymethod"},{"title":"RefreshJWTRequest","href":"/sdk-reference/wallets/swift/structs/refreshjwtrequest"},{"title":"RefreshJWTResponse","href":"/sdk-reference/wallets/swift/structs/refreshjwtresponse"},{"title":"RegistrationApprovals","href":"/sdk-reference/wallets/swift/structs/registrationapprovals"},{"title":"RegistrationTransaction","href":"/sdk-reference/wallets/swift/structs/registrationtransaction"},{"title":"ServerSignerApiModel","href":"/sdk-reference/wallets/swift/structs/serversignerapimodel"},{"title":"ServerSignerData","href":"/sdk-reference/wallets/swift/structs/serversignerdata"},{"title":"SignerApiModel","href":"/sdk-reference/wallets/swift/structs/signerapimodel"},{"title":"SignMessageRequest","href":"/sdk-reference/wallets/swift/structs/signmessagerequest"},{"title":"SignRequest","href":"/sdk-reference/wallets/swift/structs/signrequest"},{"title":"SignRequestApi","href":"/sdk-reference/wallets/swift/structs/signrequestapi"},{"title":"SignTypedDataRequest","href":"/sdk-reference/wallets/swift/structs/signtypeddatarequest"},{"title":"SolanaAddress","href":"/sdk-reference/wallets/swift/structs/solanaaddress"},{"title":"SolanaTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/solanatransactionapimodel"},{"title":"StellarAddress","href":"/sdk-reference/wallets/swift/structs/stellaraddress"},{"title":"StellarTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/stellartransactionapimodel"},{"title":"SubmittedApprovalEntry","href":"/sdk-reference/wallets/swift/structs/submittedapprovalentry"},{"title":"TokenAccountBalance","href":"/sdk-reference/wallets/swift/structs/tokenaccountbalance"},{"title":"TokenAmount","href":"/sdk-reference/wallets/swift/structs/tokenamount"},{"title":"TokenBalance","href":"/sdk-reference/wallets/swift/structs/tokenbalance"},{"title":"TokenLinkOptions","href":"/sdk-reference/wallets/swift/structs/tokenlinkoptions"},{"title":"Transaction","href":"/sdk-reference/wallets/swift/structs/transaction"},{"title":"TransactionErrorApiModel","href":"/sdk-reference/wallets/swift/structs/transactionerrorapimodel"},{"title":"TransactionSummary","href":"/sdk-reference/wallets/swift/structs/transactionsummary"},{"title":"Transfer","href":"/sdk-reference/wallets/swift/structs/transfer"},{"title":"TransferListResult","href":"/sdk-reference/wallets/swift/structs/transferlistresult"},{"title":"TransferTokenRequest","href":"/sdk-reference/wallets/swift/structs/transfertokenrequest"},{"title":"TypedDataSignatureResponse","href":"/sdk-reference/wallets/swift/structs/typeddatasignatureresponse"},{"title":"ValidateEmailRequest","href":"/sdk-reference/wallets/swift/structs/validateemailrequest"},{"title":"ValidateEmailResponse","href":"/sdk-reference/wallets/swift/structs/validateemailresponse"},{"title":"ValidateTokenRequest","href":"/sdk-reference/wallets/swift/structs/validatetokenrequest"},{"title":"ValidateTokenResponse","href":"/sdk-reference/wallets/swift/structs/validatetokenresponse"},{"title":"WalletApiModel","href":"/sdk-reference/wallets/swift/structs/walletapimodel"},{"title":"WalletConfig","href":"/sdk-reference/wallets/swift/structs/walletconfig"},{"title":"WalletConfigApiModel","href":"/sdk-reference/wallets/swift/structs/walletconfigapimodel"},{"title":"WalletOptions","href":"/sdk-reference/wallets/swift/structs/walletoptions"},{"title":"WalletSigner","href":"/sdk-reference/wallets/swift/structs/walletsigner"}]},{"group":"Type Aliases","pages":[{"title":"EmailSignerError","href":"/sdk-reference/wallets/swift/type-aliases/emailsignererror"},{"title":"Secp256k1PrivateKey","href":"/sdk-reference/wallets/swift/type-aliases/secp256k1privatekey"},{"title":"Secp256k1PublicKey","href":"/sdk-reference/wallets/swift/type-aliases/secp256k1publickey"}]},{"group":"Functions","pages":[{"title":"getBlockchainExplorerURL(for:)","href":"/sdk-reference/wallets/swift/functions/getblockchainexplorerurl-for"}]},{"group":"Extensions","pages":[{"title":"Logger","href":"/sdk-reference/wallets/swift/extensions/logger"},{"title":"SwiftUICore","href":"/sdk-reference/wallets/swift/extensions/swiftuicore"}]}]},{"group":"Kotlin SDK","icon":"/images/icons/kotlin.png","pages":[{"title":"Kotlin SDK Reference","href":"/sdk-reference/wallets/kotlin/index"},{"group":"Classes","pages":[{"title":"AndroidCrossmintTEE","href":"/sdk-reference/wallets/kotlin/classes/android-crossmint-tee"},{"title":"AndroidPasskeyProvider","href":"/sdk-reference/wallets/kotlin/classes/android-passkey-provider"},{"title":"AndroidWebViewBridge","href":"/sdk-reference/wallets/kotlin/classes/android-web-view-bridge"},{"title":"AuthSessionStore","href":"/sdk-reference/wallets/kotlin/classes/auth-session-store"},{"title":"Crossmint","deprecated":true,"href":"/sdk-reference/wallets/kotlin/classes/crossmint"},{"title":"CrossmintAuthManager","href":"/sdk-reference/wallets/kotlin/classes/crossmint-auth-manager"},{"title":"CrossmintSDK","href":"/sdk-reference/wallets/kotlin/classes/crossmint-sdk"},{"title":"DelegatedSigner.PasskeyActivation","href":"/sdk-reference/wallets/kotlin/classes/delegated-signer-passkey-activation"},{"title":"DeviceSignerStorageFactory","href":"/sdk-reference/wallets/kotlin/classes/device-signer-storage-factory"},{"title":"EncryptedSharedPreferenceStorage","href":"/sdk-reference/wallets/kotlin/classes/encrypted-shared-preference-storage"},{"title":"EVMWallet","href":"/sdk-reference/wallets/kotlin/classes/evm-wallet"},{"title":"FallbackPolicy.InsecurePersistent","href":"/sdk-reference/wallets/kotlin/classes/fallback-policy-insecure-persistent"},{"title":"FallbackPolicy.MemoryOnly","href":"/sdk-reference/wallets/kotlin/classes/fallback-policy-memory-only"},{"title":"InsecurePersistentSessionStore","href":"/sdk-reference/wallets/kotlin/classes/insecure-persistent-session-store"},{"title":"InvalidEnvironmentKeyException","href":"/sdk-reference/wallets/kotlin/classes/invalid-environment-key-exception"},{"title":"JvmWebViewBridge","href":"/sdk-reference/wallets/kotlin/classes/jvm-web-view-bridge"},{"title":"KeystoreKeyStorage","href":"/sdk-reference/wallets/kotlin/classes/keystore-key-storage"},{"title":"MalformedKeyException","href":"/sdk-reference/wallets/kotlin/classes/malformed-key-exception"},{"title":"OldKeyException","href":"/sdk-reference/wallets/kotlin/classes/old-key-exception"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/kotlin/classes/solana-wallet"},{"title":"StellarWallet","href":"/sdk-reference/wallets/kotlin/classes/stellar-wallet"},{"title":"TinkSecureStorage","href":"/sdk-reference/wallets/kotlin/classes/tink-secure-storage"},{"title":"TinkWithFallbackSessionStore","href":"/sdk-reference/wallets/kotlin/classes/tink-with-fallback-session-store"},{"title":"Wallet","href":"/sdk-reference/wallets/kotlin/classes/wallet"},{"title":"WebViewNotAvailableException","href":"/sdk-reference/wallets/kotlin/classes/web-view-not-available-exception"}]},{"group":"Interfaces","pages":[{"title":"AuthManager","href":"/sdk-reference/wallets/kotlin/interfaces/auth-manager"},{"title":"AuthService","href":"/sdk-reference/wallets/kotlin/interfaces/auth-service"},{"title":"BalanceOperations","href":"/sdk-reference/wallets/kotlin/interfaces/balance-operations"},{"title":"CrossmintTEE","href":"/sdk-reference/wallets/kotlin/interfaces/crossmint-tee"},{"title":"CrossmintWallets","href":"/sdk-reference/wallets/kotlin/interfaces/crossmint-wallets"},{"title":"DeviceSignerKeyStorage","href":"/sdk-reference/wallets/kotlin/interfaces/device-signer-key-storage"},{"title":"EmailSigner","href":"/sdk-reference/wallets/kotlin/interfaces/email-signer"},{"title":"FailureAwareSessionStore","href":"/sdk-reference/wallets/kotlin/interfaces/failure-aware-session-store"},{"title":"NFTOperations","href":"/sdk-reference/wallets/kotlin/interfaces/nft-operations"},{"title":"NonCustodialSigner","href":"/sdk-reference/wallets/kotlin/interfaces/non-custodial-signer"},{"title":"PasskeyProvider","href":"/sdk-reference/wallets/kotlin/interfaces/passkey-provider"},{"title":"SessionStore","href":"/sdk-reference/wallets/kotlin/interfaces/session-store"},{"title":"Signer","href":"/sdk-reference/wallets/kotlin/interfaces/signer"},{"title":"SignerManagementOperations","href":"/sdk-reference/wallets/kotlin/interfaces/signer-management-operations"},{"title":"TransactionOperations","href":"/sdk-reference/wallets/kotlin/interfaces/transaction-operations"}]},{"group":"Enums","pages":[{"title":"ApiKey.Type","href":"/sdk-reference/wallets/kotlin/enums/api-key-type"},{"title":"AuthErrorCode","href":"/sdk-reference/wallets/kotlin/enums/auth-error-code"},{"title":"BalanceErrorCode","href":"/sdk-reference/wallets/kotlin/enums/balance-error-code"},{"title":"ChainType","href":"/sdk-reference/wallets/kotlin/enums/chain-type"},{"title":"ConfigurationErrorCode","href":"/sdk-reference/wallets/kotlin/enums/configuration-error-code"},{"title":"DelegatedSignerStatus","href":"/sdk-reference/wallets/kotlin/enums/delegated-signer-status"},{"title":"DelegatedSignerType","href":"/sdk-reference/wallets/kotlin/enums/delegated-signer-type"},{"title":"Environment","href":"/sdk-reference/wallets/kotlin/enums/environment"},{"title":"FallbackPolicy","href":"/sdk-reference/wallets/kotlin/enums/fallback-policy"},{"title":"IdentityVerificationErrorCode","href":"/sdk-reference/wallets/kotlin/enums/identity-verification-error-code"},{"title":"LogLevel","href":"/sdk-reference/wallets/kotlin/enums/log-level"},{"title":"NetworkErrorCode","href":"/sdk-reference/wallets/kotlin/enums/network-error-code"},{"title":"OTPDeliveryChannel","href":"/sdk-reference/wallets/kotlin/enums/otp-delivery-channel"},{"title":"PasskeyErrorCode","href":"/sdk-reference/wallets/kotlin/enums/passkey-error-code"},{"title":"SignatureErrorCode","href":"/sdk-reference/wallets/kotlin/enums/signature-error-code"},{"title":"TransactionErrorCode","href":"/sdk-reference/wallets/kotlin/enums/transaction-error-code"},{"title":"TransactionStatus","href":"/sdk-reference/wallets/kotlin/enums/transaction-status"},{"title":"TransferErrorCode","href":"/sdk-reference/wallets/kotlin/enums/transfer-error-code"},{"title":"TransferType","href":"/sdk-reference/wallets/kotlin/enums/transfer-type"},{"title":"WalletErrorCode","href":"/sdk-reference/wallets/kotlin/enums/wallet-error-code"},{"title":"WalletType","href":"/sdk-reference/wallets/kotlin/enums/wallet-type"}]},{"group":"Data Classes","pages":[{"title":"ApiKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key"},{"title":"ApiKeyError.InvalidEnvironmentKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key-error-invalid-environment-key"},{"title":"ApiKeyError.MalformedKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key-error-malformed-key"},{"title":"ApiKeyError.OldKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key-error-old-key"},{"title":"Approval","href":"/sdk-reference/wallets/kotlin/data-classes/approval"},{"title":"ApprovalMetadata.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/approval-metadata-passkey"},{"title":"ApprovalSignature.Device","href":"/sdk-reference/wallets/kotlin/data-classes/approval-signature-device"},{"title":"ApprovalSignature.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/approval-signature-passkey"},{"title":"ApprovalSignature.Raw","href":"/sdk-reference/wallets/kotlin/data-classes/approval-signature-raw"},{"title":"Approvals","href":"/sdk-reference/wallets/kotlin/data-classes/approvals"},{"title":"Approvals.PendingApproval","href":"/sdk-reference/wallets/kotlin/data-classes/approvals-pending-approval"},{"title":"Approvals.SubmittedApproval","href":"/sdk-reference/wallets/kotlin/data-classes/approvals-submitted-approval"},{"title":"AuthError.InvalidCredentials","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-invalid-credentials"},{"title":"AuthError.NotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-not-initialized"},{"title":"AuthError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-rate-limited"},{"title":"AuthError.ServerError","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-server-error"},{"title":"AuthError.TokenExpired","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-token-expired"},{"title":"AuthError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-unauthorized"},{"title":"BalanceError.BalanceNotFound","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-balance-not-found"},{"title":"BalanceError.BalanceOperationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-balance-operation-failed"},{"title":"BalanceError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-forbidden"},{"title":"BalanceError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-rate-limited"},{"title":"BalanceError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-service-not-initialized"},{"title":"BalanceError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-unauthorized"},{"title":"Balances","href":"/sdk-reference/wallets/kotlin/data-classes/balances"},{"title":"Call","href":"/sdk-reference/wallets/kotlin/data-classes/call"},{"title":"ChainInfo.Solana","href":"/sdk-reference/wallets/kotlin/data-classes/chain-info-solana"},{"title":"ChainInfo.Stellar","href":"/sdk-reference/wallets/kotlin/data-classes/chain-info-stellar"},{"title":"Chain.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/chain-unknown"},{"title":"Configuration","href":"/sdk-reference/wallets/kotlin/data-classes/configuration"},{"title":"DelegatedSigner.ApiKey","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-api-key"},{"title":"DelegatedSignerData","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-data"},{"title":"DelegatedSigner.Device","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-device"},{"title":"DelegatedSigner.Email","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-email"},{"title":"DelegatedSigner.ExternalWallet","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-external-wallet"},{"title":"DelegatedSigner.Locator","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-locator"},{"title":"DelegatedSigner.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-passkey"},{"title":"DelegatedSigner.Phone","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-phone"},{"title":"DeviceSignerError.StorageError","href":"/sdk-reference/wallets/kotlin/data-classes/device-signer-error-storage-error"},{"title":"EVMTransactionParams","href":"/sdk-reference/wallets/kotlin/data-classes/evm-transaction-params"},{"title":"FeeConfig","href":"/sdk-reference/wallets/kotlin/data-classes/fee-config"},{"title":"IdentityVerificationError","href":"/sdk-reference/wallets/kotlin/data-classes/identity-verification-error"},{"title":"NetworkError.ConnectionError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-connection-error"},{"title":"NetworkError.HttpError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-http-error"},{"title":"NetworkError.ParseError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-parse-error"},{"title":"NetworkError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-service-not-initialized"},{"title":"NetworkError.TimeoutError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-timeout-error"},{"title":"NetworkError.UnknownError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-unknown-error"},{"title":"OnChainData","href":"/sdk-reference/wallets/kotlin/data-classes/on-chain-data"},{"title":"Owner.Address","href":"/sdk-reference/wallets/kotlin/data-classes/owner-address"},{"title":"Owner.Email","href":"/sdk-reference/wallets/kotlin/data-classes/owner-email"},{"title":"Owner.PhoneNumber","href":"/sdk-reference/wallets/kotlin/data-classes/owner-phone-number"},{"title":"Owner.Twitter","href":"/sdk-reference/wallets/kotlin/data-classes/owner-twitter"},{"title":"Owner.UserId","href":"/sdk-reference/wallets/kotlin/data-classes/owner-user-id"},{"title":"PasskeyCredentialInfo","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-credential-info"},{"title":"PasskeyError.Cancelled","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-error-cancelled"},{"title":"PasskeyError.Failed","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-error-failed"},{"title":"PasskeySignMetadata","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-sign-metadata"},{"title":"PasskeySignResult","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-sign-result"},{"title":"RawTransactionParams.Solana","href":"/sdk-reference/wallets/kotlin/data-classes/raw-transaction-params-solana"},{"title":"RawTransactionParams.Stellar","href":"/sdk-reference/wallets/kotlin/data-classes/raw-transaction-params-stellar"},{"title":"RawTransactionParams.StellarSerialized","href":"/sdk-reference/wallets/kotlin/data-classes/raw-transaction-params-stellar-serialized"},{"title":"RecoveryMethod","href":"/sdk-reference/wallets/kotlin/data-classes/recovery-method"},{"title":"Result.Failure","href":"/sdk-reference/wallets/kotlin/data-classes/result-failure"},{"title":"Result.Success","href":"/sdk-reference/wallets/kotlin/data-classes/result-success"},{"title":"SignatureError.ChainNotSupported","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-chain-not-supported"},{"title":"SignatureError.CreationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-creation-failed"},{"title":"SignatureError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-forbidden"},{"title":"SignatureError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-service-not-initialized"},{"title":"SignatureError.SigningFailed","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-signing-failed"},{"title":"SignatureError.Timeout","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-timeout"},{"title":"SignatureError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-unauthorized"},{"title":"SignatureError.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-unknown"},{"title":"SignatureError.UserCancelled","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-user-cancelled"},{"title":"SignerData.ApiKey","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-api-key"},{"title":"SignerData.Device","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-device"},{"title":"SignerData.Email","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-email"},{"title":"SignerData.ExternalWallet","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-external-wallet"},{"title":"SignerData.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-passkey"},{"title":"SignerData.Phone","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-phone"},{"title":"SignerData.Server","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-server"},{"title":"SignerData.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-unknown"},{"title":"SignerError.Generic","href":"/sdk-reference/wallets/kotlin/data-classes/signer-error-generic"},{"title":"SignerError.SigningFailed","href":"/sdk-reference/wallets/kotlin/data-classes/signer-error-signing-failed"},{"title":"SignerSelection.Delegated","href":"/sdk-reference/wallets/kotlin/data-classes/signer-selection-delegated"},{"title":"SignerType.Email","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-email"},{"title":"SignerType.ExternalWallet","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-external-wallet"},{"title":"SignerType.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-passkey"},{"title":"SignerType.Phone","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-phone"},{"title":"SigningOutput.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/signing-output-passkey"},{"title":"SigningOutput.Standard","href":"/sdk-reference/wallets/kotlin/data-classes/signing-output-standard"},{"title":"SolanaTransactionParams","href":"/sdk-reference/wallets/kotlin/data-classes/solana-transaction-params"},{"title":"StellarTransactionParams","href":"/sdk-reference/wallets/kotlin/data-classes/stellar-transaction-params"},{"title":"TEEError.Generic","href":"/sdk-reference/wallets/kotlin/data-classes/tee-error-generic"},{"title":"TEEError.InvalidPayload","href":"/sdk-reference/wallets/kotlin/data-classes/tee-error-invalid-payload"},{"title":"TokenAccountBalance","href":"/sdk-reference/wallets/kotlin/data-classes/token-account-balance"},{"title":"TokenAccountType.Card","href":"/sdk-reference/wallets/kotlin/data-classes/token-account-type-card"},{"title":"TokenAccountType.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/token-account-type-unknown"},{"title":"TokenAmount","href":"/sdk-reference/wallets/kotlin/data-classes/token-amount"},{"title":"TokenBalance","href":"/sdk-reference/wallets/kotlin/data-classes/token-balance"},{"title":"Transaction","href":"/sdk-reference/wallets/kotlin/data-classes/transaction"},{"title":"TransactionErrorDetails","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-details"},{"title":"TransactionErrorDetails.Revert","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-details-revert"},{"title":"TransactionError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-forbidden"},{"title":"TransactionError.InvalidTransactionState","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-invalid-transaction-state"},{"title":"TransactionError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-rate-limited"},{"title":"TransactionError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-service-not-initialized"},{"title":"TransactionError.SigningFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-signing-failed"},{"title":"TransactionError.Timeout","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-timeout"},{"title":"TransactionError.TransactionCreationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-creation-failed"},{"title":"TransactionError.TransactionFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-failed"},{"title":"TransactionError.TransactionNotFound","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-not-found"},{"title":"TransactionError.TransactionOperationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-operation-failed"},{"title":"TransactionError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-unauthorized"},{"title":"TransactionError.UserCancelled","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-user-cancelled"},{"title":"Transfer","href":"/sdk-reference/wallets/kotlin/data-classes/transfer"},{"title":"TransferError.LoadFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-load-failed"},{"title":"TransferError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-service-not-initialized"},{"title":"TransferError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-unauthorized"},{"title":"TransferError.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-unknown"},{"title":"TransferList","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-list"},{"title":"UserOperation","href":"/sdk-reference/wallets/kotlin/data-classes/user-operation"},{"title":"WalletConfig","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-config"},{"title":"WalletError.ChainNotSupported","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-chain-not-supported"},{"title":"WalletError.DelegatedSignerConflict","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-delegated-signer-conflict"},{"title":"WalletError.DeviceKeyIndexUnreadable","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-device-key-index-unreadable"},{"title":"WalletError.DeviceSignerNotSupported","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-device-signer-not-supported"},{"title":"WalletError.DuplicateRecoverySigner","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-duplicate-recovery-signer"},{"title":"WalletError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-forbidden"},{"title":"WalletError.InvalidInput","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-invalid-input"},{"title":"WalletError.InvalidRecoveryConfig","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-invalid-recovery-config"},{"title":"WalletError.InvalidSigner","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-invalid-signer"},{"title":"WalletError.LastRecoverySigner","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-last-recovery-signer"},{"title":"WalletError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-rate-limited"},{"title":"WalletError.RecoveryAdminSignerConflict","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-admin-signer-conflict"},{"title":"WalletError.RecoveryNotSupportedOnApiVersion","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-not-supported-on-api-version"},{"title":"WalletError.RecoveryNotSupportedOnChain","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-not-supported-on-chain"},{"title":"WalletError.RecoverySignerConflict","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-signer-conflict"},{"title":"WalletError.RecoverySignerNotAllowed","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-signer-not-allowed"},{"title":"WalletError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-service-not-initialized"},{"title":"WalletError.SignerLimitExceeded","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signer-limit-exceeded"},{"title":"WalletError.SignerNotRegistered","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signer-not-registered"},{"title":"WalletError.SignerRequired","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signer-required"},{"title":"WalletError.SigningError","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signing-error"},{"title":"WalletError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-unauthorized"},{"title":"WalletError.WalletNotFound","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-wallet-not-found"},{"title":"WalletError.WalletOperationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-wallet-operation-failed"},{"title":"WebViewMessage.Custom","href":"/sdk-reference/wallets/kotlin/data-classes/web-view-message-custom"}]},{"group":"Sealed Classes","pages":[{"title":"ApprovalMetadata","href":"/sdk-reference/wallets/kotlin/sealed-classes/approval-metadata"},{"title":"ApprovalSignature","href":"/sdk-reference/wallets/kotlin/sealed-classes/approval-signature"},{"title":"DelegatedSigner","href":"/sdk-reference/wallets/kotlin/sealed-classes/delegated-signer"},{"title":"DeviceSignerError","href":"/sdk-reference/wallets/kotlin/sealed-classes/device-signer-error"},{"title":"Owner","href":"/sdk-reference/wallets/kotlin/sealed-classes/owner"},{"title":"RawTransactionParams","href":"/sdk-reference/wallets/kotlin/sealed-classes/raw-transaction-params"},{"title":"SignerData","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-data"},{"title":"SignerError","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-error"},{"title":"SignerSelection","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-selection"},{"title":"SignerType","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-type"},{"title":"SigningOutput","href":"/sdk-reference/wallets/kotlin/sealed-classes/signing-output"},{"title":"TEEError","href":"/sdk-reference/wallets/kotlin/sealed-classes/tee-error"}]},{"group":"Sealed Interfaces","pages":[{"title":"ApiKeyError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/api-key-error"},{"title":"AuthError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/auth-error"},{"title":"BalanceError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/balance-error"},{"title":"Chain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/chain"},{"title":"ChainInfo","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/chain-info"},{"title":"ConfigurationError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/configuration-error"},{"title":"CrossmintError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/crossmint-error"},{"title":"CrossmintErrorCode","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/crossmint-error-code"},{"title":"EVMChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/evm-chain"},{"title":"NetworkError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/network-error"},{"title":"PasskeyError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/passkey-error"},{"title":"Result","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/result"},{"title":"SignatureError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/signature-error"},{"title":"SolanaChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/solana-chain"},{"title":"StellarChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/stellar-chain"},{"title":"SupportedChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/supported-chain"},{"title":"TokenAccountType","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/token-account-type"},{"title":"TransactionError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transaction-error"},{"title":"TransactionParams","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transaction-params"},{"title":"TransferError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transfer-error"},{"title":"WalletError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/wallet-error"}]},{"group":"Objects","pages":[{"title":"ApiKey.Companion","href":"/sdk-reference/wallets/kotlin/objects/api-key-companion"},{"title":"Chain.Companion","href":"/sdk-reference/wallets/kotlin/objects/chain-companion"},{"title":"Configuration.Companion","href":"/sdk-reference/wallets/kotlin/objects/configuration-companion"},{"title":"CrossmintAuthManager.Companion","href":"/sdk-reference/wallets/kotlin/objects/crossmint-auth-manager-companion"},{"title":"Crossmint.Companion","href":"/sdk-reference/wallets/kotlin/objects/crossmint-companion"},{"title":"CrossmintSDK.Companion","href":"/sdk-reference/wallets/kotlin/objects/crossmint-sdk-companion"},{"title":"DelegatedSignerStatus.Companion","href":"/sdk-reference/wallets/kotlin/objects/delegated-signer-status-companion"},{"title":"DelegatedSignerType.Companion","href":"/sdk-reference/wallets/kotlin/objects/delegated-signer-type-companion"},{"title":"DeviceSignerError.HardwareUnavailable","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-hardware-unavailable"},{"title":"DeviceSignerError.InvalidMessage","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-invalid-message"},{"title":"DeviceSignerError.KeyGenerationFailed","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-key-generation-failed"},{"title":"DeviceSignerError.KeyNotFound","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-key-not-found"},{"title":"DeviceSignerError.SigningFailed","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-signing-failed"},{"title":"EncryptedSharedPreferenceStorage.Companion","href":"/sdk-reference/wallets/kotlin/objects/encrypted-shared-preference-storage-companion"},{"title":"EVMChain.Apechain","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-apechain"},{"title":"EVMChain.Apex","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-apex"},{"title":"EVMChain.Arbitrum","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-arbitrum"},{"title":"EVMChain.ArbitrumNova","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-arbitrum-nova"},{"title":"EVMChain.ArbitrumSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-arbitrum-sepolia"},{"title":"EVMChain.AstarZkEVM","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-astar-zk-evm"},{"title":"EVMChain.Avalanche","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-avalanche"},{"title":"EVMChain.AvalancheFuji","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-avalanche-fuji"},{"title":"EVMChain.BarretTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-barret-testnet"},{"title":"EVMChain.Base","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-base"},{"title":"EVMChain.BaseGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-base-goerli"},{"title":"EVMChain.BaseSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-base-sepolia"},{"title":"EVMChain.Boss","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-boss"},{"title":"EVMChain.BSCTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-bsc-testnet"},{"title":"EVMChain.Chiliz","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-chiliz"},{"title":"EVMChain.ChilizSpicyTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-chiliz-spicy-testnet"},{"title":"EVMChain.Coti","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-coti"},{"title":"EVMChain.CotiTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-coti-testnet"},{"title":"EVMChain.Curtis","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-curtis"},{"title":"EVMChain.Ethereum","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-ethereum"},{"title":"EVMChain.EthereumGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-ethereum-goerli"},{"title":"EVMChain.EthereumSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-ethereum-sepolia"},{"title":"EVMChain.HypersonicTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-hypersonic-testnet"},{"title":"EVMChain.Lightlink","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-lightlink"},{"title":"EVMChain.LightlinkPegasus","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-lightlink-pegasus"},{"title":"EVMChain.Mode","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-mode"},{"title":"EVMChain.ModeSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-mode-sepolia"},{"title":"EVMChain.Optimism","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-optimism"},{"title":"EVMChain.OptimismGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-optimism-goerli"},{"title":"EVMChain.OptimismSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-optimism-sepolia"},{"title":"EVMChain.Polygon","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-polygon"},{"title":"EVMChain.PolygonAmoy","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-polygon-amoy"},{"title":"EVMChain.PolygonMumbai","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-polygon-mumbai"},{"title":"EVMChain.Rari","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-rari"},{"title":"EVMChain.RariTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-rari-testnet"},{"title":"EVMChain.Scroll","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-scroll"},{"title":"EVMChain.ScrollSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-scroll-sepolia"},{"title":"EVMChain.SeiAtlantic2Testnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-sei-atlantic2testnet"},{"title":"EVMChain.SeiPacific1","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-sei-pacific1"},{"title":"EVMChain.Shape","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-shape"},{"title":"EVMChain.ShapeSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-shape-sepolia"},{"title":"EVMChain.SkaleNebula","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-skale-nebula"},{"title":"EVMChain.SkaleNebulaTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-skale-nebula-testnet"},{"title":"EVMChain.Soneium","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-soneium"},{"title":"EVMChain.SoneiumMinatoTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-soneium-minato-testnet"},{"title":"EVMChain.Space","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-space"},{"title":"EVMChain.SpaceTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-space-testnet"},{"title":"EVMChain.Story","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-story"},{"title":"EVMChain.StoryTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-story-testnet"},{"title":"EVMChain.VerifyTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-verify-testnet"},{"title":"EVMChain.Viction","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-viction"},{"title":"EVMChain.VictionTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-viction-testnet"},{"title":"EVMChain.Xai","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-xai"},{"title":"EVMChain.XaiSepoliaTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-xai-sepolia-testnet"},{"title":"EVMChain.ZenchainTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zenchain-testnet"},{"title":"EVMChain.Zkatana","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zkatana"},{"title":"EVMChain.Zkyoto","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zkyoto"},{"title":"EVMChain.Zora","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zora"},{"title":"EVMChain.ZoraGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zora-goerli"},{"title":"EVMChain.ZoraSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zora-sepolia"},{"title":"InsecurePersistentSessionStore.Companion","href":"/sdk-reference/wallets/kotlin/objects/insecure-persistent-session-store-companion"},{"title":"KeystoreKeyStorage.Companion","href":"/sdk-reference/wallets/kotlin/objects/keystore-key-storage-companion"},{"title":"SignerError.Cancelled","href":"/sdk-reference/wallets/kotlin/objects/signer-error-cancelled"},{"title":"SignerError.InvalidEmail","href":"/sdk-reference/wallets/kotlin/objects/signer-error-invalid-email"},{"title":"SignerError.NotInitialized","href":"/sdk-reference/wallets/kotlin/objects/signer-error-not-initialized"},{"title":"SignerError.NotStarted","href":"/sdk-reference/wallets/kotlin/objects/signer-error-not-started"},{"title":"SignerError.TeeNotStarted","href":"/sdk-reference/wallets/kotlin/objects/signer-error-tee-not-started"},{"title":"SignerSelection.Admin","href":"/sdk-reference/wallets/kotlin/objects/signer-selection-admin"},{"title":"SignerType.ApiKey","href":"/sdk-reference/wallets/kotlin/objects/signer-type-api-key"},{"title":"SolanaChain.Solana","href":"/sdk-reference/wallets/kotlin/objects/solana-chain-solana"},{"title":"StellarChain.Stellar","href":"/sdk-reference/wallets/kotlin/objects/stellar-chain-stellar"},{"title":"TEEError.EncryptionUnavailable","href":"/sdk-reference/wallets/kotlin/objects/tee-error-encryption-unavailable"},{"title":"TEEError.ErrorLoadingService","href":"/sdk-reference/wallets/kotlin/objects/tee-error-error-loading-service"},{"title":"TEEError.HandshakeFailed","href":"/sdk-reference/wallets/kotlin/objects/tee-error-handshake-failed"},{"title":"TEEError.HandshakeRequired","href":"/sdk-reference/wallets/kotlin/objects/tee-error-handshake-required"},{"title":"TEEError.InvalidSignature","href":"/sdk-reference/wallets/kotlin/objects/tee-error-invalid-signature"},{"title":"TEEError.JWTRequired","href":"/sdk-reference/wallets/kotlin/objects/tee-error-jwt-required"},{"title":"TEEError.SignerStatusUnavailable","href":"/sdk-reference/wallets/kotlin/objects/tee-error-signer-status-unavailable"},{"title":"TEEError.Timeout","href":"/sdk-reference/wallets/kotlin/objects/tee-error-timeout"},{"title":"TEEError.UserCancelled","href":"/sdk-reference/wallets/kotlin/objects/tee-error-user-cancelled"},{"title":"TinkSecureStorage.Companion","href":"/sdk-reference/wallets/kotlin/objects/tink-secure-storage-companion"},{"title":"TinkWithFallbackSessionStore.Companion","href":"/sdk-reference/wallets/kotlin/objects/tink-with-fallback-session-store-companion"},{"title":"TokenAccountType.Wallet","href":"/sdk-reference/wallets/kotlin/objects/token-account-type-wallet"}]},{"group":"Composables","pages":[{"title":"CrossmintNonCustodialSignerProvider","href":"/sdk-reference/wallets/kotlin/composables/crossmint-non-custodial-signer-provider"},{"title":"CrossmintTEEWebView","href":"/sdk-reference/wallets/kotlin/composables/crossmint-tee-web-view"},{"title":"CrossmintTEEWebViewContainer","href":"/sdk-reference/wallets/kotlin/composables/crossmint-tee-web-view-container"},{"title":"PlatformSpecificProvider","href":"/sdk-reference/wallets/kotlin/composables/platform-specific-provider"}]},{"group":"Functions","pages":[{"title":"configure","href":"/sdk-reference/wallets/kotlin/functions/configure"},{"title":"createAndroidTEE","href":"/sdk-reference/wallets/kotlin/functions/create-android-tee"},{"title":"createAuthManager","href":"/sdk-reference/wallets/kotlin/functions/create-auth-manager"},{"title":"createCrossmintWallets","href":"/sdk-reference/wallets/kotlin/functions/create-crossmint-wallets"},{"title":"createDefaultAuthManager","href":"/sdk-reference/wallets/kotlin/functions/create-default-auth-manager"},{"title":"createDefaultSessionStore","href":"/sdk-reference/wallets/kotlin/functions/create-default-session-store"},{"title":"createEVMWallet","href":"/sdk-reference/wallets/kotlin/functions/create-evm-wallet"},{"title":"createPasskeyCredential","href":"/sdk-reference/wallets/kotlin/functions/create-passkey-credential"},{"title":"createSolanaWallet","href":"/sdk-reference/wallets/kotlin/functions/create-solana-wallet"},{"title":"createStellarWallet","href":"/sdk-reference/wallets/kotlin/functions/create-stellar-wallet"},{"title":"createWallet","href":"/sdk-reference/wallets/kotlin/functions/create-wallet"},{"title":"CrossmintTEEWebView","href":"/sdk-reference/wallets/kotlin/functions/crossmint-tee-web-view"},{"title":"flatMap","href":"/sdk-reference/wallets/kotlin/functions/flat-map"},{"title":"fold","href":"/sdk-reference/wallets/kotlin/functions/fold"},{"title":"getOrNull","href":"/sdk-reference/wallets/kotlin/functions/get-or-null"},{"title":"getOrThrow","href":"/sdk-reference/wallets/kotlin/functions/get-or-throw"},{"title":"isMainThread","href":"/sdk-reference/wallets/kotlin/functions/is-main-thread"},{"title":"makePasskeySignerCallback","href":"/sdk-reference/wallets/kotlin/functions/make-passkey-signer-callback"},{"title":"map","href":"/sdk-reference/wallets/kotlin/functions/map"},{"title":"mapError","href":"/sdk-reference/wallets/kotlin/functions/map-error"},{"title":"normalizeEmail","href":"/sdk-reference/wallets/kotlin/functions/normalize-email"},{"title":"runCatching","href":"/sdk-reference/wallets/kotlin/functions/run-catching"},{"title":"useSigner","href":"/sdk-reference/wallets/kotlin/functions/use-signer"},{"title":"waitForMessage","href":"/sdk-reference/wallets/kotlin/functions/wait-for-message"}]},{"group":"Properties","pages":[{"title":"LocalCrossmintSDK","href":"/sdk-reference/wallets/kotlin/properties/local-crossmint-sdk"}]}]},{"group":"Crossmint Auth","pages":[{"group":"Typescript SDK","icon":"/images/icons/ts-logo-128.png","pages":[{"title":"Getting Started","href":"/sdk-reference/auth/typescript/overview"},{"title":"Reference","href":"/sdk-reference/auth/typescript/reference"},{"group":"Classes","pages":[{"title":"CrossmintAuth","href":"/sdk-reference/auth/typescript/classes/CrossmintAuth"},{"title":"JwksUnavailableError","href":"/sdk-reference/auth/typescript/classes/JwksUnavailableError"}]},{"group":"Type Aliases","pages":[{"title":"CrossmintAuthServerOptions","href":"/sdk-reference/auth/typescript/type-aliases/CrossmintAuthServerOptions"},{"title":"GenericRequest","href":"/sdk-reference/auth/typescript/type-aliases/GenericRequest"},{"title":"GenericResponse","href":"/sdk-reference/auth/typescript/type-aliases/GenericResponse"},{"title":"JWKSInput","href":"/sdk-reference/auth/typescript/type-aliases/JWKSInput"},{"title":"VerifyCrossmintJwtOptions","href":"/sdk-reference/auth/typescript/type-aliases/VerifyCrossmintJwtOptions"}]},{"group":"Variables","pages":[{"title":"CROSSMINT_API_VERSION","href":"/sdk-reference/auth/typescript/variables/CROSSMINT_API_VERSION"},{"title":"SDK_NAME","href":"/sdk-reference/auth/typescript/variables/SDK_NAME"},{"title":"SDK_VERSION","href":"/sdk-reference/auth/typescript/variables/SDK_VERSION"}]},{"group":"Functions","pages":[{"title":"assertJwtAudience","href":"/sdk-reference/auth/typescript/functions/assertJwtAudience"},{"title":"createCrossmint","href":"/sdk-reference/auth/typescript/functions/createCrossmint"},{"title":"verifyCrossmintJwt","href":"/sdk-reference/auth/typescript/functions/verifyCrossmintJwt"}]}]},{"group":"React SDK","icon":"/images/icons/react.svg","pages":[{"title":"Get Started","href":"/sdk-reference/auth/react/get-started"},{"title":"Providers","href":"/sdk-reference/auth/react/providers"},{"title":"Hooks","href":"/sdk-reference/auth/react/hooks"},{"title":"Components","href":"/sdk-reference/auth/react/components"}]},{"group":"React Native SDK","icon":"/images/icons/react-native.svg","pages":[{"title":"Get Started","href":"/sdk-reference/auth/react-native/get-started"},{"title":"Providers","href":"/sdk-reference/auth/react-native/providers"},{"title":"Hooks","href":"/sdk-reference/auth/react-native/hooks"}]}]}]}]},{"dropdown":"Wallets V0","icon":"tag","groups":[{"group":"Introduction","pages":[{"title":"Overview","href":"/wallets/v0/overview"},{"title":"Why Smart Contract Wallets","href":"/wallets/v0/why-smart-wallets"}]},{"group":"Quickstarts ⚡","pages":[{"title":"React","href":"/wallets/v0/quickstarts/react"},{"title":"Node.js","href":"/wallets/v0/quickstarts/nodejs"},{"title":"REST API","href":"/wallets/v0/quickstarts/restapi"},{"title":"React Native","href":"/wallets/v0/quickstarts/react-native"},{"title":"Swift","href":"/wallets/v0/quickstarts/swift"},{"title":"Kotlin","href":"/wallets/v0/quickstarts/kotlin"}]},{"group":"Concepts","pages":[{"title":"Architecture","href":"/wallets/v0/architecture"},{"group":"Signers and Custody","pages":[{"title":"Custody Modalities","href":"/wallets/v0/concepts/custody-modalities"},{"title":"Wallet Signers","href":"/wallets/v0/concepts/wallet-signers"},{"title":"Signer Decision Tree","href":"/wallets/v0/concepts/decision-tree"},{"title":"Common Signer Configurations","href":"/wallets/v0/concepts/common-signer-configurations"}]}]},{"group":"Guides","pages":[{"group":"Wallet Actions","pages":[{"title":"Create Wallet","href":"/wallets/v0/guides/create-wallet"},{"title":"Transfer Tokens","href":"/wallets/v0/guides/transfer-tokens"},{"title":"Check Balances","href":"/wallets/v0/guides/check-balances"},{"title":"Get Staging Tokens (USDXM)","href":"/wallets/v0/guides/get-staging-tokens"},{"title":"List Wallet Transfers","href":"/wallets/v0/guides/list-transfers"},{"group":"Send Transaction","pages":[{"title":"EVM","href":"/wallets/v0/guides/send-transaction-evm"},{"title":"Solana","href":"/wallets/v0/guides/send-transaction-solana"},{"title":"Stellar","href":"/wallets/v0/guides/send-transaction-stellar"}]},{"group":"Sign Message","pages":[{"title":"EVM","href":"/wallets/v0/guides/sign-message-evm"},{"title":"Solana","href":"/wallets/v0/guides/sign-message-solana"},{"title":"Stellar","href":"/wallets/v0/guides/sign-message-stellar"}]}]},{"group":"Wallet Extensions","pages":[{"group":"Swapping \u0026 Bridging","pages":[{"title":"Swapping \u0026 Bridging Overview","sidebarTitle":"Overview","href":"/wallets/guides/wallet-extensions/swapping-and-bridging"},{"title":"Jupiter","href":"/wallets/v0/guides/wallet-extensions/swap-jupiter"},{"title":"LI.FI","href":"/wallets/v0/guides/wallet-extensions/bridge-lifi"}]},{"title":"Yield Generation","href":"/wallets/v0/guides/wallet-extensions/generate-yield"},{"title":"Rain Card Issuance","sidebarTitle":"Rain","href":"/wallets/guides/wallet-extensions/credit-cards"}]},{"group":"Signers","pages":[{"title":"Registering a Signer","href":"/wallets/v0/guides/signers/registering-a-signer"},{"title":"Email OTP Signer","href":"/wallets/v0/guides/signers/email-otp"},{"title":"SMS OTP Signer","href":"/wallets/v0/guides/signers/sms-otp"},{"title":"Passkey Signer","href":"/wallets/v0/guides/signers/passkey"},{"title":"External Wallet Signer","href":"/wallets/v0/guides/signers/external-wallet"},{"title":"Device Key Signer","href":"/wallets/v0/guides/signers/device-key"},{"title":"Server Signer","href":"/wallets/v0/guides/signers/server-key"},{"title":"Cloud KMS Signers","href":"/wallets/guides/signers/cloud-kms"},{"title":"API Key Signer (Deprecated)","href":"/wallets/v0/guides/signers/api-key"},{"title":"Social Recovery Signer","href":"/wallets/v0/guides/signers/social-recovery"},{"title":"Recover a Wallet","href":"/wallets/guides/recovery/wallet-recovery"}]},{"group":"Advanced","pages":[{"title":"Bring Your Own Auth","href":"/wallets/v0/guides/bring-your-own-auth"},{"title":"Export Private Key","href":"/wallets/v0/guides/export-private-key"},{"title":"Cover Transaction Fees for Your Users","href":"/wallets/guides/gas-sponsorship"},{"title":"Wallet Webhooks","href":"/wallets/guides/webhooks"},{"title":"Error Handling","href":"/wallets/v0/guides/error-handling"}]}]},{"group":"API Reference","pages":[{"group":"REST","icon":"brackets-curly","pages":[{"title":"Introduction","href":"/api-reference/introduction"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets","title":"Create Wallet","href":"/api-reference/wallets/create-wallet"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}","title":"Get Wallet By Locator","href":"/api-reference/wallets/get-wallet-by-locator"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/balances","title":"Get Wallet Balance","href":"/api-reference/wallets/get-wallet-balance"},{"openapi":"api-reference/_open-api/Wallets.json POST /v1-alpha2/wallets/{walletLocator}/balances","title":"Fund Wallet","href":"/api-reference/wallets/fund-wallet"},{"openapi":"api-reference/_open-api/Wallets.json GET /2022-06-09/wallets/{locator}/nfts","title":"Get NFTs from Wallet","href":"/api-reference/wallets/get-nfts-from-wallet"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/transactions","title":"Create Transaction","description":"Creates a new transaction for the specified wallet. Transaction will be automatically broadcast once it has all necessary approvals.\n\n**API scope required**: `wallets:transactions.create`","href":"/api-reference/wallets/create-transaction"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}","title":"Get Transaction","href":"/api-reference/wallets/get-transaction"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/transactions","title":"Get Wallet Transactions","description":"Retrieves all transactions associated with the specified wallet. Optionally filter by date range using ISO 8601 format (e.g., 2025-10-27T00:00:00Z).\n\n**API scope required**: `wallets:transactions.read`","href":"/api-reference/wallets/get-transactions"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals","title":"Approve Transaction","href":"/api-reference/wallets/approve-transaction"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/signatures","title":"Create Signature","href":"/api-reference/wallets/create-signature"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/signatures","title":"Get All Signatures","href":"/api-reference/wallets/get-signatures"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}","title":"Get Signature","href":"/api-reference/wallets/get-signature"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals","title":"Approve Signature","href":"/api-reference/wallets/approve-signature"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/signers","title":"Create Delegated Signer","href":"/api-reference/wallets/register-delegated-key"},{"openapi":"api-reference/_open-api/Wallets.json DELETE /2025-06-09/wallets/{walletLocator}/signers/{signer}","title":"Remove Delegated Signer","href":"/api-reference/wallets/remove-delegated-key"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/signers/{signer}","title":"Get Delegated Signer","href":"/api-reference/wallets/get-signer"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/recovery-methods","title":"Add Recovery Method","href":"/api-reference/wallets/add-recovery-method"},{"openapi":"api-reference/_open-api/Wallets.json DELETE /2025-06-09/wallets/{walletLocator}/recovery-methods/{signer}","title":"Remove Recovery Method","href":"/api-reference/wallets/remove-recovery-method"},{"openapi":"api-reference/_open-api/Wallets.json POST /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers","title":"Transfer Token","href":"/api-reference/wallets/transfer-token"},{"openapi":"api-reference/_open-api/Wallets.json GET /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers/{transactionId}","title":"Get Transfer Transaction","href":"/api-reference/wallets/get-transfer-token"},{"title":"List Wallet Transfers","openapi":"api-reference/_open-api/Wallets.json GET /unstable/wallets/{walletLocator}/transfers","href":"/api-reference/wallets/list-transfers"}]},{"group":"Typescript SDK","icon":"/images/icons/ts-logo-128.png","pages":[{"title":"Getting Started","href":"/sdk-reference/wallets/v0/typescript/overview"},{"title":"Reference","href":"/sdk-reference/wallets/v0/typescript/reference"},{"group":"Classes","pages":[{"title":"CrossmintWallets","href":"/sdk-reference/wallets/v0/typescript/classes/CrossmintWallets"},{"title":"Wallet","href":"/sdk-reference/wallets/v0/typescript/classes/Wallet"},{"title":"EVMWallet","href":"/sdk-reference/wallets/v0/typescript/classes/EVMWallet"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/v0/typescript/classes/SolanaWallet"},{"title":"StellarWallet","href":"/sdk-reference/wallets/v0/typescript/classes/StellarWallet"},{"title":"WalletsApiClient","href":"/sdk-reference/wallets/v0/typescript/classes/WalletsApiClient"}]},{"group":"Interfaces","pages":[{"title":"ExportableSigner","href":"/sdk-reference/wallets/v0/typescript/interfaces/ExportableSigner"},{"title":"Signer","href":"/sdk-reference/wallets/v0/typescript/interfaces/Signer"}]},{"group":"Type Aliases","pages":[{"title":"Activity","href":"/sdk-reference/wallets/v0/typescript/type-aliases/Activity"},{"title":"Balances","href":"/sdk-reference/wallets/v0/typescript/type-aliases/Balances"},{"title":"Chain","href":"/sdk-reference/wallets/v0/typescript/type-aliases/Chain"},{"title":"DelegatedSigner","href":"/sdk-reference/wallets/v0/typescript/type-aliases/DelegatedSigner"},{"title":"EVMChain","href":"/sdk-reference/wallets/v0/typescript/type-aliases/EVMChain"},{"title":"EVMTransactionInput","href":"/sdk-reference/wallets/v0/typescript/type-aliases/EVMTransactionInput"},{"title":"EmailSignerConfig","href":"/sdk-reference/wallets/v0/typescript/type-aliases/EmailSignerConfig"},{"title":"EvmExternalWalletSignerConfig","href":"/sdk-reference/wallets/v0/typescript/type-aliases/EvmExternalWalletSignerConfig"},{"title":"ExportSignerTEEConnection","href":"/sdk-reference/wallets/v0/typescript/type-aliases/ExportSignerTEEConnection"},{"title":"ExternalWalletSignerConfigForChain","href":"/sdk-reference/wallets/v0/typescript/type-aliases/ExternalWalletSignerConfigForChain"},{"title":"PhoneSignerConfig","href":"/sdk-reference/wallets/v0/typescript/type-aliases/PhoneSignerConfig"},{"title":"Signature","href":"/sdk-reference/wallets/v0/typescript/type-aliases/Signature"},{"title":"SignerConfigForChain","href":"/sdk-reference/wallets/v0/typescript/type-aliases/SignerConfigForChain"},{"title":"SolanaChain","href":"/sdk-reference/wallets/v0/typescript/type-aliases/SolanaChain"},{"title":"SolanaExternalWalletSignerConfig","href":"/sdk-reference/wallets/v0/typescript/type-aliases/SolanaExternalWalletSignerConfig"},{"title":"SolanaTransactionInput","href":"/sdk-reference/wallets/v0/typescript/type-aliases/SolanaTransactionInput"},{"title":"StellarChain","href":"/sdk-reference/wallets/v0/typescript/type-aliases/StellarChain"},{"title":"StellarExternalWalletSignerConfig","href":"/sdk-reference/wallets/v0/typescript/type-aliases/StellarExternalWalletSignerConfig"},{"title":"Transaction","href":"/sdk-reference/wallets/v0/typescript/type-aliases/Transaction"},{"title":"WalletArgsFor","href":"/sdk-reference/wallets/v0/typescript/type-aliases/WalletArgsFor"},{"title":"WalletPlugin","href":"/sdk-reference/wallets/v0/typescript/type-aliases/WalletPlugin"}]},{"group":"Functions","pages":[{"title":"createCrossmint","href":"/sdk-reference/wallets/v0/typescript/functions/createCrossmint"},{"title":"isExportableSigner","href":"/sdk-reference/wallets/v0/typescript/functions/isExportableSigner"}]}]},{"group":"React SDK","icon":"/images/icons/react.svg","pages":[{"title":"Get Started","href":"/sdk-reference/wallets/v0/react/get-started"},{"title":"Providers","href":"/sdk-reference/wallets/v0/react/providers"},{"title":"Hooks","href":"/sdk-reference/wallets/v0/react/hooks"},{"title":"Components","href":"/sdk-reference/wallets/react/components"}]},{"group":"React Native SDK","icon":"/images/icons/react-native.svg","pages":[{"title":"Get Started","href":"/sdk-reference/wallets/v0/react-native/get-started"},{"title":"Providers","href":"/sdk-reference/wallets/v0/react-native/providers"},{"title":"Hooks","href":"/sdk-reference/wallets/v0/react-native/hooks"},{"title":"Components","href":"/sdk-reference/wallets/react-native/components"}]},{"group":"Swift SDK","icon":"/images/icons/swift.svg","pages":[{"group":"Classes","pages":[{"title":"ABI","href":"/sdk-reference/wallets/swift/classes/abi"},{"title":"ApiKeySigner","href":"/sdk-reference/wallets/swift/classes/apikeysigner"},{"title":"CrossmintAuthManager","href":"/sdk-reference/wallets/swift/classes/crossmintauthmanager"},{"title":"CrossmintSDK","href":"/sdk-reference/wallets/swift/classes/crossmintsdk"},{"title":"DefaultAuthClient","href":"/sdk-reference/wallets/swift/classes/defaultauthclient"},{"title":"DefaultAuthService","href":"/sdk-reference/wallets/swift/classes/defaultauthservice"},{"title":"DefaultCrossmintWallets","href":"/sdk-reference/wallets/swift/classes/defaultcrossmintwallets"},{"title":"DefaultSmartWalletService","href":"/sdk-reference/wallets/swift/classes/defaultsmartwalletservice"},{"title":"EVMEmailSigner","href":"/sdk-reference/wallets/swift/classes/evmemailsigner"},{"title":"EVMKeyPairSigner","href":"/sdk-reference/wallets/swift/classes/evmkeypairsigner"},{"title":"EVMWallet","href":"/sdk-reference/wallets/swift/classes/evmwallet"},{"title":"PasskeySigner","href":"/sdk-reference/wallets/swift/classes/passkeysigner"},{"title":"PhoneSigner","href":"/sdk-reference/wallets/swift/classes/phonesigner"},{"title":"SolanaEmailSigner","href":"/sdk-reference/wallets/swift/classes/solanaemailsigner"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/swift/classes/solanawallet"},{"title":"StellarEmailSigner","href":"/sdk-reference/wallets/swift/classes/stellaremailsigner"},{"title":"StellarWallet","href":"/sdk-reference/wallets/swift/classes/stellarwallet"},{"title":"Wallet","href":"/sdk-reference/wallets/swift/classes/wallet"}]},{"group":"Protocols","pages":[{"title":"AdminSignerApiModel","href":"/sdk-reference/wallets/swift/protocols/adminsignerapimodel"},{"title":"AdminSignerData","href":"/sdk-reference/wallets/swift/protocols/adminsignerdata"},{"title":"AnyChain","href":"/sdk-reference/wallets/swift/protocols/anychain"},{"title":"ApprovalSigner","href":"/sdk-reference/wallets/swift/protocols/approvalsigner"},{"title":"AuthClient","href":"/sdk-reference/wallets/swift/protocols/authclient"},{"title":"AuthManager","href":"/sdk-reference/wallets/swift/protocols/authmanager"},{"title":"AuthService","href":"/sdk-reference/wallets/swift/protocols/authservice"},{"title":"BalanceService","href":"/sdk-reference/wallets/swift/protocols/balanceservice"},{"title":"BlockchainAddress","href":"/sdk-reference/wallets/swift/protocols/blockchainaddress"},{"title":"ChainWithSigners","href":"/sdk-reference/wallets/swift/protocols/chainwithsigners"},{"title":"CrossmintWallets","href":"/sdk-reference/wallets/swift/protocols/crossmintwallets"},{"title":"EVMCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/evmcompatiblesigner"},{"title":"NFTService","href":"/sdk-reference/wallets/swift/protocols/nftservice"},{"title":"SignatureApiModel","href":"/sdk-reference/wallets/swift/protocols/signatureapimodel"},{"title":"SignatureService","href":"/sdk-reference/wallets/swift/protocols/signatureservice"},{"title":"Signer","href":"/sdk-reference/wallets/swift/protocols/signer"},{"title":"SignerProvider","href":"/sdk-reference/wallets/swift/protocols/signerprovider"},{"title":"SmartWalletCreationQueryParams","href":"/sdk-reference/wallets/swift/protocols/smartwalletcreationqueryparams"},{"title":"SmartWalletService","href":"/sdk-reference/wallets/swift/protocols/smartwalletservice"},{"title":"SolanaCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/solanacompatiblesigner"},{"title":"SpecificChain","href":"/sdk-reference/wallets/swift/protocols/specificchain"},{"title":"StellarCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/stellarcompatiblesigner"},{"title":"TransactionApiModel","href":"/sdk-reference/wallets/swift/protocols/transactionapimodel"},{"title":"TransactionRequest","href":"/sdk-reference/wallets/swift/protocols/transactionrequest"},{"title":"TransactionService","href":"/sdk-reference/wallets/swift/protocols/transactionservice"},{"title":"TransferService","href":"/sdk-reference/wallets/swift/protocols/transferservice"},{"title":"WalletOnChain","href":"/sdk-reference/wallets/swift/protocols/walletonchain"},{"title":"WalletService","href":"/sdk-reference/wallets/swift/protocols/walletservice"},{"title":"WalletTypeTransactionMapping","href":"/sdk-reference/wallets/swift/protocols/wallettypetransactionmapping"}]},{"group":"Enums","pages":[{"title":"Address","href":"/sdk-reference/wallets/swift/enums/address"},{"title":"AdminSignerDataType","href":"/sdk-reference/wallets/swift/enums/adminsignerdatatype"},{"title":"AuthenticationStatus","href":"/sdk-reference/wallets/swift/enums/authenticationstatus"},{"title":"AuthError","href":"/sdk-reference/wallets/swift/enums/autherror"},{"title":"AuthManagerError","href":"/sdk-reference/wallets/swift/enums/authmanagererror"},{"title":"BlockchainAddressError","href":"/sdk-reference/wallets/swift/enums/blockchainaddresserror"},{"title":"BlockchainExplorerLinkType","href":"/sdk-reference/wallets/swift/enums/blockchainexplorerlinktype"},{"title":"Chain","href":"/sdk-reference/wallets/swift/enums/chain"},{"title":"ChainAndAddress","href":"/sdk-reference/wallets/swift/enums/chainandaddress"},{"title":"ChainType","href":"/sdk-reference/wallets/swift/enums/chaintype"},{"title":"CryptoCurrency","href":"/sdk-reference/wallets/swift/enums/cryptocurrency"},{"title":"CryptoPaymentFailureCode","href":"/sdk-reference/wallets/swift/enums/cryptopaymentfailurecode"},{"title":"EIP712","href":"/sdk-reference/wallets/swift/enums/eip712"},{"title":"EVMChain","href":"/sdk-reference/wallets/swift/enums/evmchain"},{"title":"EVMSigners","href":"/sdk-reference/wallets/swift/enums/evmsigners"},{"title":"EVMSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/evmsmartwalletmapping"},{"title":"FiatCurrency","href":"/sdk-reference/wallets/swift/enums/fiatcurrency"},{"title":"LinkedUserError","href":"/sdk-reference/wallets/swift/enums/linkedusererror"},{"title":"NonCustodialSignerError","href":"/sdk-reference/wallets/swift/enums/noncustodialsignererror"},{"title":"OTPAuthenticationStatus","href":"/sdk-reference/wallets/swift/enums/otpauthenticationstatus"},{"title":"OTPDeliveryChannel","href":"/sdk-reference/wallets/swift/enums/otpdeliverychannel"},{"title":"Owner","href":"/sdk-reference/wallets/swift/enums/owner"},{"title":"SignatureError","href":"/sdk-reference/wallets/swift/enums/signatureerror"},{"title":"SignerConfig","href":"/sdk-reference/wallets/swift/enums/signerconfig"},{"title":"SignerError","href":"/sdk-reference/wallets/swift/enums/signererror"},{"title":"SignerLocator","href":"/sdk-reference/wallets/swift/enums/signerlocator"},{"title":"Signers","href":"/sdk-reference/wallets/swift/enums/signers"},{"title":"SignerStatus","href":"/sdk-reference/wallets/swift/enums/signerstatus"},{"title":"SignerType","href":"/sdk-reference/wallets/swift/enums/signertype"},{"title":"SolanaChain","href":"/sdk-reference/wallets/swift/enums/solanachain"},{"title":"SolanaSigners","href":"/sdk-reference/wallets/swift/enums/solanasigners"},{"title":"SolanaSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/solanasmartwalletmapping"},{"title":"SolanaSupportedToken","href":"/sdk-reference/wallets/swift/enums/solanasupportedtoken"},{"title":"StellarChain","href":"/sdk-reference/wallets/swift/enums/stellarchain"},{"title":"StellarSigners","href":"/sdk-reference/wallets/swift/enums/stellarsigners"},{"title":"StellarSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/stellarsmartwalletmapping"},{"title":"StellarSupportedToken","href":"/sdk-reference/wallets/swift/enums/stellarsupportedtoken"},{"title":"TokenAccountType","href":"/sdk-reference/wallets/swift/enums/tokenaccounttype"},{"title":"TransactionError","href":"/sdk-reference/wallets/swift/enums/transactionerror"},{"title":"TransactionStatus","href":"/sdk-reference/wallets/swift/enums/transactionstatus"},{"title":"TransactionStatusApiModel","href":"/sdk-reference/wallets/swift/enums/transactionstatusapimodel"},{"title":"TransferTokenLocator","href":"/sdk-reference/wallets/swift/enums/transfertokenlocator"},{"title":"TransferTokenRecipient","href":"/sdk-reference/wallets/swift/enums/transfertokenrecipient"},{"title":"TransferType","href":"/sdk-reference/wallets/swift/enums/transfertype"},{"title":"UnknownChain","href":"/sdk-reference/wallets/swift/enums/unknownchain"},{"title":"WalletError","href":"/sdk-reference/wallets/swift/enums/walleterror"},{"title":"WalletLocator","href":"/sdk-reference/wallets/swift/enums/walletlocator"},{"title":"WalletType","href":"/sdk-reference/wallets/swift/enums/wallettype"}]},{"group":"Structs","pages":[{"title":"ABIAddress","href":"/sdk-reference/wallets/swift/structs/abiaddress"},{"title":"ABIUInt64","href":"/sdk-reference/wallets/swift/structs/abiuint64"},{"title":"AddDelegatedSignerResponse","href":"/sdk-reference/wallets/swift/structs/adddelegatedsignerresponse"},{"title":"ApiKeySignerApiModel","href":"/sdk-reference/wallets/swift/structs/apikeysignerapimodel"},{"title":"ApiKeySignerData","href":"/sdk-reference/wallets/swift/structs/apikeysignerdata"},{"title":"ApprovalEntry","href":"/sdk-reference/wallets/swift/structs/approvalentry"},{"title":"Approvals","href":"/sdk-reference/wallets/swift/structs/approvals"},{"title":"AuthSession","href":"/sdk-reference/wallets/swift/structs/authsession"},{"title":"AuthUser","href":"/sdk-reference/wallets/swift/structs/authuser"},{"title":"Balance","href":"/sdk-reference/wallets/swift/structs/balance"},{"title":"Balances","href":"/sdk-reference/wallets/swift/structs/balances"},{"title":"BlockchainAddressLink","href":"/sdk-reference/wallets/swift/structs/blockchainaddresslink"},{"title":"BlockchainTokenLink","href":"/sdk-reference/wallets/swift/structs/blockchaintokenlink"},{"title":"BlockchainTransactionLink","href":"/sdk-reference/wallets/swift/structs/blockchaintransactionlink"},{"title":"ChainBalances","href":"/sdk-reference/wallets/swift/structs/chainbalances"},{"title":"ChainRegistrationEntry","href":"/sdk-reference/wallets/swift/structs/chainregistrationentry"},{"title":"ChainRegistrationOnChain","href":"/sdk-reference/wallets/swift/structs/chainregistrationonchain"},{"title":"CreateEVMTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createevmtransactionrequest"},{"title":"CreateSignatureRequest","href":"/sdk-reference/wallets/swift/structs/createsignaturerequest"},{"title":"CreateSolanaTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createsolanatransactionrequest"},{"title":"CreateStellarTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createstellartransactionrequest"},{"title":"CreateTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createtransactionrequest"},{"title":"CreateWalletParams","href":"/sdk-reference/wallets/swift/structs/createwalletparams"},{"title":"DelegatedSignerEntry","href":"/sdk-reference/wallets/swift/structs/delegatedsignerentry"},{"title":"DevicePublicKey","href":"/sdk-reference/wallets/swift/structs/devicepublickey"},{"title":"EmailSignerApiModel","href":"/sdk-reference/wallets/swift/structs/emailsignerapimodel"},{"title":"EmailSignerData","href":"/sdk-reference/wallets/swift/structs/emailsignerdata"},{"title":"ERC20Encoder","href":"/sdk-reference/wallets/swift/structs/erc20encoder"},{"title":"EVMAddress","href":"/sdk-reference/wallets/swift/structs/evmaddress"},{"title":"EvmPasskeySignerApiModel","href":"/sdk-reference/wallets/swift/structs/evmpasskeysignerapimodel"},{"title":"EVMTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/evmtransactionapimodel"},{"title":"ExternalWalletSigner","href":"/sdk-reference/wallets/swift/structs/externalwalletsigner"},{"title":"ExternalWalletSignerApiModel","href":"/sdk-reference/wallets/swift/structs/externalwalletsignerapimodel"},{"title":"ExternalWalletSignerData","href":"/sdk-reference/wallets/swift/structs/externalwalletsignerdata"},{"title":"FetchTransactionRequest","href":"/sdk-reference/wallets/swift/structs/fetchtransactionrequest"},{"title":"FundWalletApiRequest","href":"/sdk-reference/wallets/swift/structs/fundwalletapirequest"},{"title":"FundWalletRequest","href":"/sdk-reference/wallets/swift/structs/fundwalletrequest"},{"title":"GetBalanceQueryParams","href":"/sdk-reference/wallets/swift/structs/getbalancequeryparams"},{"title":"GetMeWalletRequest","href":"/sdk-reference/wallets/swift/structs/getmewalletrequest"},{"title":"GetNTFQueryParams","href":"/sdk-reference/wallets/swift/structs/getntfqueryparams"},{"title":"GetTransationQueryParams","href":"/sdk-reference/wallets/swift/structs/gettransationqueryparams"},{"title":"ListTransactionsRequest","href":"/sdk-reference/wallets/swift/structs/listtransactionsrequest"},{"title":"ListTransfersQueryParams","href":"/sdk-reference/wallets/swift/structs/listtransfersqueryparams"},{"title":"LogoutRequest","href":"/sdk-reference/wallets/swift/structs/logoutrequest"},{"title":"MessageSignatureResponse","href":"/sdk-reference/wallets/swift/structs/messagesignatureresponse"},{"title":"NFT","href":"/sdk-reference/wallets/swift/structs/nft"},{"title":"NonCustodialSignerCallback","href":"/sdk-reference/wallets/swift/structs/noncustodialsignercallback"},{"title":"OTPRequest","href":"/sdk-reference/wallets/swift/structs/otprequest"},{"title":"PasskeySignerData","href":"/sdk-reference/wallets/swift/structs/passkeysignerdata"},{"title":"PhoneSignerApiModel","href":"/sdk-reference/wallets/swift/structs/phonesignerapimodel"},{"title":"PhoneSignerData","href":"/sdk-reference/wallets/swift/structs/phonesignerdata"},{"title":"RecoveryMethod","href":"/sdk-reference/wallets/swift/structs/recoverymethod"},{"title":"RefreshJWTRequest","href":"/sdk-reference/wallets/swift/structs/refreshjwtrequest"},{"title":"RefreshJWTResponse","href":"/sdk-reference/wallets/swift/structs/refreshjwtresponse"},{"title":"RegistrationApprovals","href":"/sdk-reference/wallets/swift/structs/registrationapprovals"},{"title":"RegistrationTransaction","href":"/sdk-reference/wallets/swift/structs/registrationtransaction"},{"title":"ServerSignerApiModel","href":"/sdk-reference/wallets/swift/structs/serversignerapimodel"},{"title":"ServerSignerData","href":"/sdk-reference/wallets/swift/structs/serversignerdata"},{"title":"SignerApiModel","href":"/sdk-reference/wallets/swift/structs/signerapimodel"},{"title":"SignMessageRequest","href":"/sdk-reference/wallets/swift/structs/signmessagerequest"},{"title":"SignRequest","href":"/sdk-reference/wallets/swift/structs/signrequest"},{"title":"SignRequestApi","href":"/sdk-reference/wallets/swift/structs/signrequestapi"},{"title":"SignTypedDataRequest","href":"/sdk-reference/wallets/swift/structs/signtypeddatarequest"},{"title":"SolanaAddress","href":"/sdk-reference/wallets/swift/structs/solanaaddress"},{"title":"SolanaTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/solanatransactionapimodel"},{"title":"StellarAddress","href":"/sdk-reference/wallets/swift/structs/stellaraddress"},{"title":"StellarTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/stellartransactionapimodel"},{"title":"SubmittedApprovalEntry","href":"/sdk-reference/wallets/swift/structs/submittedapprovalentry"},{"title":"TokenAccountBalance","href":"/sdk-reference/wallets/swift/structs/tokenaccountbalance"},{"title":"TokenAmount","href":"/sdk-reference/wallets/swift/structs/tokenamount"},{"title":"TokenBalance","href":"/sdk-reference/wallets/swift/structs/tokenbalance"},{"title":"TokenLinkOptions","href":"/sdk-reference/wallets/swift/structs/tokenlinkoptions"},{"title":"Transaction","href":"/sdk-reference/wallets/swift/structs/transaction"},{"title":"TransactionErrorApiModel","href":"/sdk-reference/wallets/swift/structs/transactionerrorapimodel"},{"title":"TransactionSummary","href":"/sdk-reference/wallets/swift/structs/transactionsummary"},{"title":"Transfer","href":"/sdk-reference/wallets/swift/structs/transfer"},{"title":"TransferListResult","href":"/sdk-reference/wallets/swift/structs/transferlistresult"},{"title":"TransferTokenRequest","href":"/sdk-reference/wallets/swift/structs/transfertokenrequest"},{"title":"TypedDataSignatureResponse","href":"/sdk-reference/wallets/swift/structs/typeddatasignatureresponse"},{"title":"ValidateEmailRequest","href":"/sdk-reference/wallets/swift/structs/validateemailrequest"},{"title":"ValidateEmailResponse","href":"/sdk-reference/wallets/swift/structs/validateemailresponse"},{"title":"ValidateTokenRequest","href":"/sdk-reference/wallets/swift/structs/validatetokenrequest"},{"title":"ValidateTokenResponse","href":"/sdk-reference/wallets/swift/structs/validatetokenresponse"},{"title":"WalletApiModel","href":"/sdk-reference/wallets/swift/structs/walletapimodel"},{"title":"WalletConfig","href":"/sdk-reference/wallets/swift/structs/walletconfig"},{"title":"WalletConfigApiModel","href":"/sdk-reference/wallets/swift/structs/walletconfigapimodel"},{"title":"WalletOptions","href":"/sdk-reference/wallets/swift/structs/walletoptions"},{"title":"WalletSigner","href":"/sdk-reference/wallets/swift/structs/walletsigner"}]},{"group":"Type Aliases","pages":[{"title":"EmailSignerError","href":"/sdk-reference/wallets/swift/type-aliases/emailsignererror"},{"title":"Secp256k1PrivateKey","href":"/sdk-reference/wallets/swift/type-aliases/secp256k1privatekey"},{"title":"Secp256k1PublicKey","href":"/sdk-reference/wallets/swift/type-aliases/secp256k1publickey"}]},{"group":"Functions","pages":[{"title":"getBlockchainExplorerURL(for:)","href":"/sdk-reference/wallets/swift/functions/getblockchainexplorerurl-for"}]},{"group":"Extensions","pages":[{"title":"Logger","href":"/sdk-reference/wallets/swift/extensions/logger"},{"title":"SwiftUICore","href":"/sdk-reference/wallets/swift/extensions/swiftuicore"}]}]},{"group":"Kotlin SDK","icon":"/images/icons/kotlin.png","pages":[{"title":"Kotlin SDK Reference","href":"/sdk-reference/wallets/kotlin/index"},{"group":"Classes","pages":[{"title":"AndroidCrossmintTEE","href":"/sdk-reference/wallets/kotlin/classes/android-crossmint-tee"},{"title":"AndroidPasskeyProvider","href":"/sdk-reference/wallets/kotlin/classes/android-passkey-provider"},{"title":"AndroidWebViewBridge","href":"/sdk-reference/wallets/kotlin/classes/android-web-view-bridge"},{"title":"AuthSessionStore","href":"/sdk-reference/wallets/kotlin/classes/auth-session-store"},{"title":"Crossmint","deprecated":true,"href":"/sdk-reference/wallets/kotlin/classes/crossmint"},{"title":"CrossmintAuthManager","href":"/sdk-reference/wallets/kotlin/classes/crossmint-auth-manager"},{"title":"CrossmintSDK","href":"/sdk-reference/wallets/kotlin/classes/crossmint-sdk"},{"title":"DelegatedSigner.PasskeyActivation","href":"/sdk-reference/wallets/kotlin/classes/delegated-signer-passkey-activation"},{"title":"DeviceSignerStorageFactory","href":"/sdk-reference/wallets/kotlin/classes/device-signer-storage-factory"},{"title":"EncryptedSharedPreferenceStorage","href":"/sdk-reference/wallets/kotlin/classes/encrypted-shared-preference-storage"},{"title":"EVMWallet","href":"/sdk-reference/wallets/kotlin/classes/evm-wallet"},{"title":"FallbackPolicy.InsecurePersistent","href":"/sdk-reference/wallets/kotlin/classes/fallback-policy-insecure-persistent"},{"title":"FallbackPolicy.MemoryOnly","href":"/sdk-reference/wallets/kotlin/classes/fallback-policy-memory-only"},{"title":"InsecurePersistentSessionStore","href":"/sdk-reference/wallets/kotlin/classes/insecure-persistent-session-store"},{"title":"InvalidEnvironmentKeyException","href":"/sdk-reference/wallets/kotlin/classes/invalid-environment-key-exception"},{"title":"JvmWebViewBridge","href":"/sdk-reference/wallets/kotlin/classes/jvm-web-view-bridge"},{"title":"KeystoreKeyStorage","href":"/sdk-reference/wallets/kotlin/classes/keystore-key-storage"},{"title":"MalformedKeyException","href":"/sdk-reference/wallets/kotlin/classes/malformed-key-exception"},{"title":"OldKeyException","href":"/sdk-reference/wallets/kotlin/classes/old-key-exception"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/kotlin/classes/solana-wallet"},{"title":"StellarWallet","href":"/sdk-reference/wallets/kotlin/classes/stellar-wallet"},{"title":"TinkSecureStorage","href":"/sdk-reference/wallets/kotlin/classes/tink-secure-storage"},{"title":"TinkWithFallbackSessionStore","href":"/sdk-reference/wallets/kotlin/classes/tink-with-fallback-session-store"},{"title":"Wallet","href":"/sdk-reference/wallets/kotlin/classes/wallet"},{"title":"WebViewNotAvailableException","href":"/sdk-reference/wallets/kotlin/classes/web-view-not-available-exception"}]},{"group":"Interfaces","pages":[{"title":"AuthManager","href":"/sdk-reference/wallets/kotlin/interfaces/auth-manager"},{"title":"AuthService","href":"/sdk-reference/wallets/kotlin/interfaces/auth-service"},{"title":"BalanceOperations","href":"/sdk-reference/wallets/kotlin/interfaces/balance-operations"},{"title":"CrossmintTEE","href":"/sdk-reference/wallets/kotlin/interfaces/crossmint-tee"},{"title":"CrossmintWallets","href":"/sdk-reference/wallets/kotlin/interfaces/crossmint-wallets"},{"title":"DeviceSignerKeyStorage","href":"/sdk-reference/wallets/kotlin/interfaces/device-signer-key-storage"},{"title":"EmailSigner","href":"/sdk-reference/wallets/kotlin/interfaces/email-signer"},{"title":"FailureAwareSessionStore","href":"/sdk-reference/wallets/kotlin/interfaces/failure-aware-session-store"},{"title":"NFTOperations","href":"/sdk-reference/wallets/kotlin/interfaces/nft-operations"},{"title":"NonCustodialSigner","href":"/sdk-reference/wallets/kotlin/interfaces/non-custodial-signer"},{"title":"PasskeyProvider","href":"/sdk-reference/wallets/kotlin/interfaces/passkey-provider"},{"title":"SessionStore","href":"/sdk-reference/wallets/kotlin/interfaces/session-store"},{"title":"Signer","href":"/sdk-reference/wallets/kotlin/interfaces/signer"},{"title":"SignerManagementOperations","href":"/sdk-reference/wallets/kotlin/interfaces/signer-management-operations"},{"title":"TransactionOperations","href":"/sdk-reference/wallets/kotlin/interfaces/transaction-operations"}]},{"group":"Enums","pages":[{"title":"ApiKey.Type","href":"/sdk-reference/wallets/kotlin/enums/api-key-type"},{"title":"AuthErrorCode","href":"/sdk-reference/wallets/kotlin/enums/auth-error-code"},{"title":"BalanceErrorCode","href":"/sdk-reference/wallets/kotlin/enums/balance-error-code"},{"title":"ChainType","href":"/sdk-reference/wallets/kotlin/enums/chain-type"},{"title":"ConfigurationErrorCode","href":"/sdk-reference/wallets/kotlin/enums/configuration-error-code"},{"title":"DelegatedSignerStatus","href":"/sdk-reference/wallets/kotlin/enums/delegated-signer-status"},{"title":"DelegatedSignerType","href":"/sdk-reference/wallets/kotlin/enums/delegated-signer-type"},{"title":"Environment","href":"/sdk-reference/wallets/kotlin/enums/environment"},{"title":"FallbackPolicy","href":"/sdk-reference/wallets/kotlin/enums/fallback-policy"},{"title":"IdentityVerificationErrorCode","href":"/sdk-reference/wallets/kotlin/enums/identity-verification-error-code"},{"title":"LogLevel","href":"/sdk-reference/wallets/kotlin/enums/log-level"},{"title":"NetworkErrorCode","href":"/sdk-reference/wallets/kotlin/enums/network-error-code"},{"title":"OTPDeliveryChannel","href":"/sdk-reference/wallets/kotlin/enums/otp-delivery-channel"},{"title":"PasskeyErrorCode","href":"/sdk-reference/wallets/kotlin/enums/passkey-error-code"},{"title":"SignatureErrorCode","href":"/sdk-reference/wallets/kotlin/enums/signature-error-code"},{"title":"TransactionErrorCode","href":"/sdk-reference/wallets/kotlin/enums/transaction-error-code"},{"title":"TransactionStatus","href":"/sdk-reference/wallets/kotlin/enums/transaction-status"},{"title":"TransferErrorCode","href":"/sdk-reference/wallets/kotlin/enums/transfer-error-code"},{"title":"TransferType","href":"/sdk-reference/wallets/kotlin/enums/transfer-type"},{"title":"WalletErrorCode","href":"/sdk-reference/wallets/kotlin/enums/wallet-error-code"},{"title":"WalletType","href":"/sdk-reference/wallets/kotlin/enums/wallet-type"}]},{"group":"Data Classes","pages":[{"title":"ApiKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key"},{"title":"ApiKeyError.InvalidEnvironmentKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key-error-invalid-environment-key"},{"title":"ApiKeyError.MalformedKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key-error-malformed-key"},{"title":"ApiKeyError.OldKey","href":"/sdk-reference/wallets/kotlin/data-classes/api-key-error-old-key"},{"title":"Approval","href":"/sdk-reference/wallets/kotlin/data-classes/approval"},{"title":"ApprovalMetadata.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/approval-metadata-passkey"},{"title":"ApprovalSignature.Device","href":"/sdk-reference/wallets/kotlin/data-classes/approval-signature-device"},{"title":"ApprovalSignature.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/approval-signature-passkey"},{"title":"ApprovalSignature.Raw","href":"/sdk-reference/wallets/kotlin/data-classes/approval-signature-raw"},{"title":"Approvals","href":"/sdk-reference/wallets/kotlin/data-classes/approvals"},{"title":"Approvals.PendingApproval","href":"/sdk-reference/wallets/kotlin/data-classes/approvals-pending-approval"},{"title":"Approvals.SubmittedApproval","href":"/sdk-reference/wallets/kotlin/data-classes/approvals-submitted-approval"},{"title":"AuthError.InvalidCredentials","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-invalid-credentials"},{"title":"AuthError.NotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-not-initialized"},{"title":"AuthError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-rate-limited"},{"title":"AuthError.ServerError","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-server-error"},{"title":"AuthError.TokenExpired","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-token-expired"},{"title":"AuthError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/auth-error-unauthorized"},{"title":"BalanceError.BalanceNotFound","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-balance-not-found"},{"title":"BalanceError.BalanceOperationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-balance-operation-failed"},{"title":"BalanceError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-forbidden"},{"title":"BalanceError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-rate-limited"},{"title":"BalanceError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-service-not-initialized"},{"title":"BalanceError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/balance-error-unauthorized"},{"title":"Balances","href":"/sdk-reference/wallets/kotlin/data-classes/balances"},{"title":"Call","href":"/sdk-reference/wallets/kotlin/data-classes/call"},{"title":"ChainInfo.Solana","href":"/sdk-reference/wallets/kotlin/data-classes/chain-info-solana"},{"title":"ChainInfo.Stellar","href":"/sdk-reference/wallets/kotlin/data-classes/chain-info-stellar"},{"title":"Chain.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/chain-unknown"},{"title":"Configuration","href":"/sdk-reference/wallets/kotlin/data-classes/configuration"},{"title":"DelegatedSigner.ApiKey","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-api-key"},{"title":"DelegatedSignerData","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-data"},{"title":"DelegatedSigner.Device","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-device"},{"title":"DelegatedSigner.Email","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-email"},{"title":"DelegatedSigner.ExternalWallet","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-external-wallet"},{"title":"DelegatedSigner.Locator","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-locator"},{"title":"DelegatedSigner.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-passkey"},{"title":"DelegatedSigner.Phone","href":"/sdk-reference/wallets/kotlin/data-classes/delegated-signer-phone"},{"title":"DeviceSignerError.StorageError","href":"/sdk-reference/wallets/kotlin/data-classes/device-signer-error-storage-error"},{"title":"EVMTransactionParams","href":"/sdk-reference/wallets/kotlin/data-classes/evm-transaction-params"},{"title":"FeeConfig","href":"/sdk-reference/wallets/kotlin/data-classes/fee-config"},{"title":"IdentityVerificationError","href":"/sdk-reference/wallets/kotlin/data-classes/identity-verification-error"},{"title":"NetworkError.ConnectionError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-connection-error"},{"title":"NetworkError.HttpError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-http-error"},{"title":"NetworkError.ParseError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-parse-error"},{"title":"NetworkError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-service-not-initialized"},{"title":"NetworkError.TimeoutError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-timeout-error"},{"title":"NetworkError.UnknownError","href":"/sdk-reference/wallets/kotlin/data-classes/network-error-unknown-error"},{"title":"OnChainData","href":"/sdk-reference/wallets/kotlin/data-classes/on-chain-data"},{"title":"Owner.Address","href":"/sdk-reference/wallets/kotlin/data-classes/owner-address"},{"title":"Owner.Email","href":"/sdk-reference/wallets/kotlin/data-classes/owner-email"},{"title":"Owner.PhoneNumber","href":"/sdk-reference/wallets/kotlin/data-classes/owner-phone-number"},{"title":"Owner.Twitter","href":"/sdk-reference/wallets/kotlin/data-classes/owner-twitter"},{"title":"Owner.UserId","href":"/sdk-reference/wallets/kotlin/data-classes/owner-user-id"},{"title":"PasskeyCredentialInfo","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-credential-info"},{"title":"PasskeyError.Cancelled","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-error-cancelled"},{"title":"PasskeyError.Failed","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-error-failed"},{"title":"PasskeySignMetadata","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-sign-metadata"},{"title":"PasskeySignResult","href":"/sdk-reference/wallets/kotlin/data-classes/passkey-sign-result"},{"title":"RawTransactionParams.Solana","href":"/sdk-reference/wallets/kotlin/data-classes/raw-transaction-params-solana"},{"title":"RawTransactionParams.Stellar","href":"/sdk-reference/wallets/kotlin/data-classes/raw-transaction-params-stellar"},{"title":"RawTransactionParams.StellarSerialized","href":"/sdk-reference/wallets/kotlin/data-classes/raw-transaction-params-stellar-serialized"},{"title":"RecoveryMethod","href":"/sdk-reference/wallets/kotlin/data-classes/recovery-method"},{"title":"Result.Failure","href":"/sdk-reference/wallets/kotlin/data-classes/result-failure"},{"title":"Result.Success","href":"/sdk-reference/wallets/kotlin/data-classes/result-success"},{"title":"SignatureError.ChainNotSupported","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-chain-not-supported"},{"title":"SignatureError.CreationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-creation-failed"},{"title":"SignatureError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-forbidden"},{"title":"SignatureError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-service-not-initialized"},{"title":"SignatureError.SigningFailed","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-signing-failed"},{"title":"SignatureError.Timeout","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-timeout"},{"title":"SignatureError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-unauthorized"},{"title":"SignatureError.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-unknown"},{"title":"SignatureError.UserCancelled","href":"/sdk-reference/wallets/kotlin/data-classes/signature-error-user-cancelled"},{"title":"SignerData.ApiKey","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-api-key"},{"title":"SignerData.Device","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-device"},{"title":"SignerData.Email","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-email"},{"title":"SignerData.ExternalWallet","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-external-wallet"},{"title":"SignerData.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-passkey"},{"title":"SignerData.Phone","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-phone"},{"title":"SignerData.Server","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-server"},{"title":"SignerData.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-unknown"},{"title":"SignerError.Generic","href":"/sdk-reference/wallets/kotlin/data-classes/signer-error-generic"},{"title":"SignerError.SigningFailed","href":"/sdk-reference/wallets/kotlin/data-classes/signer-error-signing-failed"},{"title":"SignerSelection.Delegated","href":"/sdk-reference/wallets/kotlin/data-classes/signer-selection-delegated"},{"title":"SignerType.Email","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-email"},{"title":"SignerType.ExternalWallet","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-external-wallet"},{"title":"SignerType.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-passkey"},{"title":"SignerType.Phone","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-phone"},{"title":"SigningOutput.Passkey","href":"/sdk-reference/wallets/kotlin/data-classes/signing-output-passkey"},{"title":"SigningOutput.Standard","href":"/sdk-reference/wallets/kotlin/data-classes/signing-output-standard"},{"title":"SolanaTransactionParams","href":"/sdk-reference/wallets/kotlin/data-classes/solana-transaction-params"},{"title":"StellarTransactionParams","href":"/sdk-reference/wallets/kotlin/data-classes/stellar-transaction-params"},{"title":"TEEError.Generic","href":"/sdk-reference/wallets/kotlin/data-classes/tee-error-generic"},{"title":"TEEError.InvalidPayload","href":"/sdk-reference/wallets/kotlin/data-classes/tee-error-invalid-payload"},{"title":"TokenAccountBalance","href":"/sdk-reference/wallets/kotlin/data-classes/token-account-balance"},{"title":"TokenAccountType.Card","href":"/sdk-reference/wallets/kotlin/data-classes/token-account-type-card"},{"title":"TokenAccountType.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/token-account-type-unknown"},{"title":"TokenAmount","href":"/sdk-reference/wallets/kotlin/data-classes/token-amount"},{"title":"TokenBalance","href":"/sdk-reference/wallets/kotlin/data-classes/token-balance"},{"title":"Transaction","href":"/sdk-reference/wallets/kotlin/data-classes/transaction"},{"title":"TransactionErrorDetails","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-details"},{"title":"TransactionErrorDetails.Revert","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-details-revert"},{"title":"TransactionError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-forbidden"},{"title":"TransactionError.InvalidTransactionState","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-invalid-transaction-state"},{"title":"TransactionError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-rate-limited"},{"title":"TransactionError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-service-not-initialized"},{"title":"TransactionError.SigningFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-signing-failed"},{"title":"TransactionError.Timeout","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-timeout"},{"title":"TransactionError.TransactionCreationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-creation-failed"},{"title":"TransactionError.TransactionFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-failed"},{"title":"TransactionError.TransactionNotFound","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-not-found"},{"title":"TransactionError.TransactionOperationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-transaction-operation-failed"},{"title":"TransactionError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-unauthorized"},{"title":"TransactionError.UserCancelled","href":"/sdk-reference/wallets/kotlin/data-classes/transaction-error-user-cancelled"},{"title":"Transfer","href":"/sdk-reference/wallets/kotlin/data-classes/transfer"},{"title":"TransferError.LoadFailed","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-load-failed"},{"title":"TransferError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-service-not-initialized"},{"title":"TransferError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-unauthorized"},{"title":"TransferError.Unknown","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-error-unknown"},{"title":"TransferList","href":"/sdk-reference/wallets/kotlin/data-classes/transfer-list"},{"title":"UserOperation","href":"/sdk-reference/wallets/kotlin/data-classes/user-operation"},{"title":"WalletConfig","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-config"},{"title":"WalletError.ChainNotSupported","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-chain-not-supported"},{"title":"WalletError.DelegatedSignerConflict","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-delegated-signer-conflict"},{"title":"WalletError.DeviceKeyIndexUnreadable","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-device-key-index-unreadable"},{"title":"WalletError.DeviceSignerNotSupported","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-device-signer-not-supported"},{"title":"WalletError.DuplicateRecoverySigner","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-duplicate-recovery-signer"},{"title":"WalletError.Forbidden","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-forbidden"},{"title":"WalletError.InvalidInput","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-invalid-input"},{"title":"WalletError.InvalidRecoveryConfig","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-invalid-recovery-config"},{"title":"WalletError.InvalidSigner","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-invalid-signer"},{"title":"WalletError.LastRecoverySigner","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-last-recovery-signer"},{"title":"WalletError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-rate-limited"},{"title":"WalletError.RecoveryAdminSignerConflict","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-admin-signer-conflict"},{"title":"WalletError.RecoveryNotSupportedOnApiVersion","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-not-supported-on-api-version"},{"title":"WalletError.RecoveryNotSupportedOnChain","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-not-supported-on-chain"},{"title":"WalletError.RecoverySignerConflict","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-signer-conflict"},{"title":"WalletError.RecoverySignerNotAllowed","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-recovery-signer-not-allowed"},{"title":"WalletError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-service-not-initialized"},{"title":"WalletError.SignerLimitExceeded","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signer-limit-exceeded"},{"title":"WalletError.SignerNotRegistered","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signer-not-registered"},{"title":"WalletError.SignerRequired","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signer-required"},{"title":"WalletError.SigningError","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-signing-error"},{"title":"WalletError.Unauthorized","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-unauthorized"},{"title":"WalletError.WalletNotFound","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-wallet-not-found"},{"title":"WalletError.WalletOperationFailed","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-wallet-operation-failed"},{"title":"WebViewMessage.Custom","href":"/sdk-reference/wallets/kotlin/data-classes/web-view-message-custom"}]},{"group":"Sealed Classes","pages":[{"title":"ApprovalMetadata","href":"/sdk-reference/wallets/kotlin/sealed-classes/approval-metadata"},{"title":"ApprovalSignature","href":"/sdk-reference/wallets/kotlin/sealed-classes/approval-signature"},{"title":"DelegatedSigner","href":"/sdk-reference/wallets/kotlin/sealed-classes/delegated-signer"},{"title":"DeviceSignerError","href":"/sdk-reference/wallets/kotlin/sealed-classes/device-signer-error"},{"title":"Owner","href":"/sdk-reference/wallets/kotlin/sealed-classes/owner"},{"title":"RawTransactionParams","href":"/sdk-reference/wallets/kotlin/sealed-classes/raw-transaction-params"},{"title":"SignerData","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-data"},{"title":"SignerError","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-error"},{"title":"SignerSelection","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-selection"},{"title":"SignerType","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-type"},{"title":"SigningOutput","href":"/sdk-reference/wallets/kotlin/sealed-classes/signing-output"},{"title":"TEEError","href":"/sdk-reference/wallets/kotlin/sealed-classes/tee-error"}]},{"group":"Sealed Interfaces","pages":[{"title":"ApiKeyError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/api-key-error"},{"title":"AuthError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/auth-error"},{"title":"BalanceError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/balance-error"},{"title":"Chain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/chain"},{"title":"ChainInfo","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/chain-info"},{"title":"ConfigurationError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/configuration-error"},{"title":"CrossmintError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/crossmint-error"},{"title":"CrossmintErrorCode","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/crossmint-error-code"},{"title":"EVMChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/evm-chain"},{"title":"NetworkError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/network-error"},{"title":"PasskeyError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/passkey-error"},{"title":"Result","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/result"},{"title":"SignatureError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/signature-error"},{"title":"SolanaChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/solana-chain"},{"title":"StellarChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/stellar-chain"},{"title":"SupportedChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/supported-chain"},{"title":"TokenAccountType","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/token-account-type"},{"title":"TransactionError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transaction-error"},{"title":"TransactionParams","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transaction-params"},{"title":"TransferError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transfer-error"},{"title":"WalletError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/wallet-error"}]},{"group":"Objects","pages":[{"title":"ApiKey.Companion","href":"/sdk-reference/wallets/kotlin/objects/api-key-companion"},{"title":"Chain.Companion","href":"/sdk-reference/wallets/kotlin/objects/chain-companion"},{"title":"Configuration.Companion","href":"/sdk-reference/wallets/kotlin/objects/configuration-companion"},{"title":"CrossmintAuthManager.Companion","href":"/sdk-reference/wallets/kotlin/objects/crossmint-auth-manager-companion"},{"title":"Crossmint.Companion","href":"/sdk-reference/wallets/kotlin/objects/crossmint-companion"},{"title":"CrossmintSDK.Companion","href":"/sdk-reference/wallets/kotlin/objects/crossmint-sdk-companion"},{"title":"DelegatedSignerStatus.Companion","href":"/sdk-reference/wallets/kotlin/objects/delegated-signer-status-companion"},{"title":"DelegatedSignerType.Companion","href":"/sdk-reference/wallets/kotlin/objects/delegated-signer-type-companion"},{"title":"DeviceSignerError.HardwareUnavailable","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-hardware-unavailable"},{"title":"DeviceSignerError.InvalidMessage","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-invalid-message"},{"title":"DeviceSignerError.KeyGenerationFailed","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-key-generation-failed"},{"title":"DeviceSignerError.KeyNotFound","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-key-not-found"},{"title":"DeviceSignerError.SigningFailed","href":"/sdk-reference/wallets/kotlin/objects/device-signer-error-signing-failed"},{"title":"EncryptedSharedPreferenceStorage.Companion","href":"/sdk-reference/wallets/kotlin/objects/encrypted-shared-preference-storage-companion"},{"title":"EVMChain.Apechain","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-apechain"},{"title":"EVMChain.Apex","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-apex"},{"title":"EVMChain.Arbitrum","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-arbitrum"},{"title":"EVMChain.ArbitrumNova","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-arbitrum-nova"},{"title":"EVMChain.ArbitrumSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-arbitrum-sepolia"},{"title":"EVMChain.AstarZkEVM","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-astar-zk-evm"},{"title":"EVMChain.Avalanche","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-avalanche"},{"title":"EVMChain.AvalancheFuji","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-avalanche-fuji"},{"title":"EVMChain.BarretTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-barret-testnet"},{"title":"EVMChain.Base","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-base"},{"title":"EVMChain.BaseGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-base-goerli"},{"title":"EVMChain.BaseSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-base-sepolia"},{"title":"EVMChain.Boss","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-boss"},{"title":"EVMChain.BSCTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-bsc-testnet"},{"title":"EVMChain.Chiliz","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-chiliz"},{"title":"EVMChain.ChilizSpicyTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-chiliz-spicy-testnet"},{"title":"EVMChain.Coti","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-coti"},{"title":"EVMChain.CotiTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-coti-testnet"},{"title":"EVMChain.Curtis","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-curtis"},{"title":"EVMChain.Ethereum","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-ethereum"},{"title":"EVMChain.EthereumGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-ethereum-goerli"},{"title":"EVMChain.EthereumSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-ethereum-sepolia"},{"title":"EVMChain.HypersonicTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-hypersonic-testnet"},{"title":"EVMChain.Lightlink","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-lightlink"},{"title":"EVMChain.LightlinkPegasus","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-lightlink-pegasus"},{"title":"EVMChain.Mode","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-mode"},{"title":"EVMChain.ModeSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-mode-sepolia"},{"title":"EVMChain.Optimism","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-optimism"},{"title":"EVMChain.OptimismGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-optimism-goerli"},{"title":"EVMChain.OptimismSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-optimism-sepolia"},{"title":"EVMChain.Polygon","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-polygon"},{"title":"EVMChain.PolygonAmoy","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-polygon-amoy"},{"title":"EVMChain.PolygonMumbai","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-polygon-mumbai"},{"title":"EVMChain.Rari","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-rari"},{"title":"EVMChain.RariTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-rari-testnet"},{"title":"EVMChain.Scroll","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-scroll"},{"title":"EVMChain.ScrollSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-scroll-sepolia"},{"title":"EVMChain.SeiAtlantic2Testnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-sei-atlantic2testnet"},{"title":"EVMChain.SeiPacific1","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-sei-pacific1"},{"title":"EVMChain.Shape","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-shape"},{"title":"EVMChain.ShapeSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-shape-sepolia"},{"title":"EVMChain.SkaleNebula","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-skale-nebula"},{"title":"EVMChain.SkaleNebulaTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-skale-nebula-testnet"},{"title":"EVMChain.Soneium","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-soneium"},{"title":"EVMChain.SoneiumMinatoTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-soneium-minato-testnet"},{"title":"EVMChain.Space","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-space"},{"title":"EVMChain.SpaceTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-space-testnet"},{"title":"EVMChain.Story","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-story"},{"title":"EVMChain.StoryTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-story-testnet"},{"title":"EVMChain.VerifyTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-verify-testnet"},{"title":"EVMChain.Viction","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-viction"},{"title":"EVMChain.VictionTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-viction-testnet"},{"title":"EVMChain.Xai","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-xai"},{"title":"EVMChain.XaiSepoliaTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-xai-sepolia-testnet"},{"title":"EVMChain.ZenchainTestnet","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zenchain-testnet"},{"title":"EVMChain.Zkatana","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zkatana"},{"title":"EVMChain.Zkyoto","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zkyoto"},{"title":"EVMChain.Zora","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zora"},{"title":"EVMChain.ZoraGoerli","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zora-goerli"},{"title":"EVMChain.ZoraSepolia","href":"/sdk-reference/wallets/kotlin/objects/evm-chain-zora-sepolia"},{"title":"InsecurePersistentSessionStore.Companion","href":"/sdk-reference/wallets/kotlin/objects/insecure-persistent-session-store-companion"},{"title":"KeystoreKeyStorage.Companion","href":"/sdk-reference/wallets/kotlin/objects/keystore-key-storage-companion"},{"title":"SignerError.Cancelled","href":"/sdk-reference/wallets/kotlin/objects/signer-error-cancelled"},{"title":"SignerError.InvalidEmail","href":"/sdk-reference/wallets/kotlin/objects/signer-error-invalid-email"},{"title":"SignerError.NotInitialized","href":"/sdk-reference/wallets/kotlin/objects/signer-error-not-initialized"},{"title":"SignerError.NotStarted","href":"/sdk-reference/wallets/kotlin/objects/signer-error-not-started"},{"title":"SignerError.TeeNotStarted","href":"/sdk-reference/wallets/kotlin/objects/signer-error-tee-not-started"},{"title":"SignerSelection.Admin","href":"/sdk-reference/wallets/kotlin/objects/signer-selection-admin"},{"title":"SignerType.ApiKey","href":"/sdk-reference/wallets/kotlin/objects/signer-type-api-key"},{"title":"SolanaChain.Solana","href":"/sdk-reference/wallets/kotlin/objects/solana-chain-solana"},{"title":"StellarChain.Stellar","href":"/sdk-reference/wallets/kotlin/objects/stellar-chain-stellar"},{"title":"TEEError.EncryptionUnavailable","href":"/sdk-reference/wallets/kotlin/objects/tee-error-encryption-unavailable"},{"title":"TEEError.ErrorLoadingService","href":"/sdk-reference/wallets/kotlin/objects/tee-error-error-loading-service"},{"title":"TEEError.HandshakeFailed","href":"/sdk-reference/wallets/kotlin/objects/tee-error-handshake-failed"},{"title":"TEEError.HandshakeRequired","href":"/sdk-reference/wallets/kotlin/objects/tee-error-handshake-required"},{"title":"TEEError.InvalidSignature","href":"/sdk-reference/wallets/kotlin/objects/tee-error-invalid-signature"},{"title":"TEEError.JWTRequired","href":"/sdk-reference/wallets/kotlin/objects/tee-error-jwt-required"},{"title":"TEEError.SignerStatusUnavailable","href":"/sdk-reference/wallets/kotlin/objects/tee-error-signer-status-unavailable"},{"title":"TEEError.Timeout","href":"/sdk-reference/wallets/kotlin/objects/tee-error-timeout"},{"title":"TEEError.UserCancelled","href":"/sdk-reference/wallets/kotlin/objects/tee-error-user-cancelled"},{"title":"TinkSecureStorage.Companion","href":"/sdk-reference/wallets/kotlin/objects/tink-secure-storage-companion"},{"title":"TinkWithFallbackSessionStore.Companion","href":"/sdk-reference/wallets/kotlin/objects/tink-with-fallback-session-store-companion"},{"title":"TokenAccountType.Wallet","href":"/sdk-reference/wallets/kotlin/objects/token-account-type-wallet"}]},{"group":"Composables","pages":[{"title":"CrossmintNonCustodialSignerProvider","href":"/sdk-reference/wallets/kotlin/composables/crossmint-non-custodial-signer-provider"},{"title":"CrossmintTEEWebView","href":"/sdk-reference/wallets/kotlin/composables/crossmint-tee-web-view"},{"title":"CrossmintTEEWebViewContainer","href":"/sdk-reference/wallets/kotlin/composables/crossmint-tee-web-view-container"},{"title":"PlatformSpecificProvider","href":"/sdk-reference/wallets/kotlin/composables/platform-specific-provider"}]},{"group":"Functions","pages":[{"title":"configure","href":"/sdk-reference/wallets/kotlin/functions/configure"},{"title":"createAndroidTEE","href":"/sdk-reference/wallets/kotlin/functions/create-android-tee"},{"title":"createAuthManager","href":"/sdk-reference/wallets/kotlin/functions/create-auth-manager"},{"title":"createCrossmintWallets","href":"/sdk-reference/wallets/kotlin/functions/create-crossmint-wallets"},{"title":"createDefaultAuthManager","href":"/sdk-reference/wallets/kotlin/functions/create-default-auth-manager"},{"title":"createDefaultSessionStore","href":"/sdk-reference/wallets/kotlin/functions/create-default-session-store"},{"title":"createEVMWallet","href":"/sdk-reference/wallets/kotlin/functions/create-evm-wallet"},{"title":"createPasskeyCredential","href":"/sdk-reference/wallets/kotlin/functions/create-passkey-credential"},{"title":"createSolanaWallet","href":"/sdk-reference/wallets/kotlin/functions/create-solana-wallet"},{"title":"createStellarWallet","href":"/sdk-reference/wallets/kotlin/functions/create-stellar-wallet"},{"title":"createWallet","href":"/sdk-reference/wallets/kotlin/functions/create-wallet"},{"title":"CrossmintTEEWebView","href":"/sdk-reference/wallets/kotlin/functions/crossmint-tee-web-view"},{"title":"flatMap","href":"/sdk-reference/wallets/kotlin/functions/flat-map"},{"title":"fold","href":"/sdk-reference/wallets/kotlin/functions/fold"},{"title":"getOrNull","href":"/sdk-reference/wallets/kotlin/functions/get-or-null"},{"title":"getOrThrow","href":"/sdk-reference/wallets/kotlin/functions/get-or-throw"},{"title":"isMainThread","href":"/sdk-reference/wallets/kotlin/functions/is-main-thread"},{"title":"makePasskeySignerCallback","href":"/sdk-reference/wallets/kotlin/functions/make-passkey-signer-callback"},{"title":"map","href":"/sdk-reference/wallets/kotlin/functions/map"},{"title":"mapError","href":"/sdk-reference/wallets/kotlin/functions/map-error"},{"title":"normalizeEmail","href":"/sdk-reference/wallets/kotlin/functions/normalize-email"},{"title":"runCatching","href":"/sdk-reference/wallets/kotlin/functions/run-catching"},{"title":"useSigner","href":"/sdk-reference/wallets/kotlin/functions/use-signer"},{"title":"waitForMessage","href":"/sdk-reference/wallets/kotlin/functions/wait-for-message"}]},{"group":"Properties","pages":[{"title":"LocalCrossmintSDK","href":"/sdk-reference/wallets/kotlin/properties/local-crossmint-sdk"}]}]}]}]}]},{"tab":"Identity","pages":[{"title":"Identity","href":"/identity/overview"}]},{"tab":"Stablecoin Orchestration","pages":[{"title":"Stablecoin Orchestration","href":"/stablecoin-orchestration/overview"}]},{"tab":"Checkout","pages":[{"title":"Checkout","href":"/payments/introduction"}]},{"tab":"Onramp","pages":[{"title":"Onramp","href":"/onramp/overview"}]},{"tab":"Offramp","pages":[{"title":"Offramp","href":"/offramp/overview"}]},{"tab":"Tokenization","pages":[{"title":"Tokenization","href":"/minting/introduction"}]},{"tab":"Agents","pages":[{"title":"Agents","href":"/agents/overview"}]}]},"title":"Get Transaction - Crossmint Docs","buildId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","deploymentId":"dpl_EnxDqhjaNc9a8MVa833TGULPd9uJ","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-26-lDe7V.js","utils-CWQmgYtH.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-4-Aw3rSD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C2zjXYA5.js","snippetPresets-DFmpFA7C.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-FJpQavWq.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-D_GvPF7k.js","shallow-Bs2ZB0NO.js","getApiPlaygroundDisplay-DCcqJJk-.js","CodeSnippet-DzDxawVe.js","CodeSnippets-aUr7fU-7.js","Page-CT9uE8Ip.js","getPastedJson-Y1fKsj_I.js","icon-DI4zTsDr.js","MethodPill-C0nDlmSQ.js","DuplicateIcon-NUXbx2nQ.js","createIcon-BdTHrPAi.js","DynamicMarkdown-CtpgKJwj.js","SectionHeading-B3x35tOt.js","axios-vUo_bRtp.js","Markdown-3OmurJMP.js","clsx-DMKzROTp.js","lib-DuNMoZ05.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-1ms6tsT-.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-Ke9xIMFx.js"]}