After generating an intent for a quote or limit order via /generate-intent and having the user sign it with their wallet, submit the signed intent through this endpoint.
The system validates the signature, processes the intent, and returns the intent hash upon successful submission.
Request Type Variants:
swap_transfer: Submit a signed swap intent (requires signedData object)
Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.
For example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.
{"docsConfig":{"theme":"maple","$schema":"https://mintlify.com/docs.json","name":"NEAR Intents","colors":{"primary":"#fb4d01","light":"#ff7043","dark":"#d94300"},"logo":{"light":"https://mintcdn.com/defuselabsltd/H7BXykL_JPKw4xWb/images/logo/light.svg?fit=max\u0026auto=format\u0026n=H7BXykL_JPKw4xWb\u0026q=85\u0026s=e31b086fb76c5f6228ea4020afc8db58","dark":"https://mintcdn.com/defuselabsltd/H7BXykL_JPKw4xWb/images/logo/dark.svg?fit=max\u0026auto=format\u0026n=H7BXykL_JPKw4xWb\u0026q=85\u0026s=24c0664a9d5a23125fbdbafce3213d1f"},"favicon":"https://mintcdn.com/defuselabsltd/H7BXykL_JPKw4xWb/favicon.svg?fit=max\u0026auto=format\u0026n=H7BXykL_JPKw4xWb\u0026q=85\u0026s=9c3bb7fd94f65224cf7dffef252ef62c","navbar":{"links":[{"href":"https://status.near-intents.org/posts/dashboard","label":"System Status"},{"href":"https://explorer.near-intents.org/","label":"Explorer"},{"href":"https://t.me/near_intents","label":"Support"}],"primary":{"type":"button","label":"Partners","href":"https://partners.near-intents.org/"}},"footer":{"socials":{"x":"https://x.com/near_intents","github":"https://github.com/defuse-protocol","telegram":"https://t.me/near_intents"}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"styling":{"latex":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"defuselabsltd","hasAudioNarration":false,"actualSubdomain":"defuselabsltd","customDomains":["docs.near-intents.org"],"gitSource":{"type":"github","owner":"defuse-protocol","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6ad1ded06424cd55cd3f1a54","collectionId":"2d597199-e9ec-459d-b253-eefb1d600ce1","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6ad1ded06424cd55cd3f1a54"},"feedback":{"thumbs":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6ad1ded06424cd55cd3f1a54","clientVersion":"0.0.3966","searchFilterCounts":[{"language":"default","tag":"Swaps","count":43},{"language":"default","tag":"Swap API","count":29},{"language":"default","tag":"Market Makers","count":13},{"language":"default","tag":"Verifier Contract","count":12},{"language":"default","tag":"Resources","count":9},{"language":"default","tag":"Intents","count":7},{"language":"default","tag":"API Reference","count":7},{"language":"default","tag":"Security \u0026 Compliance","count":6},{"language":"default","tag":"Quickstart","count":5},{"language":"default","tag":"Bridges","count":4}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableAskAiSearchBar":true},"hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-v7-file-tree","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"pause-universal-search-reconcile","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"per-site-search-delta","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-private-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-nav-generations","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-agent-model-picker","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"isAtlas":false,"googleFontsInlined":false},"customCss":[{"filePath":"style.css","content":".landing code{max-height:190px;overflow:auto}.primary{color:rgb(var(--primary))}.dark .primary,[data-theme=dark] .primary{color:rgb(var(--primary-light))}.intent-diagram-desktop-only{display:flex}.swap-widget-preview{max-height:260px;width:auto}@media (max-width:640px){.intent-diagram-desktop-only{display:none}}"}],"page":{"pagePath":"api-reference/oneclick/submit-a-signed-intent","slug":"/api-reference/oneclick/submit-a-signed-intent","pageMetadata":{"title":"Submit a signed intent","description":"Submits a signed intent to execute.\n\n After generating an intent for a quote or limit order via `/generate-intent` and having the user sign it with their wallet, submit the signed intent through this endpoint.\n\n The system validates the signature, processes the intent, and returns the intent hash upon successful submission.\n\n **Request Type Variants:**\n - `swap_transfer`: Submit a signed swap intent (requires signedData object)","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/submit-intent","href":"/api-reference/oneclick/submit-a-signed-intent","autogeneratedByOpenApi":true},"description":{"compiledSource":"\"use strict\";\nconst {Fragment: _Fragment, jsx: _jsx, jsxs: _jsxs} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n code: \"code\",\n li: \"li\",\n p: \"p\",\n strong: \"strong\",\n ul: \"ul\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsxs(_Fragment, {\n children: [_jsx(_components.p, {\n children: \"Submits a signed intent to execute.\"\n }), \"\\n\", _jsxs(_components.p, {\n children: [\"After generating an intent for a quote or limit order via \", _jsx(_components.code, {\n children: \"/generate-intent\"\n }), \" and having the user sign it with their wallet, submit the signed intent through this endpoint.\"]\n }), \"\\n\", _jsx(_components.p, {\n children: \"The system validates the signature, processes the intent, and returns the intent hash upon successful submission.\"\n }), \"\\n\", _jsx(_components.p, {\n children: _jsx(_components.strong, {\n children: \"Request Type Variants:\"\n })\n }), \"\\n\", _jsxs(_components.ul, {\n children: [\"\\n\", _jsxs(_components.li, {\n children: [_jsx(_components.code, {\n children: \"swap_transfer\"\n }), \": Submit a signed swap intent (requires signedData object)\"]\n }), \"\\n\"]\n })]\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){return _jsx(_Fragment,{})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Submit a signed intent","description":"Submits a signed intent to execute.\n\n After generating an intent for a quote or limit order via `/generate-intent` and having the user sign it with their wallet, submit the signed intent through this endpoint.\n\n The system validates the signature, processes the intent, and returns the intent hash upon successful submission.\n\n **Request Type Variants:**\n - `swap_transfer`: Submit a signed swap intent (requires signedData object)","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/submit-intent","href":"/api-reference/oneclick/submit-a-signed-intent","autogeneratedByOpenApi":true}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[],"codeExamples":{}},"jsLinks":[],"openApiReferenceData":{"operation":{"description":"Submits a signed intent to execute.\n\n After generating an intent for a quote or limit order via `/generate-intent` and having the user sign it with their wallet, submit the signed intent through this endpoint.\n\n The system validates the signature, processes the intent, and returns the intent hash upon successful submission.\n\n **Request Type Variants:**\n - `swap_transfer`: Submit a signed swap intent (requires signedData object)","operationId":"submitIntent","parameters":[],"requestBody":"82a3bea2-462d-458e-ac19-b8a18ee0dbaf","responses":{"200":"c0fbb8f7-21e8-4557-bb35-2cc21b642c83","400":"e5ec6596-2d86-4339-8fa5-0d7e9a4f57d3","401":"d3cc24da-3d0c-4d5a-bd6b-3a5c069a4216"},"security":["da591a08-7d01-46f7-aa3f-21c1e290e5cd","4a7e88f6-fcd8-4a43-9da7-484ab0e64a21"],"summary":"Submit a signed intent","tags":["OneClick"],"method":"post","type":"path","servers":["88cc343c-e395-4c66-a241-3f4bb3bd2c7c"],"path":"/v0/submit-intent","baseUrlOptions":["https://1click.chaindefuser.com"],"title":"Submit a signed intent","codeSamples":[],"requiredOnlyExamples":false,"requestExampleType":"generated","responseExampleType":"generated"},"dependencies":{"parameters":{},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["type","signedData"],"properties":{"type":{"type":"string","description":"The type of intent action","enum":["swap_transfer"],"isRequired":true,"uniqueKey":"type","typeLabel":"enum\u003cstring>"},"signedData":{"oneOf":[{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["payload","public_key","signature","standard"],"properties":{"payload":{"description":"See [NEP-413](https://github.com/near/NEPs/blob/master/neps/nep-0413.md)","type":"object","required":["message","nonce","recipient"],"properties":{"message":{"type":"string","x-parseJson":{"type":"object","required":["deadline","signer_id"],"properties":{"deadline":{"type":"string"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}}}},"isRequired":true,"uniqueKey":"signedData.oneOf.0.payload.message","typeLabel":"string"},"nonce":{"type":"string","description":"Encoding: base64","isRequired":true,"uniqueKey":"signedData.oneOf.0.payload.nonce","typeLabel":"string"},"recipient":{"type":"string","isRequired":true,"uniqueKey":"signedData.oneOf.0.payload.recipient","typeLabel":"string"},"callbackUrl":{"oneOf":[{"type":"string","uniqueKey":"signedData.oneOf.0.payload.callbackUrl.oneOf.0","typeLabel":"string"},{"type":"null","uniqueKey":"signedData.oneOf.0.payload.callbackUrl.oneOf.1","typeLabel":"null"}],"uniqueKey":"signedData.oneOf.0.payload.callbackUrl","typeLabel":"string | null"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.0.payload","typeLabel":"object"},"public_key":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.0.public_key","typeLabel":"string"},"signature":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.0.signature","typeLabel":"string"},"standard":{"type":"string","enum":["nep413"],"isRequired":true,"uniqueKey":"signedData.oneOf.0.standard","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.0","typeLabel":"object"},{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["payload","signature","standard"],"properties":{"payload":{"description":"See [ERC-191](https://github.com/ethereum/ercs/blob/master/ERCS/erc-191.md)","type":"string","x-parseJson":{"type":"object","required":["deadline","nonce","signer_id","verifying_contract"],"properties":{"deadline":{"type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}},"nonce":{"examples":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="],"type":"string","description":"Encoding: base64"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"verifying_contract":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}}},"isRequired":true,"uniqueKey":"signedData.oneOf.1.payload","typeLabel":"string"},"signature":{"description":"There is no public key member because the public key can be recovered via `ecrecover()` knowing the data and the signature. Encoding: base58","type":"string","pattern":"^secp256k1:","isRequired":true,"uniqueKey":"signedData.oneOf.1.signature","typeLabel":"string"},"standard":{"type":"string","enum":["erc191"],"isRequired":true,"uniqueKey":"signedData.oneOf.1.standard","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.1","typeLabel":"object"},{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["payload","signature","standard"],"properties":{"payload":{"description":"See [TIP-191](https://github.com/tronprotocol/tips/blob/master/tip-191.md)","type":"string","x-parseJson":{"type":"object","required":["deadline","nonce","signer_id","verifying_contract"],"properties":{"deadline":{"type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}},"nonce":{"examples":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="],"type":"string","description":"Encoding: base64"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"verifying_contract":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}}},"isRequired":true,"uniqueKey":"signedData.oneOf.2.payload","typeLabel":"string"},"signature":{"description":"There is no public key member because the public key can be recovered via `ecrecover()` knowing the data and the signature. Encoding: base58","type":"string","pattern":"^secp256k1:","isRequired":true,"uniqueKey":"signedData.oneOf.2.signature","typeLabel":"string"},"standard":{"type":"string","enum":["tip191"],"isRequired":true,"uniqueKey":"signedData.oneOf.2.standard","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.2","typeLabel":"object"},{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["payload","public_key","signature","standard"],"properties":{"payload":{"type":"string","x-parseJson":{"type":"object","required":["deadline","nonce","signer_id","verifying_contract"],"properties":{"deadline":{"type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}},"nonce":{"examples":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="],"type":"string","description":"Encoding: base64"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"verifying_contract":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}}},"isRequired":true,"uniqueKey":"signedData.oneOf.3.payload","typeLabel":"string"},"public_key":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.3.public_key","typeLabel":"string"},"signature":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.3.signature","typeLabel":"string"},"standard":{"type":"string","enum":["raw_ed25519"],"isRequired":true,"uniqueKey":"signedData.oneOf.3.standard","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.3","typeLabel":"object"},{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["authenticator_data","client_data_json","payload","standard","public_key","signature"],"properties":{"authenticator_data":{"description":"Base64Url-encoded [authenticatorData](https://w3c.github.io/webauthn/#authenticator-data). Encoding: base64","type":"string","isRequired":true,"uniqueKey":"signedData.oneOf.4.authenticator_data","typeLabel":"string"},"client_data_json":{"description":"Serialized [clientDataJSON](https://w3c.github.io/webauthn/#dom-authenticatorresponse-clientdatajson)","type":"string","isRequired":true,"uniqueKey":"signedData.oneOf.4.client_data_json","typeLabel":"string"},"payload":{"type":"string","x-parseJson":{"type":"object","required":["deadline","nonce","signer_id","verifying_contract"],"properties":{"deadline":{"type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}},"nonce":{"examples":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="],"type":"string","description":"Encoding: base64"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"verifying_contract":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}}},"isRequired":true,"uniqueKey":"signedData.oneOf.4.payload","typeLabel":"string"},"standard":{"type":"string","enum":["webauthn"],"isRequired":true,"uniqueKey":"signedData.oneOf.4.standard","typeLabel":"enum\u003cstring>"},"public_key":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.4.public_key","typeLabel":"string"},"signature":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.4.signature","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.4","typeLabel":"object"},{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["authenticator_data","client_data_json","payload","standard","public_key","signature"],"properties":{"authenticator_data":{"description":"Base64Url-encoded [authenticatorData](https://w3c.github.io/webauthn/#authenticator-data). Encoding: base64","type":"string","isRequired":true,"uniqueKey":"signedData.oneOf.5.authenticator_data","typeLabel":"string"},"client_data_json":{"description":"Serialized [clientDataJSON](https://w3c.github.io/webauthn/#dom-authenticatorresponse-clientdatajson)","type":"string","isRequired":true,"uniqueKey":"signedData.oneOf.5.client_data_json","typeLabel":"string"},"payload":{"type":"string","x-parseJson":{"type":"object","required":["deadline","nonce","signer_id","verifying_contract"],"properties":{"deadline":{"type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}},"nonce":{"examples":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="],"type":"string","description":"Encoding: base64"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"verifying_contract":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}}},"isRequired":true,"uniqueKey":"signedData.oneOf.5.payload","typeLabel":"string"},"standard":{"type":"string","enum":["webauthn"],"isRequired":true,"uniqueKey":"signedData.oneOf.5.standard","typeLabel":"enum\u003cstring>"},"public_key":{"type":"string","pattern":"^p256:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.5.public_key","typeLabel":"string"},"signature":{"type":"string","pattern":"^p256:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.5.signature","typeLabel":"string"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.5","typeLabel":"object"},{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["address","domain","payload","public_key","signature","standard","timestamp"],"properties":{"address":{"type":"string","description":"Wallet address in either [Raw](https://docs.ton.org/v3/documentation/smart-contracts/addresses/address-formats#raw-address) representation or [user-friendly](https://docs.ton.org/v3/documentation/smart-contracts/addresses/address-formats#user-friendly-address) format","isRequired":true,"uniqueKey":"signedData.oneOf.6.address","typeLabel":"string"},"domain":{"description":"dApp domain","type":"string","isRequired":true,"uniqueKey":"signedData.oneOf.6.domain","typeLabel":"string"},"payload":{"type":"object","description":"See \u003chttps://docs.tonconsole.com/academy/sign-data#choosing-the-right-format>","required":["text","type"],"properties":{"text":{"type":"string","x-parseJson":{"type":"object","required":["deadline","nonce","signer_id","verifying_contract"],"properties":{"deadline":{"type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}},"nonce":{"examples":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="],"type":"string","description":"Encoding: base64"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"verifying_contract":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}}},"isRequired":true,"uniqueKey":"signedData.oneOf.6.payload.text","typeLabel":"string"},"type":{"type":"string","enum":["text"],"isRequired":true,"uniqueKey":"signedData.oneOf.6.payload.type","typeLabel":"enum\u003cstring>"}},"isRequired":true,"uniqueKey":"signedData.oneOf.6.payload","typeLabel":"object"},"public_key":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.6.public_key","typeLabel":"string"},"signature":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.6.signature","typeLabel":"string"},"standard":{"type":"string","enum":["ton_connect"],"isRequired":true,"uniqueKey":"signedData.oneOf.6.standard","typeLabel":"enum\u003cstring>"},"timestamp":{"oneOf":[{"type":"string","description":"UNIX timestamp (in seconds or RFC3339) at the time of singing","format":"date-time","isRequired":true,"uniqueKey":"signedData.oneOf.6.timestamp.oneOf.0","typeLabel":"string\u003cdate-time>"},{"type":"integer","description":"UNIX timestamp (in seconds or RFC3339) at the time of singing","format":"int64","isRequired":true,"uniqueKey":"signedData.oneOf.6.timestamp.oneOf.1","typeLabel":"integer\u003cint64>"}],"isRequired":true,"uniqueKey":"signedData.oneOf.6.timestamp","typeLabel":"string\u003cdate-time> | integer\u003cint64>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.6","typeLabel":"object"},{"type":"object","description":"Assuming wallets want to interact with Intents protocol, besides preparing the data in a certain form, they have to have the capability to sign raw messages (off-chain signatures) using an algorithm we understand. This enum solves that problem.\n\nFor example, because we support ERC-191 and know how to verify messages with that standard, we can allow wallets, like Metamask, sign messages to perform intents without having to support new cryptographic primitives and signing standards.","required":["payload","public_key","signature","standard"],"properties":{"payload":{"type":"string","x-parseJson":{"type":"object","required":["deadline","nonce","signer_id","verifying_contract"],"properties":{"deadline":{"type":"string"},"intents":{"description":"Sequence of intents to execute in given order. Empty list is also a valid sequence, i.e. it doesn't do anything, but still invalidates the `nonce` for the signer WARNING: Promises created by different intents are executed concurrently and does not rely on the order of the intents in this structure","type":"array","items":{"oneOf":[{"description":"See [`AddPublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["add_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`RemovePublicKey`]","type":"object","required":["intent","public_key"],"properties":{"intent":{"type":"string","enum":["remove_public_key"]},"public_key":{"examples":["ed25519:5TagutioHgKLh7KZ1VEFBYfgRkPtqnKm9LoMnJMJugxm","secp256k1:3aMVMxsoAnHUbweXMtdKaN1uJaNwsfKv7wnc97SDGjXhyK62VyJwhPUPLZefKVthcoUcuWK6cqkSU4M542ipNxS3"],"type":"string","description":"Encoding: base58"}},"additionalProperties":false},{"description":"See [`Transfer`]","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["transfer"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"See [`FtWithdraw`]","type":"object","required":["amount","intent","receiver_id","token"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["ft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `ft_transfer`: minimum: 15TGas, default: 15TGas * `ft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `ft_transfer_call`. Otherwise, `ft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`NftWithdraw`]","type":"object","required":["intent","receiver_id","token","token_id"],"properties":{"intent":{"type":"string","enum":["nft_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed: * `nft_transfer`: minimum: 15TGas, default: 15TGas * `nft_transfer_call`: minimum: 30TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `nft_transfer_call`. Otherwise, `nft_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_id":{"type":"string"}},"additionalProperties":false},{"description":"See [`MtWithdraw`]","type":"object","required":["amounts","intent","receiver_id","token","token_ids"],"properties":{"amounts":{"type":"array","items":{"type":"string"}},"intent":{"type":"string","enum":["mt_withdraw"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Optional minimum required Near gas for created Promise to succeed per token: * `mt_batch_transfer`: minimum: 20TGas, default: 20TGas * `mt_batch_transfer_call`: minimum: 35TGas, default: 50TGas\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_batch_transfer_call`. Otherwise, `mt_batch_transfer` will be used. NOTE: No refund will be made in case of insufficient `storage_deposit` on `token` for `receiver_id`","type":["string","null"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"storage_deposit":{"description":"Optionally make `storage_deposit` for `receiver_id` on `token`. The amount will be subtracted from user's NEP-141 `wNEAR` balance. NOTE: the `wNEAR` will not be refunded in case of fail","type":["string","null"]},"token":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"token_ids":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"description":"See [`NativeWithdraw`]","type":"object","required":["amount","intent","receiver_id"],"properties":{"amount":{"type":"string"},"intent":{"type":"string","enum":["native_withdraw"]},"receiver_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false},{"description":"See [`StorageDeposit`]","type":"object","required":["amount","contract_id","deposit_for_account_id","intent"],"properties":{"amount":{"type":"string"},"contract_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"deposit_for_account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"intent":{"type":"string","enum":["storage_deposit"]}},"additionalProperties":false},{"description":"See [`TokenDiff`]","type":"object","required":["diff","intent"],"properties":{"diff":{"type":"object","additionalProperties":{"type":"string"}},"intent":{"type":"string","enum":["token_diff"]},"memo":{"type":["string","null"]},"referral":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":["string","null"]}},"additionalProperties":false},{"description":"See [`SetAuthByPredecessorId`]","type":"object","required":["enabled","intent"],"properties":{"enabled":{"type":"boolean"},"intent":{"type":"string","enum":["set_auth_by_predecessor_id"]}},"additionalProperties":false},{"description":"See [`AuthCall`]","type":"object","required":["contract_id","intent","msg"],"properties":{"attached_deposit":{"description":"Optionally, attach deposit to [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth) call. The amount will be subtracted from user's NEP-141 `wNEAR` balance.\n\nNOTE: the `wNEAR` will not be refunded in case of fail.","type":"string"},"contract_id":{"description":"Callee for [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"intent":{"type":"string","enum":["auth_call"]},"min_gas":{"description":"Optional minimum gas required for created promise to succeed. By default, only [`MIN_GAS_DEFAULT`](AuthCall::MIN_GAS_DEFAULT) is required.\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"`msg` to pass in [`.on_auth`](::defuse_auth_call::AuthCallee::on_auth)","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling [`.on_auth()`](::defuse_auth_call::AuthCallee::on_auth) (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]}},"additionalProperties":false},{"description":"Mint a set of tokens from the signer to a specified account id, within the intents contract.","type":"object","required":["intent","receiver_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_mint"]},"memo":{"type":["string","null"]},"min_gas":{"description":"Minimum gas for `mt_on_transfer()`\n\nRemaining gas will be distributed evenly across all Function Call Promises created during execution of current receipt.","type":["string","null"]},"msg":{"description":"Message to pass to `mt_on_transfer`","type":"string"},"receiver_id":{"description":"Receiver of the minted tokens","type":"string"},"state_init":{"description":"Optionally initialize the receiver's contract (Deterministic AccountId) via [`state_init`](https://github.com/near/NEPs/blob/master/neps/nep-0616.md#stateinit-action) right before calling `mt_on_transfer()` (in the same receipt).","anyOf":[{"oneOf":[{"type":"object","required":["code","data","version"],"properties":{"code":{"oneOf":[{"type":"object","required":["hash"],"properties":{"hash":{"type":"string"}},"additionalProperties":false},{"type":"object","required":["account_id"],"properties":{"account_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}},"additionalProperties":false}]},"data":{"type":"object","additionalProperties":{"type":"string"}},"version":{"type":"string","enum":["v1"]}},"additionalProperties":false}]},{"type":"null"}]},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority (i.e. signer of this intent). The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false},{"description":"Burn a set of imt tokens, within the intents contract.","type":"object","required":["intent","minter_id","tokens"],"properties":{"intent":{"type":"string","enum":["imt_burn"]},"memo":{"type":["string","null"]},"minter_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"tokens":{"description":"The token_ids will be wrapped to bind the token ID to the minter authority. The final string representation of the token will be as follows: `imt:\u003cminter_id>:\u003ctoken_id>`","type":"object","additionalProperties":{"type":"string"}}},"additionalProperties":false}]}},"nonce":{"examples":["AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA="],"type":"string","description":"Encoding: base64"},"signer_id":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"},"verifying_contract":{"description":"NEAR Account Identifier.\n\nThis is a unique, syntactically valid, human-readable account identifier on the NEAR network.\n\n[See the crate-level docs for information about validation.](index.html#account-id-rules)\n\nAlso see [Error kind precedence](AccountId#error-kind-precedence).\n\n## Examples\n\n``` use near_account_id::AccountId;\n\nlet alice: AccountId = \"alice.near\".parse().unwrap();\n\nassert!(\"ƒelicia.near\".parse::\u003cAccountId>().is_err()); // (ƒ is not f) ```","type":"string"}}},"isRequired":true,"uniqueKey":"signedData.oneOf.7.payload","typeLabel":"string"},"public_key":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.7.public_key","typeLabel":"string"},"signature":{"type":"string","pattern":"^ed25519:","description":"Encoding: base58","isRequired":true,"uniqueKey":"signedData.oneOf.7.signature","typeLabel":"string"},"standard":{"type":"string","enum":["sep53"],"isRequired":true,"uniqueKey":"signedData.oneOf.7.standard","typeLabel":"enum\u003cstring>"}},"additionalProperties":false,"isRequired":true,"uniqueKey":"signedData.oneOf.7","typeLabel":"object"}],"isRequired":true,"uniqueKey":"signedData","typeLabel":"object"}},"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"type":"swap_transfer","signedData":{"payload":{"message":"\u003cstring>","nonce":"\u003cstring>","recipient":"\u003cstring>","callbackUrl":"\u003cstring>"},"public_key":"\u003cstring>","signature":"\u003cstring>","standard":"nep413"}}}},"exampleType":"generated"}},"exampleType":"generated"},"responses":{"c0fbb8f7-21e8-4557-bb35-2cc21b642c83":{"description":"Successfully submitted intent","content":{"application/json":{"schema":{"type":"object","properties":{"intentHash":{"type":"string","description":"The hash of the submitted intent","example":"44XpLRAuZKoVGs9T4qbSNv33MDKMePPAibA52geVLWFw","isRequired":true,"uniqueKey":"intentHash","typeLabel":"string"},"correlationId":{"type":"string","description":"Unique identifier for tracing this request","example":"550e8400-e29b-41d4-a716-446655440000","isRequired":true,"uniqueKey":"correlationId","typeLabel":"string"}},"required":["intentHash","correlationId"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"intentHash":"44XpLRAuZKoVGs9T4qbSNv33MDKMePPAibA52geVLWFw","correlationId":"550e8400-e29b-41d4-a716-446655440000"}}},"exampleType":"generated"}},"exampleType":"generated"},"e5ec6596-2d86-4339-8fa5-0d7e9a4f57d3":{"description":"Bad Request - Invalid signature or intent data","content":{"application/json":{"schema":{"type":"object","properties":{"message":{"type":"string","example":"error message","isRequired":true,"uniqueKey":"message","typeLabel":"string"}},"required":["message"],"uniqueKey":"","typeLabel":"object"},"examples":{"Example":{"title":"Example","value":{"message":"error message"}}},"exampleType":"generated"}},"exampleType":"generated"},"d3cc24da-3d0c-4d5a-bd6b-3a5c069a4216":{"description":"Unauthorized - API key or JWT token is invalid","content":{"_mintlify/placeholder":{"schema":{"type":"object","description":""}}}}},"security":{"da591a08-7d01-46f7-aa3f-21c1e290e5cd":{"X-API-Key":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API key for partner authentication (recommended)","scopes":[]}},"4a7e88f6-fcd8-4a43-9da7-484ab0e64a21":{"JWT-auth":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"JWT token in Authorization header (legacy, use X-API-Key instead)","scopes":[]}}},"servers":{"88cc343c-e395-4c66-a241-3f4bb3bd2c7c":{"url":"https://1click.chaindefuser.com"}},"processedSecurityOptions":[{"schemes":[{"scheme":{"type":"apiKey","in":"header","name":"X-API-Key","description":"API key for partner authentication (recommended)","scopes":[]},"schema":{"title":"X-API-Key","type":"string","description":"API key for partner authentication (recommended)","isRequired":true,"typeLabel":"string","deprecated":false},"schemeName":"X-API-Key","name":"X-API-Key"}],"title":"X-API-Key"},{"schemes":[{"scheme":{"scheme":"bearer","bearerFormat":"JWT","type":"http","description":"JWT token in Authorization header (legacy, use X-API-Key instead)","scopes":[]},"schema":{"title":"Bearer Auth","type":"string","isRequired":true,"description":"JWT token in Authorization header (legacy, use X-API-Key instead)","format":"bearer","typeLabel":"string\u003cbearer>","deprecated":false},"schemeName":"JWT-auth","name":"Authorization"}],"title":"JWT-auth"}]},"originalFileLocation":"https://1click.chaindefuser.com/docs/v0/openapi.yaml"},"subdomain":"defuselabsltd","siteName":"NEAR Intents","title":"Submit a signed intent - NEAR Intents","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-09-23T15:46:23.335Z","originalFileLocation":"api-reference/oneclick/submit-a-signed-intent.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=\"Submits a signed intent to execute. After generating an intent for a quote or limit order via /generate-intent and having the user sign it with their wallet, submit the signed intent through this endpoint. The system validates the signature, processes the intent, and returns the intent hash upon successful submission. Request Type Variants: - swap_transfer: Submit a signed swap intent (requires signedData object)\">\u003cmeta data-mint-head name=\"application-name\" content=\"NEAR Intents\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/defuselabsltd/SbiBQ3yArLByQFIh/_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/defuselabsltd/SbiBQ3yArLByQFIh/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/defuselabsltd/SbiBQ3yArLByQFIh/_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/defuselabsltd/SbiBQ3yArLByQFIh/_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/defuselabsltd/SbiBQ3yArLByQFIh/_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/defuselabsltd/SbiBQ3yArLByQFIh/_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/defuselabsltd/SbiBQ3yArLByQFIh/_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/defuselabsltd/SbiBQ3yArLByQFIh/_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/defuselabsltd/SbiBQ3yArLByQFIh/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Submit a signed intent - NEAR Intents\">\u003cmeta data-mint-head property=\"og:description\" content=\"Submits a signed intent to execute. After generating an intent for a quote or limit order via /generate-intent and having the user sign it with their wallet, submit the signed intent through this endpoint. The system validates the signature, processes the intent, and returns the intent hash upon successful submission. Request Type Variants: - swap_transfer: Submit a signed swap intent (requires signedData object)\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"NEAR Intents\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://defuselabsltd.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Submit+a+signed+intent\u0026amp;description=Submits+a+signed+intent+to+execute.%0A%0A++After+generating+an+intent+for+a+quote+or+limit+order+via+%60%2Fgenerate-intent%60+and+having+the+user+sign+it+with+their+walle\u0026amp;theme=324d91610157733f3583dc56\u0026amp;signature=0d646d201e5162b97b1cfd617b92899f09295f1da8ba437d628391dc892d7627\">\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=\"Submit a signed intent - NEAR Intents\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Submits a signed intent to execute. After generating an intent for a quote or limit order via /generate-intent and having the user sign it with their wallet, submit the signed intent through this endpoint. The system validates the signature, processes the intent, and returns the intent hash upon successful submission. Request Type Variants: - swap_transfer: Submit a signed swap intent (requires signedData object)\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://defuselabsltd.mintlify.app/_mintlify/api/og/v2?division=API+Reference\u0026amp;title=Submit+a+signed+intent\u0026amp;description=Submits+a+signed+intent+to+execute.%0A%0A++After+generating+an+intent+for+a+quote+or+limit+order+via+%60%2Fgenerate-intent%60+and+having+the+user+sign+it+with+their+walle\u0026amp;theme=324d91610157733f3583dc56\u0026amp;signature=0d646d201e5162b97b1cfd617b92899f09295f1da8ba437d628391dc892d7627\">\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/defuselabsltd/SbiBQ3yArLByQFIh/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"NEAR Intents\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#fb4d01\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/api-reference/oneclick/submit-a-signed-intent.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.near-intents.org/#organization\",\"name\":\"NEAR Intents\",\"url\":\"https://docs.near-intents.org\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/defuselabsltd/H7BXykL_JPKw4xWb/images/logo/light.svg?fit=max\u0026auto=format\u0026n=H7BXykL_JPKw4xWb\u0026q=85\u0026s=e31b086fb76c5f6228ea4020afc8db58\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.near-intents.org#website\",\"name\":\"NEAR Intents\",\"url\":\"https://docs.near-intents.org\",\"publisher\":{\"@id\":\"https://docs.near-intents.org/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent#webpage\",\"url\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent\",\"name\":\"Submit a signed intent\",\"description\":\"Submits a signed intent to execute. After generating an intent for a quote or limit order via /generate-intent and having the user sign it with their wallet, submit the signed intent through this endpoint. The system validates the signature, processes the intent, and returns the intent hash upon successful submission. Request Type Variants: - swap_transfer: Submit a signed swap intent (requires signedData object)\",\"dateModified\":\"2026-09-23T15:46:23.335Z\",\"isPartOf\":{\"@id\":\"https://docs.near-intents.org#website\"},\"breadcrumb\":{\"@id\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Swap API\",\"item\":\"https://docs.near-intents.org/integration/distribution-channels/1click-api/about-1click-api\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"API Reference\",\"item\":\"https://docs.near-intents.org/api-reference/oneclick/get-supported-tokens\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Submit a signed intent\",\"item\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent\"}]},{\"@type\":[\"TechArticle\",\"APIReference\"],\"@id\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent#apireference\",\"headline\":\"Submit a signed intent\",\"name\":\"Submit a signed intent\",\"description\":\"Submits a signed intent to execute. After generating an intent for a quote or limit order via /generate-intent and having the user sign it with their wallet, submit the signed intent through this endpoint. The system validates the signature, processes the intent, and returns the intent hash upon successful submission. Request Type Variants: - swap_transfer: Submit a signed swap intent (requires signedData object)\",\"url\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent\",\"mainEntityOfPage\":{\"@id\":\"https://docs.near-intents.org/api-reference/oneclick/submit-a-signed-intent#webpage\"},\"dateModified\":\"2026-09-23T15:46:23.335Z\",\"publisher\":{\"@id\":\"https://docs.near-intents.org/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.near-intents.org#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"NEAR Intents\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"NEAR Intents","nav":{"global":null,"tabs":[{"tab":"Swaps","groups":[{"group":"Welcome","hidden":true,"pages":[{"mode":"wide","title":null,"href":"/index"}]},{"group":"Intents","pages":[{"title":"What are Intents?","sidebarTitle":"What are Intents?","icon":"lightbulb","href":"/getting-started/what-are-intents"},{"title":"Supported Chains","icon":"link","href":"/resources/chain-support"},{"title":"Supported Assets","icon":"coins","href":"/resources/asset-support"}]},{"group":"Swap API","pages":[{"title":"1Click Swap API","sidebarTitle":"Overview","icon":"lightbulb","href":"/integration/distribution-channels/1click-api/about-1click-api"},{"group":"Quickstart","icon":"rocket","pages":[{"title":"Quickstart","sidebarTitle":"Introduction","icon":"rocket","href":"/integration/distribution-channels/1click-api/quickstart/introduction"},{"title":"Making a Request","icon":"paper-plane","href":"/integration/distribution-channels/1click-api/quickstart/making-a-request"},{"title":"Confidential Swaps","icon":"user-secret","href":"/integration/distribution-channels/1click-api/quickstart/confidential-swaps"},{"title":"Signed Intent Execution","icon":"signature","href":"/integration/distribution-channels/1click-api/quickstart/signed-intent-execution"},{"title":"Going Live","icon":"flag-checkered","href":"/integration/distribution-channels/1click-api/quickstart/going-live"}]},{"title":"Swap SDK","icon":"window-restore","href":"/integration/distribution-channels/1click-api/sdk"},{"title":"API Keys","icon":"key","href":"/integration/distribution-channels/1click-api/authentication"},{"title":"Verify Quote Signatures","icon":"shield-check","href":"/integration/distribution-channels/1click-api/verify-quote-signature"},{"title":"Swap Types","icon":"right-left","href":"/integration/distribution-channels/1click-api/swap-types"},{"title":"Earn","sidebarTitle":"Earn","icon":"chart-line","href":"/integration/distribution-channels/1click-api/earn"},{"title":"Hyperliquid","sidebarTitle":"Hyperliquid","icon":"chart-simple","href":"/integration/distribution-channels/1click-api/hyperliquid"},{"group":"Limit Orders","icon":"clock","root":{"title":"Limit Orders","sidebarTitle":"Limit Orders","icon":"clock","href":"/integration/distribution-channels/1click-api/orders"},"pages":[{"title":"Create an order","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/orders","href":"/api-reference/order/create-an-order"},{"title":"List orders","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml get /v0/orders","href":"/api-reference/order/list-orders"},{"title":"Get an order","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml get /v0/orders/{orderId}","href":"/api-reference/order/get-an-order"},{"title":"Cancel an order","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/orders/{orderId}/cancel","href":"/api-reference/order/cancel-an-order"}]},{"title":"Fee Configuration","icon":"wallet","href":"/integration/distribution-channels/1click-api/fee-config"},{"group":"API Reference","icon":"code","pages":[{"title":"Get supported tokens","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml get /v0/tokens","href":"/api-reference/oneclick/get-supported-tokens"},{"title":"Request a swap quote","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/quote","href":"/api-reference/oneclick/request-a-swap-quote"},{"title":"Check swap execution status","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml get /v0/status","href":"/api-reference/oneclick/check-swap-execution-status"},{"title":"Get ANY_INPUT withdrawals","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml get /v0/any-input/withdrawals","href":"/api-reference/oneclick/get-any_input-withdrawals"},{"title":"Submit deposit transaction hash","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/deposit/submit","href":"/api-reference/oneclick/submit-deposit-transaction-hash"},{"title":"Generate an intent for signing","description":"Generates an unsigned intent payload that needs to be signed by the user.\n\n This endpoint takes a quote or limit-order deposit address, validates the target state and caller ownership when required, and returns an intent payload formatted according to the specified signing standard (e.g., NEP413, ERC191).\n\n The generated intent must be signed by the user's wallet and then submitted via the `/submit-intent` endpoint to complete the action (e.g. swap).\n\n **Request Type Variants:**\n - `swap_transfer`: Generate an intent for a swap operation (requires depositAddress, signerId, standard)","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/generate-intent","href":"/api-reference/oneclick/generate-an-intent-for-signing"},{"title":"Submit a signed intent","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml post /v0/submit-intent","href":"/api-reference/oneclick/submit-a-signed-intent"}]},{"group":"User Auth","icon":"user-lock","pages":[{"title":"Authenticate User with Signed Data","description":"Exchange a signed message for a User-Session access token","icon":"key","openapi":"post /v0/auth/authenticate","href":"/api-reference/user-auth/authenticate-user-with-signed-data"},{"title":"Refresh Access Token","icon":"rotate","openapi":"post /v0/auth/refresh","href":"/api-reference/user-auth/refresh-access-token"}]},{"group":"Account","icon":"wallet","pages":[{"title":"Get user token balances","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml get /v0/account/balances","href":"/api-reference/account/get-user-token-balances"},{"title":"Get transaction history","deprecated":null,"version":null,"openapi":"https://1click.chaindefuser.com/docs/v0/openapi.yaml get /v0/account/history","href":"/api-reference/account/get-transaction-history"}]},{"group":"Explorer API","icon":"magnifying-glass-chart","root":{"title":"Explorer API","href":"/integration/distribution-channels/1click-api/explorer/introduction"},"pages":[{"title":"Get transactions","deprecated":null,"version":null,"openapi":"https://explorer.near-intents.org/api/v0/openapi.yaml get /api/v0/transactions","href":"/api-reference/get-transactions"}]}]},{"group":"Developer ToolKit","pages":[{"title":"React Widget","icon":"palette","href":"/integration/devkit/react-widget"},{"title":"Intents SDK","icon":"window-restore","href":"/integration/devkit/intents-sdk"},{"title":"Agent Skills","icon":"robot","href":"/integration/devkit/skills"}]},{"group":"Resources","pages":[{"title":"FAQs","icon":"circle-question","href":"/resources/faqs"},{"title":"Fees","icon":"dollar-sign","href":"/resources/fees"},{"group":"Security \u0026 Compliance","icon":"shield-check","pages":[{"title":"SHIELD: Proactive Intents Security","icon":"shield-halved","href":"/security-compliance/proactive-intents-security"},{"title":"Shield Incident API","icon":"paper-plane","href":"/security-compliance/shield-incident-api"},{"title":"Risk \u0026 Compliance","icon":"shield-check","href":"/security-compliance/risk-and-compliance"},{"title":"Security","icon":"lock","href":"/security-compliance/security"},{"title":"Treasury Addresses","icon":"vault","href":"/security-compliance/treasury-addresses"},{"title":"1ClickSwap API Terms of Use","icon":"file-contract","href":"/security-compliance/terms-of-service"}]}]}]},{"tab":"Market Makers","pages":[{"title":"Market Makers","href":"/integration/market-makers/introduction"}]},{"tab":"Bridges","pages":[{"title":"Bridges","href":"/integration/bridging/overview"}]},{"tab":"Verifier Contract","pages":[{"title":"Verifier Contract","href":"/integration/verifier-contract/introduction"}]},{"tab":"Learn","pages":[{"title":"Learn","href":"/learn/omni-bridge/overview"}]},{"tab":"Changelog","pages":[{"title":"Changelog","href":"/changelog/overview"}]}]},"title":"Submit a signed intent - NEAR Intents","buildId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","deploymentId":"dpl_cadrRc5H9XQiJQbDFN5mcYRs2PAj","dynamics":["c2aa737661","b0f84f53ff","a9bb46feb3","2b790eda92"],"chunks":["OpenApiReferenceProvider-DKJwRUt2.js","utils-CWD_VS3u.js","cloneDeep-izs3Hzxb.js","_Uint8Array-BVIqJ90l.js","isObjectLike-C8vmzPEN.js","isArray-Dcu1dQ5t.js","utils-oFjciODD.js","toString-BX-iyh8G.js","isSymbol-CSH9U2Gm.js","addUniqueKeysToSchema-C76WsxC3.js","snippetPresets-DvPMxpX_.js","style-to-object-BY3JEAdk.js","v4-DIgz8zy6.js","Page-7TwLLapg.js","ApiExamples-CuNQfndH.js","isEqual-BfaiBbcl.js","usePlaygroundInputsStore-BVFpVUoF.js","shallow-t59Jg5Kr.js","getApiPlaygroundDisplay-C_JZ4amX.js","CodeSnippet-CLRDnx_h.js","CodeSnippets-C2myU4kc.js","getPastedJson-B-JaVXw7.js","icon-BA-iDhH3.js","MethodPill-D4qZABFp.js","DuplicateIcon-THIDKO1O.js","createIcon-CYYJwgFd.js","DynamicMarkdown-UGQuxDKp.js","SectionHeading-jYELb23h.js","axios-vUo_bRtp.js","Markdown-DKsLa3wy.js","clsx-CefdjKz2.js","lib--scc4DXi.js","lib-B8HbPgcC.js","html-void-elements-mCSPHezU.js","dist-BaREnp3o.js","katex-YMM-FMeD.js","marked.esm-CZWythHk.js","AssistantPageLink-sgx_0XzF.js"]}