Unique string, such as a UUID, that identifies this request. It is not the transaction ID. To retry the request, send it again with the same key. If a transaction already exists for this key in the project, the API returns that transaction in its current status and ignores the new request body. Keys do not expire and are not returned in responses. See Transfer Tokens for details.
{"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/WalletsAPIs.json","api-reference/_open-api/MintingAPIs.json","api-reference/_open-api/PaymentsAPIs.json","api-reference/_open-api/AdminAPIs.json","api-reference/_open-api/VerifiableCredentialsAPIs.json","api-reference/_open-api/WalletsV1Alpha2.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":"6ae0efceb15a89aa7db1dd7d","collectionId":"1256cf4f-19e4-4552-a550-9998877a02d4","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ae0efceb15a89aa7db1dd7d"},"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":"6ae0efceb15a89aa7db1dd7d","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"API Reference","count":1090},{"language":"default","tag":"Wallets","count":926},{"language":"default","tag":"Wallets V0","count":490},{"language":"default","tag":"Wallets V1","count":436},{"language":"default","tag":"Kotlin SDK","count":411},{"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":167}]},"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":[],"isAtlas":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/transfer-token","slug":"/api-reference/wallets/transfer-token","pageMetadata":{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers","title":"Transfer Token","description":"Sends a token of any type from this wallet to a recipient","href":"/api-reference/wallets/transfer-token"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Sends a token of any type from this wallet to a recipient\"\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/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers","title":"Transfer Token","description":"Sends a token of any type from this wallet to a recipient","href":"/api-reference/wallets/transfer-token"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":["/_mintlify/custom/crossmint/d1c432d03c0c4224/scripts/dd.js","/_mintlify/custom/crossmint/7fc8d54052d3edb0/scripts/hubspot.js"],"openApiReferenceData":{"operation":{"description":"Sends a token of any type from this wallet to a recipient","operationId":"wallets.transfers.create","parameters":["b2b11413-a85b-4d5f-846c-b2fea1a22b33","62758b70-0fbe-46b6-8190-9fa6b3ac924a","d4bcab30-9d57-4555-b8c9-5554948f4881"],"requestBody":"2f347cc1-54a4-44e1-9e14-25df62f385c8","responses":{"201":"f85867ba-28b4-4630-8464-e7e830968b21"},"security":["f2eb1cd6-244e-4ea6-9346-d22ade5a2adc"],"summary":"Transfer Token","method":"post","type":"path","servers":["939234ad-102f-4738-b6db-471510f39a06","2b2515ae-0c5e-4f4d-b579-76036f87fd71"],"path":"/2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers","baseUrlOptions":["https://staging.crossmint.com/api","https://www.crossmint.com/api"],"title":"Transfer Token","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated","prefillPlaygroundWithExample":true,"prefillPlaygroundExamples":[{"body.oneOf.0.amount":"10","body.oneOf.0.recipient":"0x9fda6b2c3e4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f"},{"body.oneOf.0.amount":"10","body.oneOf.0.recipient":"email:friend@example.com"},{"body.oneOf.0.amount":"10","body.oneOf.0.recipient":"GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ","body.oneOf.0.memo.oneOf.0.type":"text","body.oneOf.0.memo.oneOf.0.value":"Invoice 1234"}]},"dependencies":{"parameters":{"b2b11413-a85b-4d5f-846c-b2fea1a22b33":{"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"}},"62758b70-0fbe-46b6-8190-9fa6b3ac924a":{"description":"A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`","in":"path","name":"tokenLocator","required":true,"schema":{"type":"string","isRequired":true,"description":"A token locator that supports native tokens, fungible tokens, and NFTs across different chains. It can be of the format:\n- `chain:address[:tokenId]`\n- `chain:currency`\n- `chain:address`","uniqueKey":"","typeLabel":"string"}},"d4bcab30-9d57-4555-b8c9-5554948f4881":{"description":"Unique string, such as a UUID, that identifies this request. It is not the transaction ID. To retry the request, send it again with the same key. If a transaction already exists for this key in the project, the API returns that transaction in its current status and ignores the new request body. Keys do not expire and are not returned in responses. See [Transfer Tokens](https://docs.crossmint.com/wallets/guides/transfer-tokens) for details.","in":"header","name":"x-idempotency-key","required":false,"schema":{"type":"string","isRequired":false,"description":"Unique string, such as a UUID, that identifies this request. It is not the transaction ID. To retry the request, send it again with the same key. If a transaction already exists for this key in the project, the API returns that transaction in its current status and ignores the new request body. Keys do not expire and are not returned in responses. See [Transfer Tokens](https://docs.crossmint.com/wallets/guides/transfer-tokens) for details.","uniqueKey":"","typeLabel":"string"}}},"requestBody":{"content":{"application/json":{"examples":{"Address Recipient":{"title":"Address Recipient","description":"Send 10 tokens to a wallet address. The token comes from the `tokenLocator` path parameter.","value":{"amount":"10","recipient":"0x9fda6b2c3e4d5e6f7a8b9c0d1e2f3a4b5c6d7e8f"}},"Email Recipient":{"title":"Email Recipient","description":"Send 10 tokens to the wallet of the user with this email. The user must have a wallet on the chain.","value":{"amount":"10","recipient":"email:friend@example.com"}},"Stellar Memo":{"title":"Stellar Memo","description":"Send 10 tokens to a Stellar address, with a text memo. The recipient needs a trustline for the token.","value":{"amount":"10","memo":{"type":"text","value":"Invoice 1234"},"recipient":"GA7QYNF7SOWQ3GLR2BGMZEHXAVIRZA4KVWLTJJFC7MGXUA74P7UJVSGZ"}}},"schema":{"oneOf":[{"type":"object","description":"Base fields for all token deposits","required":["amount","recipient"],"properties":{"amount":{"description":"Amount of tokens to transfer (in decimal value)","examples":["42.69"],"pattern":"^\\d+(?:\\.\\d*)?$","type":"string","isRequired":true,"uniqueKey":"oneOf.0.amount","typeLabel":"string"},"recipient":{"examples":["CROSSMINT"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.recipient","typeLabel":"string"},"fees":{"description":"Optional per-transaction fee configuration override. When omitted, the project default is used.","properties":{"mode":{"description":"Override the project-level fee mode for this transaction. When omitted, the project default is used.","enum":["project","user-fungible","user-native"],"type":"string","isRequired":true,"uniqueKey":"oneOf.0.fees.mode","typeLabel":"enum\u003cstring>"},"token":{"description":"The fungible token to use when mode is 'user-fungible'. Defaults to 'USDC' if omitted.","enum":["USDC"],"type":"string","uniqueKey":"oneOf.0.fees.token","typeLabel":"enum\u003cstring>"}},"required":["mode"],"type":"object","uniqueKey":"oneOf.0.fees","typeLabel":"object"},"memo":{"oneOf":[{"type":"object","description":"Memo for the transaction. Only supported for Stellar","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"hash","type":"string","isRequired":true,"uniqueKey":"oneOf.0.memo.oneOf.0.type","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.memo.oneOf.0.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.memo.oneOf.0","typeLabel":"object"},{"type":"object","description":"Memo for the transaction. Only supported for Stellar","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"id","type":"string","isRequired":true,"uniqueKey":"oneOf.0.memo.oneOf.1.type","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.0.memo.oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.memo.oneOf.1","typeLabel":"object"},{"type":"object","description":"Memo for the transaction. Only supported for Stellar","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"text","type":"string","isRequired":true,"uniqueKey":"oneOf.0.memo.oneOf.2.type","typeLabel":"string"},"value":{"maxLength":28,"type":"string","isRequired":true,"uniqueKey":"oneOf.0.memo.oneOf.2.value","typeLabel":"string"}},"uniqueKey":"oneOf.0.memo.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.0.memo","typeLabel":"object"},"signer":{"description":"Optional signer locator. Defaults to admin signer","examples":["external-wallet:0xdeadbeef"],"title":"Signer Locator","type":"string","uniqueKey":"oneOf.0.signer","typeLabel":"string"},"transactionType":{"oneOf":[{"type":"string","title":"Direct transaction","description":"Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.","default":"direct","const":"direct","uniqueKey":"oneOf.0.transactionType.oneOf.0","typeLabel":"string"},{"type":"string","title":"Onramp transaction","description":"Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.","default":"direct","const":"onramp","uniqueKey":"oneOf.0.transactionType.oneOf.1","typeLabel":"string"},{"type":"string","title":"Regulated transfer transaction","description":"Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.","default":"direct","const":"regulated-transfer","uniqueKey":"oneOf.0.transactionType.oneOf.2","typeLabel":"string"}],"uniqueKey":"oneOf.0.transactionType","typeLabel":"string"}},"uniqueKey":"oneOf.0","typeLabel":"object"},{"type":"object","description":"Base fields for all token transfers","required":["recipient"],"properties":{"recipient":{"description":"An address locator that supports different types of recipients. It can be of the format:\n- `\u003caddress>` (wallet address)\n- `chain:address` (e.g. ethereum:0x1234...)\n- `address:\u003cblockchain_address>[:chain]`\n- `email:\u003cemail_address>[:chain]`\n- `phoneNumber:\u003cphone_number>[:chain]`\n- `twitter:\u003ctwitter_handle>[:chain]`\n- `x:\u003ctwitter_handle>[:chain]`\n- `userId:\u003cuser_id>[:chain]`","type":"string","isRequired":true,"uniqueKey":"oneOf.1.recipient","typeLabel":"string"},"amount":{"description":"Amount of tokens to transfer (in decimal value)","examples":["42.69"],"pattern":"^\\d+(?:\\.\\d*)?$","type":"string","uniqueKey":"oneOf.1.amount","typeLabel":"string"},"fees":{"description":"Optional per-transaction fee configuration override. When omitted, the project default is used.","properties":{"mode":{"description":"Override the project-level fee mode for this transaction. When omitted, the project default is used.","enum":["project","user-fungible","user-native"],"type":"string","isRequired":true,"uniqueKey":"oneOf.1.fees.mode","typeLabel":"enum\u003cstring>"},"token":{"description":"The fungible token to use when mode is 'user-fungible'. Defaults to 'USDC' if omitted.","enum":["USDC"],"type":"string","uniqueKey":"oneOf.1.fees.token","typeLabel":"enum\u003cstring>"}},"required":["mode"],"type":"object","uniqueKey":"oneOf.1.fees","typeLabel":"object"},"memo":{"oneOf":[{"type":"object","description":"Memo for the transaction. Only supported for Stellar","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"hash","type":"string","isRequired":true,"uniqueKey":"oneOf.1.memo.oneOf.0.type","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.memo.oneOf.0.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.memo.oneOf.0","typeLabel":"object"},{"type":"object","description":"Memo for the transaction. Only supported for Stellar","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"id","type":"string","isRequired":true,"uniqueKey":"oneOf.1.memo.oneOf.1.type","typeLabel":"string"},"value":{"type":"string","isRequired":true,"uniqueKey":"oneOf.1.memo.oneOf.1.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.memo.oneOf.1","typeLabel":"object"},{"type":"object","description":"Memo for the transaction. Only supported for Stellar","required":["type","value"],"example":{"type":"text","value":"Hello, world!"},"properties":{"type":{"const":"text","type":"string","isRequired":true,"uniqueKey":"oneOf.1.memo.oneOf.2.type","typeLabel":"string"},"value":{"maxLength":28,"type":"string","isRequired":true,"uniqueKey":"oneOf.1.memo.oneOf.2.value","typeLabel":"string"}},"uniqueKey":"oneOf.1.memo.oneOf.2","typeLabel":"object"}],"uniqueKey":"oneOf.1.memo","typeLabel":"object"},"signer":{"description":"Optional signer locator. Defaults to admin signer","examples":["external-wallet:0xdeadbeef"],"title":"Signer Locator","type":"string","uniqueKey":"oneOf.1.signer","typeLabel":"string"},"transactionType":{"oneOf":[{"type":"string","title":"Direct transaction","description":"Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.","default":"direct","const":"direct","uniqueKey":"oneOf.1.transactionType.oneOf.0","typeLabel":"string"},{"type":"string","title":"Onramp transaction","description":"Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.","default":"direct","const":"onramp","uniqueKey":"oneOf.1.transactionType.oneOf.1","typeLabel":"string"},{"type":"string","title":"Regulated transfer transaction","description":"Specifies the type of transaction. Choose 'direct' for standard interactions or 'regulated-transfer' for operations requiring compliance checks.","default":"direct","const":"regulated-transfer","uniqueKey":"oneOf.1.transactionType.oneOf.2","typeLabel":"string"}],"uniqueKey":"oneOf.1.transactionType","typeLabel":"string"}},"uniqueKey":"oneOf.1","typeLabel":"object"}],"uniqueKey":"","typeLabel":"object"},"exampleType":"examples"}},"required":true,"exampleType":"examples"},"responses":{"f85867ba-28b4-4630-8464-e7e830968b21":{"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"},"paymasterData":{"description":"A hex string","type":"string","uniqueKey":"oneOf.1.onChain.userOperation.paymasterData","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 created.","exampleType":"generated"}},"security":{"f2eb1cd6-244e-4ea6-9346-d22ade5a2adc":{"apiKey":{"description":"API key required for authentication","in":"header","name":"X-API-KEY","type":"apiKey","scopes":[],"schemeName":"apiKey"}}},"servers":{"939234ad-102f-4738-b6db-471510f39a06":{"description":"Staging environment (testnets)","url":"https://staging.crossmint.com/api"},"2b2515ae-0c5e-4f4d-b579-76036f87fd71":{"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/WalletsV1Alpha2.json"},"subdomain":"crossmint","siteName":"Crossmint Docs","title":"Transfer Token - Crossmint Docs","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-27T11:35:38.846Z","originalFileLocation":"api-reference/wallets/transfer-token.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=\"Sends a token of any type from this wallet to a recipient\">\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=\"Transfer Token - Crossmint Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Sends a token of any type from this wallet to a recipient\">\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/transfer-token\">\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=Transfer+Token\u0026amp;description=Sends+a+token+of+any+type+from+this+wallet+to+a+recipient\u0026amp;theme=754218d9ca07cbe75c9ed33a\u0026amp;signature=e7792adb32f8be342ec4d06116d8ebc7cda28574fa94ddeb77cc187470dea029\">\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=\"Transfer Token - Crossmint Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Sends a token of any type from this wallet to a recipient\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://crossmint.mintlify.app/_mintlify/api/og/v2?division=REST\u0026amp;title=Transfer+Token\u0026amp;description=Sends+a+token+of+any+type+from+this+wallet+to+a+recipient\u0026amp;theme=754218d9ca07cbe75c9ed33a\u0026amp;signature=e7792adb32f8be342ec4d06116d8ebc7cda28574fa94ddeb77cc187470dea029\">\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/transfer-token\">\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/transfer-token.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/transfer-token#webpage\",\"url\":\"https://docs.crossmint.com/api-reference/wallets/transfer-token\",\"name\":\"Transfer Token\",\"description\":\"Sends a token of any type from this wallet to a recipient\",\"dateModified\":\"2026-01-27T11:35:38.846Z\",\"isPartOf\":{\"@id\":\"https://docs.crossmint.com#website\"},\"breadcrumb\":{\"@id\":\"https://docs.crossmint.com/api-reference/wallets/transfer-token#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.crossmint.com/api-reference/wallets/transfer-token#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\":\"Transfer Token\",\"item\":\"https://docs.crossmint.com/api-reference/wallets/transfer-token\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.crossmint.com/api-reference/wallets/transfer-token#apireference\",\"headline\":\"Transfer Token\",\"name\":\"Transfer Token\",\"description\":\"Sends a token of any type from this wallet to a recipient\",\"url\":\"https://docs.crossmint.com/api-reference/wallets/transfer-token\",\"mainEntityOfPage\":{\"@id\":\"https://docs.crossmint.com/api-reference/wallets/transfer-token#webpage\"},\"dateModified\":\"2026-01-27T11:35:38.846Z\",\"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/WalletsV1Alpha2.json POST /2025-06-09/wallets","title":"Create Wallet","href":"/api-reference/wallets/create-wallet"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.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/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/balances","title":"Get Wallet Balance","href":"/api-reference/wallets/get-wallet-balance"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /v1-alpha2/wallets/{walletLocator}/balances","title":"Fund Wallet","href":"/api-reference/wallets/fund-wallet"},{"openapi":"api-reference/_open-api/WalletsAPIs.json GET /2022-06-09/wallets/{identifier}/nfts","title":"Get NFTs from Wallet","href":"/api-reference/wallets/get-nfts-from-wallet"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/transactions","title":"Create Transaction","href":"/api-reference/wallets/create-transaction"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}","title":"Get Transaction","href":"/api-reference/wallets/get-transaction"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/transactions","title":"Get Wallet Transactions","href":"/api-reference/wallets/get-transactions"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals","title":"Approve Transaction","href":"/api-reference/wallets/approve-transaction"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/signatures","title":"Create Signature","href":"/api-reference/wallets/create-signature"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/signatures","title":"Get All Signatures","href":"/api-reference/wallets/get-signatures"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}","title":"Get Signature","href":"/api-reference/wallets/get-signature"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals","title":"Approve Signature","href":"/api-reference/wallets/approve-signature"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/signers","title":"Create Delegated Signer","href":"/api-reference/wallets/register-delegated-key"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.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/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/signers/{signer}","title":"Get Delegated Signer","href":"/api-reference/wallets/get-signer"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.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/WalletsV1Alpha2.json DELETE /2025-06-09/wallets/{walletLocator}/recovery-methods/{signer}","title":"Remove Recovery Method","description":"Remove one recovery method from a wallet.","href":"/api-reference/wallets/remove-recovery-method"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers","title":"Transfer Token","href":"/api-reference/wallets/transfer-token"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers/{transactionId}","title":"Get Transfer Transaction","description":"Retrieves the current status and details of a specific transfer transaction.\n\n**API scope required**: `wallets:transactions.read`","href":"/api-reference/wallets/get-transfer-token"},{"title":"List Wallet Transfers","openapi":"api-reference/_open-api/WalletsV1Alpha2.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":"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.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/WalletsV1Alpha2.json POST /2025-06-09/wallets","title":"Create Wallet","href":"/api-reference/wallets/create-wallet"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.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/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/balances","title":"Get Wallet Balance","href":"/api-reference/wallets/get-wallet-balance"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /v1-alpha2/wallets/{walletLocator}/balances","title":"Fund Wallet","href":"/api-reference/wallets/fund-wallet"},{"openapi":"api-reference/_open-api/WalletsAPIs.json GET /2022-06-09/wallets/{identifier}/nfts","title":"Get NFTs from Wallet","href":"/api-reference/wallets/get-nfts-from-wallet"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/transactions","title":"Create Transaction","href":"/api-reference/wallets/create-transaction"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}","title":"Get Transaction","href":"/api-reference/wallets/get-transaction"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/transactions","title":"Get Wallet Transactions","href":"/api-reference/wallets/get-transactions"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/transactions/{transactionId}/approvals","title":"Approve Transaction","href":"/api-reference/wallets/approve-transaction"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/signatures","title":"Create Signature","href":"/api-reference/wallets/create-signature"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/signatures","title":"Get All Signatures","href":"/api-reference/wallets/get-signatures"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}","title":"Get Signature","href":"/api-reference/wallets/get-signature"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/signatures/{signatureId}/approvals","title":"Approve Signature","href":"/api-reference/wallets/approve-signature"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/signers","title":"Create Delegated Signer","href":"/api-reference/wallets/register-delegated-key"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.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/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/signers/{signer}","title":"Get Delegated Signer","href":"/api-reference/wallets/get-signer"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.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/WalletsV1Alpha2.json DELETE /2025-06-09/wallets/{walletLocator}/recovery-methods/{signer}","title":"Remove Recovery Method","description":"Remove one recovery method from a wallet.","href":"/api-reference/wallets/remove-recovery-method"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json POST /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers","title":"Transfer Token","href":"/api-reference/wallets/transfer-token"},{"openapi":"api-reference/_open-api/WalletsV1Alpha2.json GET /2025-06-09/wallets/{walletLocator}/tokens/{tokenLocator}/transfers/{transactionId}","title":"Get Transfer Transaction","description":"Retrieves the current status and details of a specific transfer transaction.\n\n**API scope required**: `wallets:transactions.read`","href":"/api-reference/wallets/get-transfer-token"},{"title":"List Wallet Transfers","openapi":"api-reference/_open-api/WalletsV1Alpha2.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":"Wallet","href":"/sdk-reference/wallets/swift/classes/wallet"},{"title":"EVMWallet","href":"/sdk-reference/wallets/swift/classes/evmwallet"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/swift/classes/solanawallet"},{"title":"StellarWallet","href":"/sdk-reference/wallets/swift/classes/stellarwallet"},{"title":"CrossmintAuthManager","href":"/sdk-reference/wallets/swift/classes/crossmintauthmanager"},{"title":"Crossmintclient","href":"/sdk-reference/wallets/swift/classes/crossmintclient"},{"title":"CrossmintSDK","href":"/sdk-reference/wallets/swift/classes/crossmintsdk"},{"title":"Crossmintclientsdk","href":"/sdk-reference/wallets/swift/classes/crossmintclientsdk"},{"title":"ApiKeySigner","href":"/sdk-reference/wallets/swift/classes/apikeysigner"},{"title":"PasskeySigner","href":"/sdk-reference/wallets/swift/classes/passkeysigner"},{"title":"Passkey","href":"/sdk-reference/wallets/swift/classes/passkey"},{"title":"EVMEmailSigner","href":"/sdk-reference/wallets/swift/classes/evmemailsigner"},{"title":"EVMKeyPairSigner","href":"/sdk-reference/wallets/swift/classes/evmkeypairsigner"},{"title":"SolanaEmailSigner","href":"/sdk-reference/wallets/swift/classes/solanaemailsigner"},{"title":"StellarEmailSigner","href":"/sdk-reference/wallets/swift/classes/stellaremailsigner"},{"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":"Keychainsecurestorage","href":"/sdk-reference/wallets/swift/classes/keychainsecurestorage"},{"title":"Keychainsecurewalletstorage","href":"/sdk-reference/wallets/swift/classes/keychainsecurewalletstorage"},{"title":"ABI","href":"/sdk-reference/wallets/swift/classes/abi"}]},{"group":"Protocols","pages":[{"title":"CrossmintWallets","href":"/sdk-reference/wallets/swift/protocols/crossmintwallets"},{"title":"Signer","href":"/sdk-reference/wallets/swift/protocols/signer"},{"title":"SignerProvider","href":"/sdk-reference/wallets/swift/protocols/signerprovider"},{"title":"AuthManager","href":"/sdk-reference/wallets/swift/protocols/authmanager"},{"title":"AuthService","href":"/sdk-reference/wallets/swift/protocols/authservice"},{"title":"Crossmintservice","href":"/sdk-reference/wallets/swift/protocols/crossmintservice"},{"title":"SmartWalletService","href":"/sdk-reference/wallets/swift/protocols/smartwalletservice"},{"title":"EVMCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/evmcompatiblesigner"},{"title":"SolanaCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/solanacompatiblesigner"},{"title":"StellarCompatibleSigner","href":"/sdk-reference/wallets/swift/protocols/stellarcompatiblesigner"},{"title":"BlockchainAddress","href":"/sdk-reference/wallets/swift/protocols/blockchainaddress"},{"title":"AnyChain","href":"/sdk-reference/wallets/swift/protocols/anychain"},{"title":"SpecificChain","href":"/sdk-reference/wallets/swift/protocols/specificchain"},{"title":"ChainWithSigners","href":"/sdk-reference/wallets/swift/protocols/chainwithsigners"},{"title":"WalletOnChain","href":"/sdk-reference/wallets/swift/protocols/walletonchain"},{"title":"Clientsdk","href":"/sdk-reference/wallets/swift/protocols/clientsdk"},{"title":"Jsoncoder","href":"/sdk-reference/wallets/swift/protocols/jsoncoder"},{"title":"Requestbuilder","href":"/sdk-reference/wallets/swift/protocols/requestbuilder"},{"title":"Authenticatedservice","href":"/sdk-reference/wallets/swift/protocols/authenticatedservice"},{"title":"Serviceerror","href":"/sdk-reference/wallets/swift/protocols/serviceerror"},{"title":"Securestorage","href":"/sdk-reference/wallets/swift/protocols/securestorage"},{"title":"Securewalletstorage","href":"/sdk-reference/wallets/swift/protocols/securewalletstorage"},{"title":"TransactionRequest","href":"/sdk-reference/wallets/swift/protocols/transactionrequest"},{"title":"TransactionApiModel","href":"/sdk-reference/wallets/swift/protocols/transactionapimodel"},{"title":"SignatureApiModel","href":"/sdk-reference/wallets/swift/protocols/signatureapimodel"},{"title":"AdminSignerData","href":"/sdk-reference/wallets/swift/protocols/adminsignerdata"},{"title":"AdminSignerApiModel","href":"/sdk-reference/wallets/swift/protocols/adminsignerapimodel"},{"title":"SmartWalletCreationQueryParams","href":"/sdk-reference/wallets/swift/protocols/smartwalletcreationqueryparams"},{"title":"WalletTypeTransactionMapping","href":"/sdk-reference/wallets/swift/protocols/wallettypetransactionmapping"}]},{"group":"Enums","pages":[{"title":"Chain","href":"/sdk-reference/wallets/swift/enums/chain"},{"title":"EVMChain","href":"/sdk-reference/wallets/swift/enums/evmchain"},{"title":"SolanaChain","href":"/sdk-reference/wallets/swift/enums/solanachain"},{"title":"StellarChain","href":"/sdk-reference/wallets/swift/enums/stellarchain"},{"title":"UnknownChain","href":"/sdk-reference/wallets/swift/enums/unknownchain"},{"title":"ChainType","href":"/sdk-reference/wallets/swift/enums/chaintype"},{"title":"Crossmintenvironment","href":"/sdk-reference/wallets/swift/enums/crossmintenvironment"},{"title":"WalletType","href":"/sdk-reference/wallets/swift/enums/wallettype"},{"title":"SignerType","href":"/sdk-reference/wallets/swift/enums/signertype"},{"title":"Signers","href":"/sdk-reference/wallets/swift/enums/signers"},{"title":"EVMSigners","href":"/sdk-reference/wallets/swift/enums/evmsigners"},{"title":"SolanaSigners","href":"/sdk-reference/wallets/swift/enums/solanasigners"},{"title":"StellarSigners","href":"/sdk-reference/wallets/swift/enums/stellarsigners"},{"title":"CryptoCurrency","href":"/sdk-reference/wallets/swift/enums/cryptocurrency"},{"title":"FiatCurrency","href":"/sdk-reference/wallets/swift/enums/fiatcurrency"},{"title":"Address","href":"/sdk-reference/wallets/swift/enums/address"},{"title":"Owner","href":"/sdk-reference/wallets/swift/enums/owner"},{"title":"WalletError","href":"/sdk-reference/wallets/swift/enums/walleterror"},{"title":"TransactionError","href":"/sdk-reference/wallets/swift/enums/transactionerror"},{"title":"SignerError","href":"/sdk-reference/wallets/swift/enums/signererror"},{"title":"AuthError","href":"/sdk-reference/wallets/swift/enums/autherror"},{"title":"AuthManagerError","href":"/sdk-reference/wallets/swift/enums/authmanagererror"},{"title":"SignatureError","href":"/sdk-reference/wallets/swift/enums/signatureerror"},{"title":"Emailsignererror","href":"/sdk-reference/wallets/swift/enums/emailsignererror"},{"title":"Requestbuildererror","href":"/sdk-reference/wallets/swift/enums/requestbuildererror"},{"title":"BlockchainAddressError","href":"/sdk-reference/wallets/swift/enums/blockchainaddresserror"},{"title":"Crossmintserviceerror","href":"/sdk-reference/wallets/swift/enums/crossmintserviceerror"},{"title":"LinkedUserError","href":"/sdk-reference/wallets/swift/enums/linkedusererror"},{"title":"Securestorageerror","href":"/sdk-reference/wallets/swift/enums/securestorageerror"},{"title":"Passkeyerrortype","href":"/sdk-reference/wallets/swift/enums/passkeyerrortype"},{"title":"Attestationparsingerror","href":"/sdk-reference/wallets/swift/enums/attestationparsingerror"},{"title":"CryptoPaymentFailureCode","href":"/sdk-reference/wallets/swift/enums/cryptopaymentfailurecode"},{"title":"AuthenticationStatus","href":"/sdk-reference/wallets/swift/enums/authenticationstatus"},{"title":"OTPAuthenticationStatus","href":"/sdk-reference/wallets/swift/enums/otpauthenticationstatus"},{"title":"BlockchainExplorerLinkType","href":"/sdk-reference/wallets/swift/enums/blockchainexplorerlinktype"},{"title":"TransactionStatusApiModel","href":"/sdk-reference/wallets/swift/enums/transactionstatusapimodel"},{"title":"AdminSignerDataType","href":"/sdk-reference/wallets/swift/enums/adminsignerdatatype"},{"title":"ChainAndAddress","href":"/sdk-reference/wallets/swift/enums/chainandaddress"},{"title":"TransferTokenLocator","href":"/sdk-reference/wallets/swift/enums/transfertokenlocator"},{"title":"TransferTokenRecipient","href":"/sdk-reference/wallets/swift/enums/transfertokenrecipient"},{"title":"WalletLocator","href":"/sdk-reference/wallets/swift/enums/walletlocator"},{"title":"EVMSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/evmsmartwalletmapping"},{"title":"SolanaSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/solanasmartwalletmapping"},{"title":"StellarSmartWalletMapping","href":"/sdk-reference/wallets/swift/enums/stellarsmartwalletmapping"},{"title":"Unknownmapping","href":"/sdk-reference/wallets/swift/enums/unknownmapping"},{"title":"SolanaSupportedToken","href":"/sdk-reference/wallets/swift/enums/solanasupportedtoken"},{"title":"StellarSupportedToken","href":"/sdk-reference/wallets/swift/enums/stellarsupportedtoken"},{"title":"EIP712","href":"/sdk-reference/wallets/swift/enums/eip712"},{"title":"Either","href":"/sdk-reference/wallets/swift/enums/either"},{"title":"Attestationconveyancepreference","href":"/sdk-reference/wallets/swift/enums/attestationconveyancepreference"},{"title":"Authenticatorattachment","href":"/sdk-reference/wallets/swift/enums/authenticatorattachment"},{"title":"Authenticatortransport","href":"/sdk-reference/wallets/swift/enums/authenticatortransport"},{"title":"Largeblobsupport","href":"/sdk-reference/wallets/swift/enums/largeblobsupport"},{"title":"Publickeycredentialtype","href":"/sdk-reference/wallets/swift/enums/publickeycredentialtype"},{"title":"Residentkeyrequirement","href":"/sdk-reference/wallets/swift/enums/residentkeyrequirement"},{"title":"Userverificationrequirement","href":"/sdk-reference/wallets/swift/enums/userverificationrequirement"},{"title":"SignerConfig","href":"/sdk-reference/wallets/swift/enums/signerconfig"},{"title":"TransferType","href":"/sdk-reference/wallets/swift/enums/transfertype"}]},{"group":"Structs","pages":[{"title":"Transaction","href":"/sdk-reference/wallets/swift/structs/transaction"},{"title":"TransactionSummary","href":"/sdk-reference/wallets/swift/structs/transactionsummary"},{"title":"Balances","href":"/sdk-reference/wallets/swift/structs/balances"},{"title":"Balance","href":"/sdk-reference/wallets/swift/structs/balance"},{"title":"TokenBalance","href":"/sdk-reference/wallets/swift/structs/tokenbalance"},{"title":"ChainBalances","href":"/sdk-reference/wallets/swift/structs/chainbalances"},{"title":"NFT","href":"/sdk-reference/wallets/swift/structs/nft"},{"title":"WalletConfig","href":"/sdk-reference/wallets/swift/structs/walletconfig"},{"title":"WalletOptions","href":"/sdk-reference/wallets/swift/structs/walletoptions"},{"title":"WalletApiModel","href":"/sdk-reference/wallets/swift/structs/walletapimodel"},{"title":"WalletConfigApiModel","href":"/sdk-reference/wallets/swift/structs/walletconfigapimodel"},{"title":"CreateWalletParams","href":"/sdk-reference/wallets/swift/structs/createwalletparams"},{"title":"Apikey","href":"/sdk-reference/wallets/swift/structs/apikey"},{"title":"Approvals","href":"/sdk-reference/wallets/swift/structs/approvals"},{"title":"ApprovalEntry","href":"/sdk-reference/wallets/swift/structs/approvalentry"},{"title":"SubmittedApprovalEntry","href":"/sdk-reference/wallets/swift/structs/submittedapprovalentry"},{"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":"TokenLinkOptions","href":"/sdk-reference/wallets/swift/structs/tokenlinkoptions"},{"title":"EmailSignerData","href":"/sdk-reference/wallets/swift/structs/emailsignerdata"},{"title":"EmailSignerApiModel","href":"/sdk-reference/wallets/swift/structs/emailsignerapimodel"},{"title":"PasskeySignerData","href":"/sdk-reference/wallets/swift/structs/passkeysignerdata"},{"title":"ApiKeySignerData","href":"/sdk-reference/wallets/swift/structs/apikeysignerdata"},{"title":"ApiKeySignerApiModel","href":"/sdk-reference/wallets/swift/structs/apikeysignerapimodel"},{"title":"ExternalWalletSignerData","href":"/sdk-reference/wallets/swift/structs/externalwalletsignerdata"},{"title":"ExternalWalletSignerApiModel","href":"/sdk-reference/wallets/swift/structs/externalwalletsignerapimodel"},{"title":"PhoneSignerData","href":"/sdk-reference/wallets/swift/structs/phonesignerdata"},{"title":"PhoneSignerApiModel","href":"/sdk-reference/wallets/swift/structs/phonesignerapimodel"},{"title":"SignerApiModel","href":"/sdk-reference/wallets/swift/structs/signerapimodel"},{"title":"EVMAddress","href":"/sdk-reference/wallets/swift/structs/evmaddress"},{"title":"EvmPasskeySignerApiModel","href":"/sdk-reference/wallets/swift/structs/evmpasskeysignerapimodel"},{"title":"SolanaAddress","href":"/sdk-reference/wallets/swift/structs/solanaaddress"},{"title":"StellarAddress","href":"/sdk-reference/wallets/swift/structs/stellaraddress"},{"title":"CreateEVMTransactionRequest","href":"/sdk-reference/wallets/swift/structs/createevmtransactionrequest"},{"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":"CreateSignatureRequest","href":"/sdk-reference/wallets/swift/structs/createsignaturerequest"},{"title":"FetchTransactionRequest","href":"/sdk-reference/wallets/swift/structs/fetchtransactionrequest"},{"title":"EVMTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/evmtransactionapimodel"},{"title":"SolanaTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/solanatransactionapimodel"},{"title":"StellarTransactionApiModel","href":"/sdk-reference/wallets/swift/structs/stellartransactionapimodel"},{"title":"Unknownapitransaction","href":"/sdk-reference/wallets/swift/structs/unknownapitransaction"},{"title":"TransactionErrorApiModel","href":"/sdk-reference/wallets/swift/structs/transactionerrorapimodel"},{"title":"FundWalletRequest","href":"/sdk-reference/wallets/swift/structs/fundwalletrequest"},{"title":"FundWalletApiRequest","href":"/sdk-reference/wallets/swift/structs/fundwalletapirequest"},{"title":"TransferTokenRequest","href":"/sdk-reference/wallets/swift/structs/transfertokenrequest"},{"title":"SignMessageRequest","href":"/sdk-reference/wallets/swift/structs/signmessagerequest"},{"title":"SignTypedDataRequest","href":"/sdk-reference/wallets/swift/structs/signtypeddatarequest"},{"title":"SignRequest","href":"/sdk-reference/wallets/swift/structs/signrequest"},{"title":"SignRequestApi","href":"/sdk-reference/wallets/swift/structs/signrequestapi"},{"title":"MessageSignatureResponse","href":"/sdk-reference/wallets/swift/structs/messagesignatureresponse"},{"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":"RefreshJWTRequest","href":"/sdk-reference/wallets/swift/structs/refreshjwtrequest"},{"title":"RefreshJWTResponse","href":"/sdk-reference/wallets/swift/structs/refreshjwtresponse"},{"title":"LogoutRequest","href":"/sdk-reference/wallets/swift/structs/logoutrequest"},{"title":"GetMeWalletRequest","href":"/sdk-reference/wallets/swift/structs/getmewalletrequest"},{"title":"GetBalanceQueryParams","href":"/sdk-reference/wallets/swift/structs/getbalancequeryparams"},{"title":"GetNTFQueryParams","href":"/sdk-reference/wallets/swift/structs/getntfqueryparams"},{"title":"GetTransationQueryParams","href":"/sdk-reference/wallets/swift/structs/gettransationqueryparams"},{"title":"Smartwalletconfigrequest","href":"/sdk-reference/wallets/swift/structs/smartwalletconfigrequest"},{"title":"Accountwalletconfig","href":"/sdk-reference/wallets/swift/structs/accountwalletconfig"},{"title":"ERC20Encoder","href":"/sdk-reference/wallets/swift/structs/erc20encoder"},{"title":"Balancetransformer","href":"/sdk-reference/wallets/swift/structs/balancetransformer"},{"title":"NonCustodialSignerCallback","href":"/sdk-reference/wallets/swift/structs/noncustodialsignercallback"},{"title":"Defaultcrossmintservice","href":"/sdk-reference/wallets/swift/structs/defaultcrossmintservice"},{"title":"Defaultjsoncoder","href":"/sdk-reference/wallets/swift/structs/defaultjsoncoder"},{"title":"Defaultrequestbuilder","href":"/sdk-reference/wallets/swift/structs/defaultrequestbuilder"},{"title":"Noopsecurestorage","href":"/sdk-reference/wallets/swift/structs/noopsecurestorage"},{"title":"Noopsecurewalletstorage","href":"/sdk-reference/wallets/swift/structs/noopsecurewalletstorage"},{"title":"ABIAddress","href":"/sdk-reference/wallets/swift/structs/abiaddress"},{"title":"ABIUInt64","href":"/sdk-reference/wallets/swift/structs/abiuint64"},{"title":"Passkeyerror","href":"/sdk-reference/wallets/swift/structs/passkeyerror"},{"title":"Passkeyauthenticatordata","href":"/sdk-reference/wallets/swift/structs/passkeyauthenticatordata"},{"title":"Passkeyauthenticatorflags","href":"/sdk-reference/wallets/swift/structs/passkeyauthenticatorflags"},{"title":"Passkeycredentialcreationoptions","href":"/sdk-reference/wallets/swift/structs/passkeycredentialcreationoptions"},{"title":"Passkeycredentialrequestoptions","href":"/sdk-reference/wallets/swift/structs/passkeycredentialrequestoptions"},{"title":"Attestationpublickeyparser","href":"/sdk-reference/wallets/swift/structs/attestationpublickeyparser"},{"title":"Parsedcredentialpublickey","href":"/sdk-reference/wallets/swift/structs/parsedcredentialpublickey"},{"title":"Parsedpublickeyp256","href":"/sdk-reference/wallets/swift/structs/parsedpublickeyp256"},{"title":"Publickeycredentialdescriptor","href":"/sdk-reference/wallets/swift/structs/publickeycredentialdescriptor"},{"title":"Publickeycredentialparameters","href":"/sdk-reference/wallets/swift/structs/publickeycredentialparameters"},{"title":"Publickeycredentialrpentity","href":"/sdk-reference/wallets/swift/structs/publickeycredentialrpentity"},{"title":"Publickeycredentialuserentity","href":"/sdk-reference/wallets/swift/structs/publickeycredentialuserentity"},{"title":"Authenticatorselectioncriteria","href":"/sdk-reference/wallets/swift/structs/authenticatorselectioncriteria"},{"title":"Authenticationextensionsclientinputs","href":"/sdk-reference/wallets/swift/structs/authenticationextensionsclientinputs"},{"title":"Authenticationextensionsclientoutputsjson","href":"/sdk-reference/wallets/swift/structs/authenticationextensionsclientoutputsjson"},{"title":"Authenticationextensionslargeblobinputs","href":"/sdk-reference/wallets/swift/structs/authenticationextensionslargeblobinputs"},{"title":"Authenticationextensionslargebloboutputsjson","href":"/sdk-reference/wallets/swift/structs/authenticationextensionslargebloboutputsjson"},{"title":"Authenticationresponsejson","href":"/sdk-reference/wallets/swift/structs/authenticationresponsejson"},{"title":"Authenticatorassertionresponsejson","href":"/sdk-reference/wallets/swift/structs/authenticatorassertionresponsejson"},{"title":"Authenticatorattestationresponsejson","href":"/sdk-reference/wallets/swift/structs/authenticatorattestationresponsejson"},{"title":"Registrationresponsejson","href":"/sdk-reference/wallets/swift/structs/registrationresponsejson"},{"title":"AddDelegatedSignerResponse","href":"/sdk-reference/wallets/swift/structs/adddelegatedsignerresponse"},{"title":"ChainRegistrationEntry","href":"/sdk-reference/wallets/swift/structs/chainregistrationentry"},{"title":"DelegatedSignerEntry","href":"/sdk-reference/wallets/swift/structs/delegatedsignerentry"},{"title":"RegistrationApprovals","href":"/sdk-reference/wallets/swift/structs/registrationapprovals"},{"title":"Walletdelegatedsignerconfigapimodel","href":"/sdk-reference/wallets/swift/structs/walletdelegatedsignerconfigapimodel"},{"title":"Transfer","href":"/sdk-reference/wallets/swift/structs/transfer"},{"title":"TransferListResult","href":"/sdk-reference/wallets/swift/structs/transferlistresult"},{"title":"ListTransfersQueryParams","href":"/sdk-reference/wallets/swift/structs/listtransfersqueryparams"}]},{"group":"Type Aliases","pages":[{"title":"Secp256k1PrivateKey","href":"/sdk-reference/wallets/swift/type-aliases/secp256k1privatekey"},{"title":"Secp256k1PublicKey","href":"/sdk-reference/wallets/swift/type-aliases/secp256k1publickey"},{"title":"Base64urlstring","href":"/sdk-reference/wallets/swift/type-aliases/base64urlstring"},{"title":"Publickeycredentialjson","href":"/sdk-reference/wallets/swift/type-aliases/publickeycredentialjson"}]},{"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"},{"title":"Crossmintcommontypes","href":"/sdk-reference/wallets/swift/extensions/crossmintcommontypes"}]}]},{"group":"Kotlin SDK","icon":"/images/icons/kotlin.png","pages":[{"group":"Classes","pages":[{"title":"Crossmint","deprecated":true,"href":"/sdk-reference/wallets/kotlin/classes/crossmint"},{"title":"CrossmintSDK","href":"/sdk-reference/wallets/kotlin/classes/crossmint-sdk"},{"title":"CrossmintAuthManager","href":"/sdk-reference/wallets/kotlin/classes/crossmint-auth-manager"},{"title":"Wallet","href":"/sdk-reference/wallets/kotlin/classes/wallet"},{"title":"EVMWallet","href":"/sdk-reference/wallets/kotlin/classes/evm-wallet"},{"title":"SolanaWallet","href":"/sdk-reference/wallets/kotlin/classes/solana-wallet"},{"title":"StellarWallet","href":"/sdk-reference/wallets/kotlin/classes/stellar-wallet"},{"title":"AndroidCrossmintTEE","href":"/sdk-reference/wallets/kotlin/classes/android-crossmint-tee"},{"title":"AndroidWebViewBridge","href":"/sdk-reference/wallets/kotlin/classes/android-web-view-bridge"},{"title":"Api key environment prefix","href":"/sdk-reference/wallets/kotlin/classes/api-key-environment-prefix"},{"title":"Api key type","href":"/sdk-reference/wallets/kotlin/classes/api-key-type"},{"title":"Api key usage origin prefix","href":"/sdk-reference/wallets/kotlin/classes/api-key-usage-origin-prefix"},{"title":"AuthSessionStore","href":"/sdk-reference/wallets/kotlin/classes/auth-session-store"},{"title":"Chain type","href":"/sdk-reference/wallets/kotlin/classes/chain-type"},{"title":"Checkout environment","href":"/sdk-reference/wallets/kotlin/classes/checkout-environment"},{"title":"Checkout error encoding error","href":"/sdk-reference/wallets/kotlin/classes/checkout-error-encoding-error"},{"title":"Checkout error invalid configuration","href":"/sdk-reference/wallets/kotlin/classes/checkout-error-invalid-configuration"},{"title":"Checkout error not implemented","href":"/sdk-reference/wallets/kotlin/classes/checkout-error-not-implemented"},{"title":"EncryptedSharedPreferenceStorage","href":"/sdk-reference/wallets/kotlin/classes/encrypted-shared-preference-storage"},{"title":"Environment","href":"/sdk-reference/wallets/kotlin/classes/environment"},{"title":"Fallback policy","href":"/sdk-reference/wallets/kotlin/classes/fallback-policy"},{"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":"MalformedKeyException","href":"/sdk-reference/wallets/kotlin/classes/malformed-key-exception"},{"title":"OldKeyException","href":"/sdk-reference/wallets/kotlin/classes/old-key-exception"},{"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":"Transaction status","href":"/sdk-reference/wallets/kotlin/classes/transaction-status"},{"title":"Wallet type","href":"/sdk-reference/wallets/kotlin/classes/wallet-type"},{"title":"WebViewNotAvailableException","href":"/sdk-reference/wallets/kotlin/classes/web-view-not-available-exception"}]},{"group":"Interfaces","pages":[{"title":"CrossmintWallets","href":"/sdk-reference/wallets/kotlin/interfaces/crossmint-wallets"},{"title":"AuthManager","href":"/sdk-reference/wallets/kotlin/interfaces/auth-manager"},{"title":"AuthService","href":"/sdk-reference/wallets/kotlin/interfaces/auth-service"},{"title":"Signer","href":"/sdk-reference/wallets/kotlin/interfaces/signer"},{"title":"EmailSigner","href":"/sdk-reference/wallets/kotlin/interfaces/email-signer"},{"title":"NonCustodialSigner","href":"/sdk-reference/wallets/kotlin/interfaces/non-custodial-signer"},{"title":"CrossmintTEE","href":"/sdk-reference/wallets/kotlin/interfaces/crossmint-tee"},{"title":"SessionStore","href":"/sdk-reference/wallets/kotlin/interfaces/session-store"},{"title":"FailureAwareSessionStore","href":"/sdk-reference/wallets/kotlin/interfaces/failure-aware-session-store"},{"title":"BalanceOperations","href":"/sdk-reference/wallets/kotlin/interfaces/balance-operations"},{"title":"TransactionOperations","href":"/sdk-reference/wallets/kotlin/interfaces/transaction-operations"}]},{"group":"Data Classes","pages":[{"title":"Transaction","href":"/sdk-reference/wallets/kotlin/data-classes/transaction"},{"title":"Balances","href":"/sdk-reference/wallets/kotlin/data-classes/balances"},{"title":"TokenBalance","href":"/sdk-reference/wallets/kotlin/data-classes/token-balance"},{"title":"WalletConfig","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-config"},{"title":"Configuration","href":"/sdk-reference/wallets/kotlin/data-classes/configuration"},{"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.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":"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":"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.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":"EVMTransactionParams","href":"/sdk-reference/wallets/kotlin/data-classes/evm-transaction-params"},{"title":"FeeConfig","href":"/sdk-reference/wallets/kotlin/data-classes/fee-config"},{"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":"Result.Failure","href":"/sdk-reference/wallets/kotlin/data-classes/result-failure"},{"title":"Result.Success","href":"/sdk-reference/wallets/kotlin/data-classes/result-success"},{"title":"SignerData.ApiKey","href":"/sdk-reference/wallets/kotlin/data-classes/signer-data-api-key"},{"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":"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":"SignerType.Email","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-email"},{"title":"SignerType.Phone","href":"/sdk-reference/wallets/kotlin/data-classes/signer-type-phone"},{"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":"Tee error signer status regression","href":"/sdk-reference/wallets/kotlin/data-classes/tee-error-signer-status-regression"},{"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":"UserOperation","href":"/sdk-reference/wallets/kotlin/data-classes/user-operation"},{"title":"WalletError.ChainNotSupported","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-chain-not-supported"},{"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.InvalidSigner","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-invalid-signer"},{"title":"WalletError.RateLimited","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-rate-limited"},{"title":"WalletError.ServiceNotInitialized","href":"/sdk-reference/wallets/kotlin/data-classes/wallet-error-service-not-initialized"},{"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":"Owner","href":"/sdk-reference/wallets/kotlin/sealed-classes/owner"},{"title":"SignerType","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-type"},{"title":"SignerData","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-data"},{"title":"SignerError","href":"/sdk-reference/wallets/kotlin/sealed-classes/signer-error"},{"title":"DelegatedSigner","href":"/sdk-reference/wallets/kotlin/sealed-classes/delegated-signer"},{"title":"ApprovalMetadata","href":"/sdk-reference/wallets/kotlin/sealed-classes/approval-metadata"},{"title":"ApprovalSignature","href":"/sdk-reference/wallets/kotlin/sealed-classes/approval-signature"},{"title":"Checkout error","href":"/sdk-reference/wallets/kotlin/sealed-classes/checkout-error"},{"title":"TEEError","href":"/sdk-reference/wallets/kotlin/sealed-classes/tee-error"}]},{"group":"Sealed Interfaces","pages":[{"title":"Chain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/chain"},{"title":"ChainInfo","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/chain-info"},{"title":"EVMChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/evm-chain"},{"title":"SolanaChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/solana-chain"},{"title":"StellarChain","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/stellar-chain"},{"title":"TransactionParams","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transaction-params"},{"title":"Result","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/result"},{"title":"CrossmintError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/crossmint-error"},{"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":"ConfigurationError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/configuration-error"},{"title":"NetworkError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/network-error"},{"title":"TransactionError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/transaction-error"},{"title":"WalletError","href":"/sdk-reference/wallets/kotlin/sealed-interfaces/wallet-error"}]},{"group":"Objects","pages":[{"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":"SignerType.ApiKey","href":"/sdk-reference/wallets/kotlin/objects/signer-type-api-key"},{"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":"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":"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.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"}]}]}]}]}]},{"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":"Transfer Token - Crossmint Docs","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":["c2aa737661","2b790eda92","b0f84f53ff","a9bb46feb3"],"chunks":["OpenApiReferenceProvider-WRhTSUDL.js","utils-ChMov4Kr.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-_REmC2bI.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-Bp6nVRCu.js","snippetPresets-DZadmXoU.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","ApiExamples-CY2WdoTl.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-DwYG-Q4l.js","shallow-BXQIGwv4.js","getApiPlaygroundDisplay-CK5nK5B9.js","CodeSnippet-TH4a2aGW.js","CodeSnippets-DwsQiOFS.js","Page-R3M_BF4L.js","getPastedJson-DD7kUzi_.js","icon-holE3QoJ.js","MethodPill-DUW0T8us.js","DuplicateIcon-CI_p4be-.js","createIcon-BdbRvavb.js","DynamicMarkdown-DN96a4Ur.js","SectionHeading-SCu36A9d.js","axios-vUo_bRtp.js","Markdown-CCeGv-zI.js","clsx-BGBGWFTt.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-Cv_O2fky.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-2C5OB2eV.js"]}