The vault is the half of SAULT that holds money. It is non-custodial: SAULT signs on the builder’s authorisation, and that authorisation can be revoked at any time.
Each builder gets one vault. It has an EVM address and a Solana address — enough to pay on every chain SAULT supports today.Private keys are generated and held inside a secure enclave. SAULT cannot read them. Agents cannot read them. The builder who owns the vault can export them at any time — non-custodial means it is yours to take.Exporting and revoking are two separate actions. Export gives you your own copy of the key; on its own it does not stop SAULT from co-signing. Revoking the signer authorisation is the action that stops SAULT signing. Do both if you want to fully take the vault out of SAULT’s reach.
When you open a vault, you authorise SAULT’s enclave as a signer. This is a one-time action.You revoke it from the console at any time, which immediately prevents all payments — agent caps notwithstanding.
Only the builder can export keys. SAULT and agents cannot. Export is a builder-only action in the console — non-custodial by design.
Builder controls signing. Revoking authorisation immediately freezes all payments.
Agent limits enforced before the enclave is touched. Per-request maximum and daily cap are checked first; a violating request never reaches the enclave.
API keys are hashed at rest. Only a hash is stored, never the key itself. The full key is shown once, at creation.
Per-agent isolation. Each agent has its own key, its own policy, and its own audit trail.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"SAULT","colors":{"primary":"#0F172A","light":"#475569","dark":"#020617"},"logo":{"light":"https://mintcdn.com/checkpoint-10db4326/6BFSyoLjJWmI9e7t/sault-logo.png?fit=max\u0026auto=format\u0026n=6BFSyoLjJWmI9e7t\u0026q=85\u0026s=8e84163919d8057f8316d4873bad6733","dark":"https://mintcdn.com/checkpoint-10db4326/6BFSyoLjJWmI9e7t/sault-logo.png?fit=max\u0026auto=format\u0026n=6BFSyoLjJWmI9e7t\u0026q=85\u0026s=8e84163919d8057f8316d4873bad6733"},"favicon":"https://mintcdn.com/checkpoint-10db4326/6BFSyoLjJWmI9e7t/favicon.ico?fit=max\u0026auto=format\u0026n=6BFSyoLjJWmI9e7t\u0026q=85\u0026s=c50d45505c4a97ffd080132e96b750c8","navbar":{"links":[{"href":"mailto:support@sault.ai","label":"Support"}],"primary":{"type":"button","label":"Get Started","href":"https://app.sault.ai"}},"footer":{"socials":{"x":"https://x.com/sault_ai"}},"styling":{"latex":false},"navigation":{"global":{"anchors":[{"anchor":"Discover","icon":"compass","href":"https://discover.sault.ai"}]},"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"checkpoint-10db4326","hasAudioNarration":false,"actualSubdomain":"checkpoint-10db4326","customDomains":["docs.sault.ai"],"gitSource":{"type":"github","owner":"tornikerostomashvili","repo":"sault-docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"entitlements":{"AI_CHAT":{"status":"DISABLED"}},"buildId":"6ae957e146eff8e14e0074bc:success","clientVersion":"0.0.4094","searchFilterCounts":[{"language":"default","tag":"Documentation","count":12},{"language":"default","tag":"Concepts","count":4},{"language":"default","tag":"Guides","count":4},{"language":"default","tag":"Get Started","count":2},{"language":"default","tag":"Quickstart","count":2}]},"assistantConfig":{"enableAskAiButton":false,"enableStarterQuestions":false,"enableContextualStarterQuestions":false,"enableAskAiSearchBar":true},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-rbac-roles","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"rbac-expansion","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-metadata","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-serve","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"live-agents","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"concepts/vault-security","slug":"/concepts/vault-security","pageMetadata":{"title":"Vault \u0026 Security","description":"How SAULT holds funds and protects keys.","href":"/concepts/vault-security"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"How SAULT holds funds and protects keys.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={li:`li`,ol:`ol`,p:`p`,strong:`strong`,tbody:`tbody`,td:`td`,th:`th`,thead:`thead`,tr:`tr`,ul:`ul`,..._provideComponents(),...props.components},{Heading,Table,Warning}=_components;if(!Heading)_missingMdxReference(`Heading`,true);if(!Table)_missingMdxReference(`Table`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The vault is the half of SAULT that holds money. It is non-custodial: SAULT signs on the builder’s authorisation, and that authorisation can be revoked at any time.`}),`\n`,_jsx(Heading,{level:`2`,id:`what-a-vault-holds`,children:`What a vault holds`}),`\n`,_jsx(_components.p,{children:`Each builder gets one vault. It has an EVM address and a Solana address — enough to pay on every chain SAULT supports today.`}),`\n`,_jsx(_components.p,{children:`Private keys are generated and held inside a secure enclave. SAULT cannot read them. Agents cannot read them. The builder who owns the vault can export them at any time — non-custodial means it is yours to take.`}),`\n`,_jsxs(_components.p,{children:[`Exporting and revoking are two separate actions. `,_jsx(_components.strong,{children:`Export`}),` gives you your own copy of the key; on its own it does not stop SAULT from co-signing. `,_jsx(_components.strong,{children:`Revoking the signer authorisation`}),` is the action that stops SAULT signing. Do both if you want to fully take the vault out of SAULT’s reach.`]}),`\n`,_jsx(Heading,{level:`2`,id:`how-signing-works`,children:`How signing works`}),`\n`,_jsx(_components.p,{children:`When an agent makes a payment:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsx(_components.li,{children:`SAULT checks the agent’s limits: per-request maximum and daily cap.`}),`\n`,_jsx(_components.li,{children:`SAULT verifies the vault’s signer is still authorised by the builder. A revoked signer freezes every payment from the vault.`}),`\n`,_jsx(_components.li,{children:`The backend forwards the signing request to the enclave.`}),`\n`,_jsx(_components.li,{children:`The enclave signs and returns the credential.`}),`\n`,_jsx(_components.li,{children:`SAULT submits the signed payment on the rail.`}),`\n`]}),`\n`,_jsx(_components.p,{children:`The agent’s caps and the vault’s signer authorisation are independent. Both must say yes before anything is signed.`}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`The agent never holds keys. All signing happens server-side inside the enclave.`})}),`\n`,_jsx(Heading,{level:`2`,id:`authorising-sault-as-signer`,children:`Authorising SAULT as signer`}),`\n`,_jsx(_components.p,{children:`When you open a vault, you authorise SAULT’s enclave as a signer. This is a one-time action.`}),`\n`,_jsx(_components.p,{children:`You revoke it from the console at any time, which immediately prevents all payments — agent caps notwithstanding.`}),`\n`,_jsx(Heading,{level:`2`,id:`who-can-do-what`,children:`Who can do what`}),`\n`,_jsxs(Table,{children:[_jsx(_components.thead,{children:_jsxs(_components.tr,{children:[_jsx(_components.th,{children:`Action`}),_jsx(_components.th,{children:`Builder`}),_jsx(_components.th,{children:`Agent`})]})}),_jsxs(_components.tbody,{children:[_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View vault address`}),_jsx(_components.td,{children:`yes`}),_jsx(_components.td,{children:`yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`View balances`}),_jsx(_components.td,{children:`yes`}),_jsx(_components.td,{children:`yes`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Send funds from the vault`}),_jsx(_components.td,{children:`yes (from the console)`}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Authorise paid agent requests`}),_jsx(_components.td,{children:`—`}),_jsx(_components.td,{children:`yes (within policy; the enclave signs)`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Edit policies`}),_jsx(_components.td,{children:`yes`}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Revoke signer authorisation`}),_jsx(_components.td,{children:`yes`}),_jsx(_components.td,{children:`—`})]}),_jsxs(_components.tr,{children:[_jsx(_components.td,{children:`Export private keys`}),_jsx(_components.td,{children:`yes`}),_jsx(_components.td,{children:`—`})]})]})]}),`\n`,_jsx(Heading,{level:`2`,id:`security-guarantees`,children:`Security guarantees`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Only the builder can export keys.`}),` SAULT and agents cannot. Export is a builder-only action in the console — non-custodial by design.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Builder controls signing.`}),` Revoking authorisation immediately freezes all payments.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Agent limits enforced before the enclave is touched.`}),` Per-request maximum and daily cap are checked first; a violating request never reaches the enclave.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`API keys are hashed at rest.`}),` Only a hash is stored, never the key itself. The full key is shown once, at creation.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.strong,{children:`Per-agent isolation.`}),` Each agent has its own key, its own policy, and its own audit trail.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"Vault \u0026 Security","description":"How SAULT holds funds and protects keys.","href":"/concepts/vault-security"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"What a vault holds","slug":"what-a-vault-holds","depth":2,"children":[]},{"title":"How signing works","slug":"how-signing-works","depth":2,"children":[]},{"title":"Authorising SAULT as signer","slug":"authorising-sault-as-signer","depth":2,"children":[]},{"title":"Who can do what","slug":"who-can-do-what","depth":2,"children":[]},{"title":"Security guarantees","slug":"security-guarantees","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"checkpoint-10db4326","siteName":"SAULT","title":"Vault \u0026 Security - SAULT","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-05-17T09:25:49.639Z","originalFileLocation":"concepts/vault-security.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=\"How SAULT holds funds and protects keys.\">\u003cmeta data-mint-head name=\"application-name\" content=\"SAULT\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/checkpoint-10db4326/KowpC6VfgTT50WSY/_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/checkpoint-10db4326/KowpC6VfgTT50WSY/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/checkpoint-10db4326/KowpC6VfgTT50WSY/_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/checkpoint-10db4326/KowpC6VfgTT50WSY/_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/checkpoint-10db4326/KowpC6VfgTT50WSY/_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/checkpoint-10db4326/KowpC6VfgTT50WSY/_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/checkpoint-10db4326/KowpC6VfgTT50WSY/_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/checkpoint-10db4326/KowpC6VfgTT50WSY/_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/checkpoint-10db4326/KowpC6VfgTT50WSY/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Vault \u0026amp; Security - SAULT\">\u003cmeta data-mint-head property=\"og:description\" content=\"How SAULT holds funds and protects keys.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"SAULT\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.sault.ai/concepts/vault-security\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://checkpoint-10db4326.mintlify.site/_mintlify/api/og/v2?division=Concepts\u0026amp;title=Vault+%26+Security\u0026amp;description=How+SAULT+holds+funds+and+protects+keys.\u0026amp;theme=6dd7e2aa3624d780e64e5f2c\u0026amp;signature=daff2b5e2998d0a511aad655a3dd24d37438f281a99c6b399aee5ff0e26aedd4\">\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=\"Vault \u0026amp; Security - SAULT\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"How SAULT holds funds and protects keys.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://checkpoint-10db4326.mintlify.site/_mintlify/api/og/v2?division=Concepts\u0026amp;title=Vault+%26+Security\u0026amp;description=How+SAULT+holds+funds+and+protects+keys.\u0026amp;theme=6dd7e2aa3624d780e64e5f2c\u0026amp;signature=daff2b5e2998d0a511aad655a3dd24d37438f281a99c6b399aee5ff0e26aedd4\">\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/checkpoint-10db4326/KowpC6VfgTT50WSY/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"SAULT\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#0F172A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.sault.ai/concepts/vault-security\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/concepts/vault-security.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.sault.ai/#organization\",\"name\":\"SAULT\",\"url\":\"https://docs.sault.ai\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/checkpoint-10db4326/6BFSyoLjJWmI9e7t/sault-logo.png?fit=max\u0026auto=format\u0026n=6BFSyoLjJWmI9e7t\u0026q=85\u0026s=8e84163919d8057f8316d4873bad6733\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.sault.ai#website\",\"name\":\"SAULT\",\"url\":\"https://docs.sault.ai\",\"publisher\":{\"@id\":\"https://docs.sault.ai/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.sault.ai/concepts/vault-security#webpage\",\"url\":\"https://docs.sault.ai/concepts/vault-security\",\"name\":\"Vault \u0026 Security\",\"description\":\"How SAULT holds funds and protects keys.\",\"dateModified\":\"2026-05-17T09:25:49.639Z\",\"isPartOf\":{\"@id\":\"https://docs.sault.ai#website\"},\"breadcrumb\":{\"@id\":\"https://docs.sault.ai/concepts/vault-security#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.sault.ai/concepts/vault-security#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Concepts\",\"item\":\"https://docs.sault.ai/concepts/payment-rails\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Vault \u0026 Security\",\"item\":\"https://docs.sault.ai/concepts/vault-security\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.sault.ai/concepts/vault-security#article\",\"headline\":\"Vault \u0026 Security\",\"name\":\"Vault \u0026 Security\",\"description\":\"How SAULT holds funds and protects keys.\",\"url\":\"https://docs.sault.ai/concepts/vault-security\",\"mainEntityOfPage\":{\"@id\":\"https://docs.sault.ai/concepts/vault-security#webpage\"},\"dateModified\":\"2026-05-17T09:25:49.639Z\",\"publisher\":{\"@id\":\"https://docs.sault.ai/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.sault.ai#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"SAULT\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"SAULT","nav":{"global":{"anchors":[{"anchor":"Discover","icon":"compass","href":"https://discover.sault.ai"}]},"tabs":[{"tab":"Documentation","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/introduction"},{"title":"How It Works","href":"/how-it-works"}]},{"group":"Quickstart","pages":[{"title":"CLI","href":"/quickstart/cli"},{"title":"Hosted MCP","href":"/quickstart/mcp"}]},{"group":"Concepts","pages":[{"title":"Payment Rails","description":"SAULT handles the payment standards so your agent doesn't have to.","href":"/concepts/payment-rails"},{"title":"Vault \u0026 Security","href":"/concepts/vault-security"},{"title":"Agent Permissions","description":"What an agent can spend, and how the limits are enforced.","href":"/concepts/agent-permissions"},{"title":"Skills \u0026 Discover","href":"/concepts/skills"}]},{"group":"Guides","pages":[{"title":"Create an Agent","href":"/guides/create-agent"},{"title":"Top Up","href":"/guides/top-up"},{"title":"Spending Policies","href":"/guides/spending-policies"},{"title":"Pairing","href":"/guides/pairing"}]}]}]},"basePath":"","title":"Vault \u0026 Security - SAULT","buildId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","deploymentId":"dpl_42LwxxU1kGN114H4XzwGYXa9ZDah","dynamics":[],"chunks":[]}