The following instructions are a brief walkthrough and not a comprehensive guideline. You should consider and research more about the security implications of activating an external KMS.
KMS and Ledger Tendermint app are currently work in progress. Details may vary. Use with care under your own risk.
The KMS may complain that it cannot connect to gaiad. That is fine, we will fix it in the next section.This output indicates the validator key linked to this particular device is: cosmosvalconspub1zcjduepqy53m39prgp9dz3nz96kaav3el5e0th8ltwcf8cpavqdvpxgr5slsd6wz6fTake note of the validator pubkey that appears in your screen. We will use it in the next section.
You need to enable KMS access by editing .gaia/config/config.toml. In this file, modify priv_validator_laddr to create a listening address/port or a unix socket in gaiad.For example:
...# TCP or UNIX socket address for Tendermint to listen on for# connections from an external PrivValidator processpriv_validator_laddr = "tcp://127.0.0.1:26658"...
Let’s assume that you have set up your validator account and called it kmsval. You can tell gaiad the key that we’ve got in the previous section.
Now start gaiad. You should see that the KMS connects and receives a signature request.Once the ledger receives the first message, it will ask for confirmation that the values are adequate.Click the right button if the height and round are correct.After that, you will see that the KMS will start forwarding all signature requests to the ledger:
The word TEST in the second picture, second line appears because they were taken on a pre-release version.Once the app has been released in Ledger’s app store, this word should NOT appear.
Was this page helpful?
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Cosmos Docs","description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.","colors":{"primary":"#000000","light":"#cccccc","dark":"#0E0E0E"},"logo":{"light":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos-wordmark-dark.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=cd248dfba0e2e05e30786f2bb3f64fe9","dark":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos-wordmark.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=bec1c5143607bae16714a74214e59936"},"favicon":{"light":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=894cf1378c2e13292b5729f71ffcdfa3","dark":"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos-dark.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=84a9ac891f12ecddec2f5bbc50774eb1"},"appearance":{"default":"system","strict":false},"background":{"color":{"light":"#F1F1F1","dark":"#000000"}},"navbar":{"links":[{"href":"/sdk/latest/learn","label":"Cosmos SDK"},{"href":"/evm/latest/documentation/overview","label":"Cosmos EVM"},{"href":"https://ibcprotocol.dev/docs","label":"IBC"},{"href":"/cometbft/latest/docs/README","label":"CometBFT"}]},"footer":{"socials":{"twitter":"https://twitter.com/cosmos","github":"https://github.com/cosmos","discord":"https://discord.gg/interchain","website":"https://cosmos.network"},"links":[{"header":"Technology","items":[{"label":"Cosmos SDK","href":"/sdk/latest/learn"},{"label":"Cosmos EVM","href":"/evm"},{"label":"IBC","href":"https://ibcprotocol.dev/docs"},{"label":"CometBFT","href":"/cometbft"},{"label":"Cosmos Github","href":"https://github.com/cosmos"},{"label":"Cosmos HackerOne","href":"https://hackerone.com/cosmos"},{"label":"Skip Go","href":"/skip-go/general/getting-started"},{"label":"Cosmos Hub","href":"/hub/latest"}]},{"header":"Get In Touch","items":[{"label":"Developer Discord","href":"https://discord.gg/interchain"},{"label":"Community Telegram","href":"https://t.me/CosmosOG"},{"label":"Contact Us","href":"https://www.cosmoslabs.io/contact"},{"label":"Cosmos Website","href":"https://cosmos.network/"}]},{"header":"Legal","items":[{"label":"Privacy","href":"https://cosmos.network/privacy-policy"},{"label":"Trademark","href":"https://cosmos.network/trademark"},{"label":"Security Policy","href":"/sdk/latest/security/security-policy"},{"label":"Security Audits","href":"/sdk/latest/security/audits"},{"label":"Bug Bounty Program","href":"/sdk/latest/security/bug-bounty"}]}]},"search":{"prompt":"Search..."},"seo":{"metatags":{"description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.","og:description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.","twitter:description":"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains."}},"icons":{"library":"lucide"},"styling":{"codeblocks":{"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}},"latex":true},"integrations":{"gtm":{"tagId":"GTM-5XMZ695Z"}},"errors":{"404":{"redirect":false,"title":"Page not found","description":"The page you are looking for has either moved or doesn't exist anymore.\n\nPlease create an issue on the [Cosmos Docs GitHub repository](https://github.com/cosmos/docs/issues/new) to report the problem and it will be fixed as soon as possible."}},"contextual":{"options":["copy","view","chatgpt","claude","perplexity","mcp","cursor","vscode"],"display":"header"},"interaction":{"drilldown":false},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"cosmos-docs","hasAudioNarration":false,"actualSubdomain":"cosmos-docs","customDomains":["docs.cosmos.network","cosmos.network"],"gitSource":{"type":"github","owner":"cosmos","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":true,"mountPath":"","label":""},"feedback":{"thumbs":true,"edits":true,"issues":true},"entitlements":{"AI_CHAT":{"status":"ENABLED"},"REMOVE_BRANDING":{"status":"ENABLED"},"CONTEXTUAL_FEEDBACK":{"status":"DISABLED"},"CODE_SNIPPET_FEEDBACK":{"status":"DISABLED"},"WEB_MCP":{"status":"ENABLED"},"NARRATION":{"status":"ENABLED"}},"buildId":"6af3743c55a6c717a3e7ca10","clientVersion":"0.0.4117","searchFilterCounts":[{"language":"default","tag":"Cosmos SDK","count":629},{"language":"default","tag":"API Reference","count":401},{"language":"default","tag":"CometBFT","count":236},{"language":"default","tag":"REST (gRPC Gateway)","count":216},{"language":"default","tag":"Documentation","count":154},{"language":"default","tag":"RPC Methods","count":120},{"language":"default","tag":"Cosmos Hub","count":106},{"language":"default","tag":"Info","count":91},{"language":"default","tag":"Architecture Reference","count":70},{"language":"default","tag":"Learn","count":69}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"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":[{"filePath":"style.css","content":"/* cyrillic-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0NSDulI.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh2dSDulI.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0dSDulI.woff2) format('woff2');\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3tSDulI.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bhZ_Wmh2uX.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh09SDulI.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 400;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3dSD.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n/* cyrillic-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0NSDulI.woff2) format('woff2');\n unicode-range: U+0460-052F, U+1C80-1C8A, U+20B4, U+2DE0-2DFF, U+A640-A69F, U+FE2E-FE2F;\n}\n/* cyrillic */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh2dSDulI.woff2) format('woff2');\n unicode-range: U+0301, U+0400-045F, U+0490-0491, U+04B0-04B1, U+2116;\n}\n/* greek-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh0dSDulI.woff2) format('woff2');\n unicode-range: U+1F00-1FFF;\n}\n/* greek */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3tSDulI.woff2) format('woff2');\n unicode-range: U+0370-0377, U+037A-037F, U+0384-038A, U+038C, U+038E-03A1, U+03A3-03FF;\n}\n/* symbols2 */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bhZ_Wmh2uX.woff2) format('woff2');\n unicode-range: U+2000-2001, U+2004-2008, U+200A, U+23B8-23BD, U+2500-259F;\n}\n/* latin-ext */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh09SDulI.woff2) format('woff2');\n unicode-range: U+0100-02BA, U+02BD-02C5, U+02C7-02CC, U+02CE-02D7, U+02DD-02FF, U+0304, U+0308, U+0329, U+1D00-1DBF, U+1E00-1E9F, U+1EF2-1EFF, U+2020, U+20A0-20AB, U+20AD-20C4, U+2113, U+2C60-2C7F, U+A720-A7FF;\n}\n/* latin */\n@font-face {\n font-family: 'Fira Code';\n font-style: normal;\n font-weight: 500;\n font-display: swap;\n src: url(/_mintlify/assets/fonts/google/s/firacode/v27/uU9NCBsR6Z2vfE9aq3bh3dSD.woff2) format('woff2');\n unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02BB-02BC, U+02C6, U+02DA, U+02DC, U+0304, U+0308, U+0329, U+2000-206F, U+20AC, U+2122, U+2191, U+2193, U+2212, U+2215, U+FEFF, U+FFFD;\n}\n:root{--background-light: 255 255 255}.bg-primary\\/10{background-color:#40b3ff}.dark .bg-primary\\/10{background-color:#4251fa}.bg-primary\\/10.text-primary,.bg-primary\\/10 .text-primary{color:white}.dark\\:bg-primary-light\\/10:is(.dark *){background-color:#4251fa}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-regular.woff2') format('woff2');font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-medium.woff2') format('woff2');font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-bold.woff2') format('woff2');font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:'The Future';src:url('/assets/fonts/the-future-light.woff2') format('woff2');font-weight:300;font-style:normal;font-display:swap}body:has(#custom-index-content) header,body:has(#custom-index-content) #navbar,body:has(#custom-index-content) #header,body:has(#custom-index-content) nav[aria-label],body:has(#custom-index-content) button#search-bar-entry,body:has(#custom-index-content) button#search-bar-entry-mobile,body:has(#custom-index-content) #search-bar-entry,body:has(#custom-index-content) #search-bar-entry-mobile,body:has(#custom-index-content) .chat-assistant-floating-input,body:has(#custom-index-content) *:has(>.chat-assistant-floating-input){display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;position:absolute!important;left:-99999px!important;pointer-events:none!important}body:has(#custom-index-content) #custom-index-content{font-family:'The Future', sans-serif}body:has(#custom-index-content) #custom-index-content h1,body:has(#custom-index-content) #custom-index-content h2,body:has(#custom-index-content) #custom-index-content h3,body:has(#custom-index-content) #custom-index-content p,body:has(#custom-index-content) #custom-index-content a{font-family:'The Future', sans-serif}@media (max-width: 768px){button[aria-label=\"More actions\"]{display:none!important}#custom-index-content{margin-top:-120px}}@media (min-width: 769px) and (max-width: 1023px){#custom-index-content{margin-top:-120px}}.prose p a,.prose li a,.prose ul a,.prose span a,.prose div[data-callout-type] a,.prose .callout a,.prose .info a,.prose .note a,.prose .warning a,.prose .tip a,.prose .steps a,.prose .step a,.prose [role=\"listitem\"] a{border-bottom-color:#0E0E0E!important;text-decoration-color:#0E0E0E!important}.dark .prose p a,.dark .prose li a,.dark .prose ul a,.dark .prose span a,.dark .prose div[data-callout-type] a,.dark .prose .callout a,.dark .prose .info a,.dark .prose .note a,.dark .prose .warning a,.dark .prose .tip a,.dark .prose .steps a,.dark .prose .step a,.dark .prose [role=\"listitem\"] a{border-bottom-color:#cccccc!important;text-decoration-color:#cccccc!important}.highlighted-card-bg{background-color:#FFB84D;position:relative;overflow:hidden;transition:box-shadow 0.3s ease-in-out}.highlighted-card-bg:hover{box-shadow:0 0 30px rgba(255, 184, 77, 0.5),\n 0 0 60px rgba(255, 184, 77, 0.3),\n 0 10px 40px rgba(255, 184, 77, 0.2)}.highlighted-card-bg::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(\n 45deg,\n transparent 30%,\n rgba(255, 255, 255, 0.4) 50%,\n transparent 70%\n );transform:translateX(-100%) translateY(-100%) rotate(45deg);transition:transform 0.6s ease-in-out}.highlighted-card-bg:hover::before{transform:translateX(100%) translateY(100%) rotate(45deg)}@layer utilities{body:has(#custom-index-content) #footer{display:flex!important}}pre,pre code,code{font-family:'Fira Code', 'Cascadia Code', 'JetBrains Mono', monospace!important}"}],"page":{"pagePath":"hub/v25/validators/kms/kms_ledger","slug":"/hub/v25/validators/kms/kms_ledger","pageMetadata":{"noindex":true,"canonical":"https://docs.cosmos.network/hub/latest/validators/kms/kms_ledger","title":"Setting up Tendermint KMS + Ledger","description":null,"href":"/hub/v25/validators/kms/kms_ledger"},"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={a:`a`,code:`code`,em:`em`,li:`li`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,OptimizedImage,Warning}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!OptimizedImage)_missingMdxReference(`OptimizedImage`,true);if(!Warning)_missingMdxReference(`Warning`,true);return _jsxs(_Fragment,{children:[_jsx(Warning,{children:_jsxs(_components.p,{children:[`The following instructions are a brief walkthrough and not a comprehensive guideline. You should consider and `,_jsx(_components.a,{href:`/hub/v25/validators/security`,children:`research more about the security implications`}),` of activating an external KMS.`]})}),`\n`,_jsx(Warning,{children:_jsx(_components.p,{children:`KMS and Ledger Tendermint app are currently work in progress. Details may vary. Use with care under your own risk.`})}),`\n`,_jsx(Heading,{level:`2`,id:`tendermint-validator-app-for-ledger-devices`,children:`Tendermint Validator app (for Ledger devices)`}),`\n`,_jsx(_components.p,{children:`You should be able to find the Tendermint app in Ledger Live.`}),`\n`,_jsx(_components.p,{children:_jsxs(_components.em,{children:[`Note: at the moment, you might need to enable `,_jsx(_components.code,{children:`developer mode`}),` in Ledger Live settings`]})}),`\n`,_jsx(Heading,{level:`2`,id:`kms-configuration`,children:`KMS configuration`}),`\n`,_jsx(_components.p,{children:`In this section, we will configure a KMS to use a Ledger device running the Tendermint Validator App.`}),`\n`,_jsx(Heading,{level:`3`,id:`config-file`,children:`Config file`}),`\n`,_jsxs(_components.p,{children:[`You can find other configuration examples `,_jsx(_components.a,{href:`https://github.com/iqlusioninc/tmkms/blob/master/tmkms.toml.example`,children:`here`})]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Create a `,_jsx(_components.code,{children:`~/.tmkms/tmkms.toml`}),` file with the following content (use an adequate `,_jsx(_components.code,{children:`chain_id`}),`)`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`8`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`8`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`validator`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`addr = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"tcp://localhost:26658\"`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # or \"unix:///path/to/socket\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`chain_id = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"gaia-11001\"`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`reconnect = `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`true`}),_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:` # true is the default`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`secret_key = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"~/.tmkms/secret_connection.key\"`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`[[`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`providers`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`.`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`ledgertm`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]]`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`chain_ids = [`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"gaia-11001\"`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`]`})]}),`\n`]})})}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[`Edit `,_jsx(_components.code,{children:`addr`}),` to point to your `,_jsx(_components.code,{children:`gaiad`}),` instance.`]}),`\n`,_jsxs(_components.li,{children:[`Adjust `,_jsx(_components.code,{children:`chain-id`}),` to match your `,_jsx(_components.code,{children:`.gaia/config/config.toml`}),` settings.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`provider.ledgertm`}),` has no additional parameters at the moment, however, it is important that you keep that header to enable the feature.`]}),`\n`]}),`\n`,_jsx(_components.p,{children:_jsx(_components.em,{children:`Plug your Ledger device and open the Tendermint validator app.`})}),`\n`,_jsx(Heading,{level:`3`,id:`generate-secret-key`,children:`Generate secret key`}),`\n`,_jsx(_components.p,{children:`Now you need to generate secret_key:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`tmkms keygen ~/.tmkms/secret_connection.key`})}),`\n`]})})}),`\n`,_jsx(Heading,{level:`3`,id:`retrieve-validator-key`,children:`Retrieve validator key`}),`\n`,_jsxs(_components.p,{children:[`The last step is to retrieve the validator key that you will use in `,_jsx(_components.code,{children:`gaiad`}),`.`]}),`\n`,_jsx(_components.p,{children:`Start the KMS:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`tmkms start -c ~/.tmkms/tmkms.toml`})}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The output should look similar to:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`4`,language:`text`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`text`,children:_jsxs(_components.code,{language:`text`,numberOfLines:`4`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`07:28:24 [INFO] tmkms 0.3.0 starting up...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`07:28:24 [INFO] [keyring:ledgertm:ledgertm] added validator key cosmosvalconspub1zcjduepqy53m39prgp9dz3nz96kaav3el5e0th8ltwcf8cpavqdvpxgr5slsd6wz6f`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{children:`07:28:24 [INFO] KMS node ID: 1BC12314E2E1C29015B66017A397F170C6ECDE4A`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{})})]})})}),`\n`,_jsx(_components.p,{children:`The KMS may complain that it cannot connect to gaiad. That is fine, we will fix it in the next section.`}),`\n`,_jsxs(_components.p,{children:[`This output indicates the validator key linked to this particular device is: `,_jsx(_components.code,{children:`cosmosvalconspub1zcjduepqy53m39prgp9dz3nz96kaav3el5e0th8ltwcf8cpavqdvpxgr5slsd6wz6f`})]}),`\n`,_jsxs(_components.p,{children:[`Take note of the validator pubkey that appears in your screen. `,_jsx(_components.em,{children:`We will use it in the next section.`})]}),`\n`,_jsx(Heading,{level:`2`,id:`gaia-configuration`,children:`Gaia configuration`}),`\n`,_jsxs(_components.p,{children:[`You need to enable KMS access by editing `,_jsx(_components.code,{children:`.gaia/config/config.toml`}),`. In this file, modify `,_jsx(_components.code,{children:`priv_validator_laddr`}),` to create a listening address/port or a unix socket in `,_jsx(_components.code,{children:`gaiad`}),`.`]}),`\n`,_jsx(_components.p,{children:`For example:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`5`,language:`toml`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`toml`,children:_jsxs(_components.code,{language:`toml`,numberOfLines:`5`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E011A`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#FFB1AF`,\"--shiki-dark-font-style\":`italic`},children:`...`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# TCP or UNIX socket address for Tendermint to listen on for`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#66707B`,\"--shiki-dark\":`#BDC4CC`},children:`# connections from an external PrivValidator process`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`priv_validator_laddr = `}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:`\"tcp://127.0.0.1:26658\"`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#6E011A`,\"--shiki-light-font-style\":`italic`,\"--shiki-dark\":`#FFB1AF`,\"--shiki-dark-font-style\":`italic`},children:`...`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Let’s assume that you have set up your validator account and called it `,_jsx(_components.code,{children:`kmsval`}),`. You can tell gaiad the key that we’ve got in the previous section.`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`1`,language:`shellscript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-high-contrast github-dark-high-contrast`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0a0c10`,color:`#0e1116`,\"--shiki-dark\":`#f0f3f6`},language:`shellscript`,children:_jsxs(_components.code,{language:`shellscript`,numberOfLines:`1`,children:[_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`gaiad gentx --name kmsval --pubkey {.ValidatorKey} `})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`Now start `,_jsx(_components.code,{children:`gaiad`}),`. You should see that the KMS connects and receives a signature request.`]}),`\n`,_jsx(_components.p,{children:`Once the ledger receives the first message, it will ask for confirmation that the values are adequate.`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_1.jpg?fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=93f7fd64789cc8c470511c820444c911`,alt:`Ledger confirmation screen`,\"data-og-width\":`300`,width:`300`,\"data-og-height\":`150`,height:`150`,\"data-path\":`assets/hub/images/validators/kms/ledger_1.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_1.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=5fff8c79d7319c830eea986837d5c413 280w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_1.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=91f21036a43fce021ce09024f70878bd 560w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_1.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=da66e37590740d9b3a5163b4c2a6943e 840w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_1.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=cc78cf62d86cda377b8e7f048fe56af1 1100w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_1.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=92cc492d977bba4517467a8b8b1111e1 1650w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_1.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=2353840a02a34219c2b766752f3db6e2 2500w`}),`\n`,_jsx(_components.p,{children:`Click the right button if the height and round are correct.`}),`\n`,_jsx(_components.p,{children:`After that, you will see that the KMS will start forwarding all signature requests to the ledger:`}),`\n`,_jsx(OptimizedImage,{src:`https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_2.jpg?fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=7a3240fd68a1d2bfe6447ac20dd45159`,alt:`Ledger signing requests`,\"data-og-width\":`313`,width:`313`,\"data-og-height\":`150`,height:`150`,\"data-path\":`assets/hub/images/validators/kms/ledger_2.jpg`,\"data-optimize\":`true`,\"data-opv\":`3`,srcset:`https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_2.jpg?w=280\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=6e6409d3c7619ecfb1f06db690d2bf0a 280w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_2.jpg?w=560\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=1481e2024b1e3a9d1f4233ba20bf03ea 560w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_2.jpg?w=840\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=d651282c44e3520c809884f65454f284 840w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_2.jpg?w=1100\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=79aaefc4d5fc0e8365fe9f3461cbfa38 1100w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_2.jpg?w=1650\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=117a722499a33b80465188d752cc0d25 1650w, https://mintcdn.com/cosmos-docs/yipTtsKMSm-Y85vz/assets/hub/images/validators/kms/ledger_2.jpg?w=2500\u0026fit=max\u0026auto=format\u0026n=yipTtsKMSm-Y85vz\u0026q=85\u0026s=f85383d30428b1f3be0afa52839a1990 2500w`}),`\n`,_jsxs(Warning,{children:[_jsx(_components.p,{children:`The word TEST in the second picture, second line appears because they were taken on a pre-release version.`}),_jsx(_components.p,{children:`Once the app has been released in Ledger’s app store, this word should NOT appear.`})]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"codeStyling":{"theme":{"light":"github-light-high-contrast","dark":"github-dark-high-contrast"}},"config":{},"pageMetadata":{"noindex":true,"canonical":"https://docs.cosmos.network/hub/latest/validators/kms/kms_ledger","title":"Setting up Tendermint KMS + Ledger","description":null,"href":"/hub/v25/validators/kms/kms_ledger"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Tendermint Validator app (for Ledger devices)","slug":"tendermint-validator-app-for-ledger-devices","depth":2,"children":[]},{"title":"KMS configuration","slug":"kms-configuration","depth":2,"children":[{"title":"Config file","slug":"config-file","depth":3,"children":[]},{"title":"Generate secret key","slug":"generate-secret-key","depth":3,"children":[]},{"title":"Retrieve validator key","slug":"retrieve-validator-key","depth":3,"children":[]}]},{"title":"Gaia configuration","slug":"gaia-configuration","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"cosmos-docs","siteName":"Cosmos Docs","title":"Setting up Tendermint KMS + Ledger - Cosmos Docs","navMaps":{"firstHrefInVersion":{"v29.0.1":{"href":"/hub/latest","matchLevel":2},"next":{"href":"/hub/next","matchLevel":2},"v28.3.1":{"href":"/hub/v28.3.1","matchLevel":2},"v25":{"href":"/hub/v25/validators/kms/kms_ledger","matchLevel":0},"v0.55":{"href":"/sdk/latest/learn","matchLevel":4},"v0.54":{"href":"/sdk/v0.54/learn","matchLevel":4},"v0.53":{"href":"/sdk/v0.53/learn","matchLevel":4},"v0.50":{"href":"/sdk/v0.50/learn","matchLevel":4},"v0.47":{"href":"/sdk/v0.47/learn","matchLevel":4},"v0.7.0":{"href":"/evm/latest/documentation/overview","matchLevel":4},"v0.6.0":{"href":"/evm/v0.6.0/documentation/overview","matchLevel":4},"v0.5.0":{"href":"/evm/v0.5.0/documentation/overview","matchLevel":4},"v0.4.x":{"href":"/evm/v0.4.x/documentation/overview","matchLevel":4},"v0.40":{"href":"/cometbft/latest/docs/README","matchLevel":4},"v0.39":{"href":"/cometbft/v0.39/docs/README","matchLevel":4},"v0.38":{"href":"/cometbft/v0.38/docs/README","matchLevel":4},"v0.37":{"href":"/cometbft/v0.37/docs/README","matchLevel":4}},"firstHrefInLanguage":{}},"lastModified":"2026-11-10T15:19:09.102Z","originalFileLocation":"hub/v25/validators/kms/kms_ledger.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=\"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cosmos Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003cmeta data-mint-head name=\"robots\" content=\"noindex\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_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/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/cosmos-docs/48l-dIoPdyiiCW5H/_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/cosmos-docs/48l-dIoPdyiiCW5H/_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/cosmos-docs/48l-dIoPdyiiCW5H/_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/cosmos-docs/48l-dIoPdyiiCW5H/_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/cosmos-docs/48l-dIoPdyiiCW5H/_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/cosmos-docs/48l-dIoPdyiiCW5H/_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/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"Setting up Tendermint KMS + Ledger - Cosmos Docs\">\u003cmeta data-mint-head property=\"og:description\" content=\"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Cosmos Docs\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.cosmos.network/hub/latest/validators/kms/kms_ledger\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cosmos-docs.mintlify.site/_mintlify/api/og/v2?division=Validators\u0026amp;title=Setting+up+Tendermint+KMS+%2B+Ledger\u0026amp;theme=a0d9183aae09e86ecbbfaa90\u0026amp;signature=8eec2e724fd7a72076e457214361cab54a288410588cd2c2b7c7a25a2df3d8a6\">\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=\"Setting up Tendermint KMS + Ledger - Cosmos Docs\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"Developer documentation for the Cosmos stack. Build secure, reliable, and high-performance blockchains.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://cosmos-docs.mintlify.site/_mintlify/api/og/v2?division=Validators\u0026amp;title=Setting+up+Tendermint+KMS+%2B+Ledger\u0026amp;theme=a0d9183aae09e86ecbbfaa90\u0026amp;signature=8eec2e724fd7a72076e457214361cab54a288410588cd2c2b7c7a25a2df3d8a6\">\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/cosmos-docs/48l-dIoPdyiiCW5H/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Cosmos Docs\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#000000\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.cosmos.network/hub/latest/validators/kms/kms_ledger\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/hub/v25/validators/kms/kms_ledger.md\">","agentPointerHref":"/hub/v25/validators/kms/kms_ledger.md","siteName":"Cosmos Docs","nav":{"global":null,"dropdowns":[{"dropdown":"Home","pages":[{"title":"Cosmos Developer Documentation","mode":"custom","href":""}]},{"dropdown":"Cosmos SDK","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/cosmos-sdk.svg","versions":[{"version":"v0.55","default":true,"tag":"Latest","tabs":[{"tab":"Cosmos SDK","groups":[{"group":"Intro","icon":"earth","pages":[{"title":"Cosmos SDK Docs","href":"/sdk/latest/learn"},{"title":"Start Here","icon":"play","href":"/sdk/latest/learn/start-here"}]},{"group":"Overview","icon":"book-open","pages":[{"title":"The Cosmos Stack","href":"/sdk/latest/learn/intro/cosmos-stack"},{"title":"What is the Cosmos SDK","href":"/sdk/latest/learn/intro/overview"},{"title":"Blockchain Basics","href":"/sdk/latest/learn/intro/blockchain-basics"},{"title":"Cosmos Architecture","href":"/sdk/latest/learn/intro/sdk-app-architecture"}]},{"group":"Concepts","icon":"graduation-cap","pages":[{"group":"Fundamentals","pages":[{"title":"Accounts","href":"/sdk/latest/learn/concepts/accounts"},{"title":"Transactions, Messages, and Queries","href":"/sdk/latest/learn/concepts/transactions"},{"title":"Transaction Lifecycle","href":"/sdk/latest/learn/concepts/lifecycle"}]},{"group":"Modules","pages":[{"title":"Intro to Modules","href":"/sdk/latest/learn/concepts/modules"},{"title":"State, Storage, and Genesis","href":"/sdk/latest/learn/concepts/store"},{"title":"Protobuf and Signing","href":"/sdk/latest/learn/concepts/encoding"},{"title":"Execution Context, Gas, and Events","href":"/sdk/latest/learn/concepts/context-gas-events"}]},{"group":"Cosmos SDK Internals","pages":[{"title":"Cosmos Blockchain Structure","href":"/sdk/latest/learn/concepts/sdk-structure"},{"title":"BaseApp Overview","href":"/sdk/latest/learn/concepts/baseapp"},{"title":"app.go Overview","href":"/sdk/latest/learn/concepts/app-go"},{"title":"CLI, gRPC, and REST API","href":"/sdk/latest/learn/concepts/cli-grpc-rest"},{"title":"Testing in the SDK","href":"/sdk/latest/learn/concepts/testing"}]},{"title":"Release Families","href":"/sdk/latest/release-family"}]},{"group":"Build a Chain","icon":"hammer","pages":[{"title":"Tutorial Intro","href":"/sdk/latest/tutorials/example/00-overview"},{"title":"Prerequisites","href":"/sdk/latest/tutorials/example/01-prerequisites"},{"title":"Chain Quickstart","href":"/sdk/latest/tutorials/example/02-quickstart"},{"title":"Build a Module from Scratch","href":"/sdk/latest/tutorials/example/03-build-a-module"},{"title":"Full Counter Module Walkthrough","href":"/sdk/latest/tutorials/example/04-counter-walkthrough"},{"title":"Run, Test, and Configure","href":"/sdk/latest/tutorials/example/05-run-and-test"}]},{"group":"Run a Node","icon":"server","pages":[{"title":"Node Tutorial","href":"/sdk/latest/tutorials"},{"group":"Get Started","pages":[{"title":"Prerequisites","href":"/sdk/latest/node/prerequisites"},{"title":"Setting up the keyring","href":"/sdk/latest/node/keyring"},{"title":"Running a Node","href":"/sdk/latest/node/run-node"},{"title":"Interacting with a Node","href":"/sdk/latest/node/interact-node"},{"title":"Generating, Signing and Broadcasting Transactions","href":"/sdk/latest/node/txs"}]},{"group":"Testnet \u0026 Production","pages":[{"title":"Running a Testnet","href":"/sdk/latest/node/run-testnet"},{"title":"Running in Production","href":"/sdk/latest/node/run-production"}]},{"group":"Key Rotation","pages":[{"title":"Key rotation","href":"/sdk/latest/keys/key-rotation"},{"title":"Rotate a consensus key, Staking","href":"/sdk/latest/keys/rotate-validator-key"},{"title":"Rotate a consensus key, PoA","href":"/sdk/latest/keys/rotate-validator-key-poa"}]},{"group":"Post-quantum Keys","pages":[{"title":"Post-quantum keys","href":"/sdk/latest/keys/post-quantum-keys"},{"title":"Enable ML-DSA keys","href":"/sdk/latest/keys/enable-ml-dsa-keys"},{"title":"Migrate a validator to ML-DSA","href":"/sdk/latest/keys/migrate-validator-ml-dsa"},{"title":"Create an ML-DSA account","href":"/sdk/latest/keys/create-ml-dsa-account"}]},{"group":"Remote Signing: Cosmos-KMS","pages":[{"title":"Overview","href":"/sdk/latest/kms/remote-signing"},{"title":"Remote signing tutorial","href":"/sdk/latest/kms/tutorial-file-backend"},{"title":"Configure a signing backend","href":"/sdk/latest/kms/configure-backend"},{"title":"Rotate a consensus key held in Cosmos-KMS","href":"/sdk/latest/kms/rotate-key-remote-signer"},{"title":"Migrate from TMKMS","href":"/sdk/latest/kms/migrate-from-tmkms"},{"title":"Cosmos-KMS configuration reference","href":"/sdk/latest/kms/configuration-reference"},{"title":"Remote signing best practices","href":"/sdk/latest/kms/best-practices"}]}]},{"group":"v0.55 Upgrade","icon":"upload","pages":[{"title":"v0.55 Release Notes","href":"/sdk/latest/upgrade/v0.55-release"},{"title":"v0.55 Upgrade Guide","href":"/sdk/latest/upgrade/v0.55"},{"title":"Changelog","mode":"wide","href":"/sdk/latest/changelog/release-notes"},{"group":"Previous versions","pages":[{"title":"v0.54 Release Notes","href":"/sdk/latest/upgrade/v0.54-release"},{"title":"v0.54 Upgrade Guide","href":"/sdk/latest/upgrade/v0.54"}]}]},{"group":"In-depth Guides","icon":"map","pages":[{"title":"Guides Overview","href":"/sdk/latest/guides/guides"},{"group":"Module Design","pages":[{"title":"Module Design Considerations","href":"/sdk/latest/guides/module-design/module-design-considerations"},{"title":"Object-Capability Model","href":"/sdk/latest/guides/module-design/ocap"}]},{"group":"ABCI","pages":[{"title":"ABCI Overview","href":"/sdk/latest/guides/abci/abci"},{"title":"Application Mempool","href":"/sdk/latest/guides/abci/app-mempool"},{"title":"Vote Extensions","href":"/sdk/latest/guides/abci/vote-extensions"},{"title":"Block-STM: Parallel Transaction Execution","href":"/sdk/latest/experimental/blockstm"}]},{"group":"Tooling \u0026 CLI","pages":[{"title":"Tool Guide","href":"/sdk/latest/guides/tooling/tool-guide"},{"title":"Writing CLI Commands","href":"/sdk/latest/guides/tooling/autocli"},{"title":"Confix","href":"/sdk/latest/guides/tooling/confix"}]},{"group":"State","pages":[{"title":"Module Store Internals","href":"/sdk/latest/guides/state/store"},{"title":"Collections API","href":"/sdk/latest/guides/state/collections"}]},{"group":"Upgrades \u0026 Migrations","pages":[{"title":"Upgrades and Store Migrations","href":"/sdk/latest/guides/upgrades/upgrade"},{"title":"Cosmovisor","href":"/sdk/latest/guides/upgrades/cosmovisor"}]},{"group":"Testing and Observability","pages":[{"title":"Module Simulation","href":"/sdk/latest/guides/testing/simulator"},{"title":"Telemetry","href":"/sdk/latest/guides/testing/telemetry"},{"title":"Log v2","href":"/sdk/latest/guides/testing/log"}]}]},{"group":"Developer Reference","icon":"code","pages":[{"title":"SDK Go Packages","href":"/sdk/latest/guides/reference/packages"},{"title":"Address Encoding","href":"/sdk/latest/guides/reference/bech32"},{"title":"Protobuf Annotations","href":"/sdk/latest/guides/reference/protobuf-annotations"},{"title":"Cosmos Protobuf Docs","url":"https://buf.build/cosmos/cosmos-sdk/docs/main","href":"/sdk/latest/guides/reference/proto-docs"},{"title":"Cosmos SDK Repository","url":"https://github.com/cosmos/cosmos-sdk","href":"/sdk/latest/reference/cosmos-sdk-repo"},{"title":"Tutorial Example Repository","url":"https://github.com/cosmos/example","href":"/sdk/latest/reference/example-repo"}]},{"group":"Modules","icon":"puzzle","pages":[{"title":"Module Directory","href":"/sdk/latest/modules/modules"},{"group":"Open-source Modules","pages":[{"group":"x/auth","pages":[{"title":"x/auth","href":"/sdk/latest/modules/auth/auth"},{"title":"x/auth/vesting","href":"/sdk/latest/modules/auth/vesting"},{"title":"x/auth/tx","href":"/sdk/latest/modules/auth/tx"}]},{"title":"x/authz","href":"/sdk/latest/modules/authz/README"},{"title":"x/bank","href":"/sdk/latest/modules/bank/README"},{"title":"x/consensus","href":"/sdk/latest/modules/consensus/README"},{"title":"x/crisis","href":"/sdk/latest/modules/crisis/README"},{"title":"x/distribution","href":"/sdk/latest/modules/distribution/README"},{"title":"x/epochs","href":"/sdk/latest/modules/epochs/README"},{"title":"x/evidence","href":"/sdk/latest/modules/evidence/README"},{"title":"x/feegrant","href":"/sdk/latest/modules/feegrant/README"},{"title":"x/gov","href":"/sdk/latest/modules/gov/README"},{"title":"x/group","href":"/sdk/latest/modules/group/README"},{"title":"x/mint","href":"/sdk/latest/modules/mint/README"},{"title":"x/nft","href":"/sdk/latest/modules/nft/README"},{"title":"x/params","href":"/sdk/latest/modules/params/README"},{"title":"x/slashing","href":"/sdk/latest/modules/slashing/README"},{"title":"x/staking","href":"/sdk/latest/modules/staking/README"},{"title":"x/upgrade","href":"/sdk/latest/modules/upgrade/README"},{"title":"x/circuit","href":"/sdk/latest/modules/circuit/README"},{"title":"x/genutil","href":"/sdk/latest/modules/genutil/README"}]},{"group":"Cosmos Enterprise Modules","pages":[{"title":"Overview","href":"/sdk/latest/enterprise/overview"},{"group":"Permissioned Consensus","pages":[{"title":"Overview","href":"/sdk/latest/enterprise/poa/overview"},{"title":"Architecture","href":"/sdk/latest/enterprise/poa/architecture"},{"title":"Governance Integration","href":"/sdk/latest/enterprise/poa/governance"},{"title":"API Reference","href":"/sdk/latest/enterprise/poa/api"},{"title":"Fee Distribution","href":"/sdk/latest/enterprise/poa/distribution"}]},{"group":"Multi-sig","pages":[{"title":"Overview","href":"/sdk/latest/enterprise/group/overview"},{"title":"Architecture","href":"/sdk/latest/enterprise/group/architecture"},{"title":"API Reference","href":"/sdk/latest/enterprise/group/api"}]}]}]},{"group":"Architecture Reference","icon":"building-2","pages":[{"group":"ADRs","pages":[{"title":"Architecture Decision Records (ADR)","href":"/sdk/latest/reference/architecture/README"},{"title":"ADR Creation Process","href":"/sdk/latest/reference/architecture/PROCESS"},{"title":"ADR 002: SDK Documentation Structure","href":"/sdk/latest/reference/architecture/adr-002-docs-structure"},{"title":"ADR 003: Dynamic Capability Store","href":"/sdk/latest/reference/architecture/adr-003-dynamic-capability-store"},{"title":"ADR 004: Split Denomination Keys","href":"/sdk/latest/reference/architecture/adr-004-split-denomination-keys"},{"title":"ADR 006: Secret Store Replacement","href":"/sdk/latest/reference/architecture/adr-006-secret-store-replacement"},{"title":"ADR 007: Specialization Groups","href":"/sdk/latest/reference/architecture/adr-007-specialization-groups"},{"title":"ADR 008: Decentralized Computer Emergency Response Team (dCERT) Group","href":"/sdk/latest/reference/architecture/adr-008-dCERT-group"},{"title":"ADR 009: Evidence Module","href":"/sdk/latest/reference/architecture/adr-009-evidence-module"},{"title":"ADR 010: Modular AnteHandler","href":"/sdk/latest/reference/architecture/adr-010-modular-antehandler"},{"title":"ADR 011: Generalize Genesis Accounts","href":"/sdk/latest/reference/architecture/adr-011-generalize-genesis-accounts"},{"title":"ADR 012: State Accessors","href":"/sdk/latest/reference/architecture/adr-012-state-accessors"},{"title":"ADR 013: Observability","href":"/sdk/latest/reference/architecture/adr-013-metrics"},{"title":"ADR 14: Proportional Slashing","href":"/sdk/latest/reference/architecture/adr-014-proportional-slashing"},{"title":"ADR 016: Validator Consensus Key Rotation","href":"/sdk/latest/reference/architecture/adr-016-validator-consensus-key-rotation"},{"title":"ADR 17: Historical Header Module","href":"/sdk/latest/reference/architecture/adr-017-historical-header-module"},{"title":"ADR 18: Extendable Voting Periods","href":"/sdk/latest/reference/architecture/adr-018-extendable-voting-period"},{"title":"ADR 019: Protocol Buffer State Encoding","href":"/sdk/latest/reference/architecture/adr-019-protobuf-state-encoding"},{"title":"ADR 020: Protocol Buffer Transaction Encoding","href":"/sdk/latest/reference/architecture/adr-020-protobuf-transaction-encoding"},{"title":"ADR 021: Protocol Buffer Query Encoding","href":"/sdk/latest/reference/architecture/adr-021-protobuf-query-encoding"},{"title":"ADR 022: Custom BaseApp panic handling","href":"/sdk/latest/reference/architecture/adr-022-custom-panic-handling"},{"title":"ADR 023: Protocol Buffer Naming and Versioning Conventions","href":"/sdk/latest/reference/architecture/adr-023-protobuf-naming"},{"title":"ADR 024: Coin Metadata","href":"/sdk/latest/reference/architecture/adr-024-coin-metadata"},{"title":"ADR 027: Deterministic Protobuf Serialization","href":"/sdk/latest/reference/architecture/adr-027-deterministic-protobuf-serialization"},{"title":"ADR 028: Public Key Addresses","href":"/sdk/latest/reference/architecture/adr-028-public-key-addresses"},{"title":"ADR 029: Fee Grant Module","href":"/sdk/latest/reference/architecture/adr-029-fee-grant-module"},{"title":"ADR 030: Authorization Module","href":"/sdk/latest/reference/architecture/adr-030-authz-module"},{"title":"ADR 031: Protobuf Msg Services","href":"/sdk/latest/reference/architecture/adr-031-msg-service"},{"title":"ADR 032: Typed Events","href":"/sdk/latest/reference/architecture/adr-032-typed-events"},{"title":"ADR 033: Protobuf-based Inter-Module Communication","href":"/sdk/latest/reference/architecture/adr-033-protobuf-inter-module-comm"},{"title":"ADR 034: Account Rekeying","href":"/sdk/latest/reference/architecture/adr-034-account-rekeying"},{"title":"ADR 035: Rosetta API Support","href":"/sdk/latest/reference/architecture/adr-035-rosetta-api-support"},{"title":"ADR 036: Arbitrary Message Signature Specification","href":"/sdk/latest/reference/architecture/adr-036-arbitrary-signature"},{"title":"ADR 037: Governance split votes","href":"/sdk/latest/reference/architecture/adr-037-gov-split-vote"},{"title":"ADR 038: KVStore state listening","href":"/sdk/latest/reference/architecture/adr-038-state-listening"},{"title":"ADR 039: Epoched Staking","href":"/sdk/latest/reference/architecture/adr-039-epoched-staking"},{"title":"ADR 040: Storage and SMT State Commitments","href":"/sdk/latest/reference/architecture/adr-040-storage-and-smt-state-commitments"},{"title":"ADR 041: In-Place Store Migrations","href":"/sdk/latest/reference/architecture/adr-041-in-place-store-migrations"},{"title":"ADR 042: Group Module","href":"/sdk/latest/reference/architecture/adr-042-group-module"},{"title":"ADR 43: NFT Module","href":"/sdk/latest/reference/architecture/adr-043-nft-module"},{"title":"ADR 044: Guidelines for Updating Protobuf Definitions","href":"/sdk/latest/reference/architecture/adr-044-protobuf-updates-guidelines"},{"title":null,"href":"/sdk/latest/reference/architecture/adr-045-check-delivertx-middlewares"},{"title":"ADR 046: Module Params","href":"/sdk/latest/reference/architecture/adr-046-module-params"},{"title":"ADR 047: Extend Upgrade Plan","href":"/sdk/latest/reference/architecture/adr-047-extend-upgrade-plan"},{"title":"ADR 048: Multi Tire Gas Price System","href":"/sdk/latest/reference/architecture/adr-048-consensus-fees"},{"title":"ADR 049: State Sync Hooks","href":"/sdk/latest/reference/architecture/adr-049-state-sync-hooks"},{"title":"ADR 050: SIGN_MODE_TEXTUAL: Annex 1 Value Renderers","href":"/sdk/latest/reference/architecture/adr-050-sign-mode-textual-annex1"},{"title":"ADR 050: SIGN_MODE_TEXTUAL: Annex 2 Device Rendering","href":"/sdk/latest/reference/architecture/adr-050-sign-mode-textual-annex2"},{"title":"ADR 050: SIGN_MODE_TEXTUAL","href":"/sdk/latest/reference/architecture/adr-050-sign-mode-textual"},{"title":"ADR 053: Go Module Refactoring","href":"/sdk/latest/reference/architecture/adr-053-go-module-refactoring"},{"title":"ADR 054: Semver Compatible SDK Modules","href":"/sdk/latest/reference/architecture/adr-054-semver-compatible-modules"},{"title":"ADR 055: ORM","href":"/sdk/latest/reference/architecture/adr-055-orm"},{"title":"ADR 057: App Wiring","href":"/sdk/latest/reference/architecture/adr-057-app-wiring"},{"title":"ADR 058: Auto-Generated CLI","href":"/sdk/latest/reference/architecture/adr-058-auto-generated-cli"},{"title":"ADR 059: Test Scopes","href":"/sdk/latest/reference/architecture/adr-059-test-scopes"},{"title":"ADR 60: ABCI 1.0 Integration (Phase I)","href":"/sdk/latest/reference/architecture/adr-060-abci-1.0"},{"title":"ADR ADR-061: Liquid Staking","href":"/sdk/latest/reference/architecture/adr-061-liquid-staking"},{"title":"ADR 062: Collections, a simplified storage layer for cosmos-sdk modules.","href":"/sdk/latest/reference/architecture/adr-062-collections-state-layer"},{"title":"ADR 063: Core Module API","href":"/sdk/latest/reference/architecture/adr-063-core-module-api"},{"title":"ADR 64: ABCI 2.0 Integration (Phase II)","href":"/sdk/latest/reference/architecture/adr-064-abci-2.0"},{"title":"ADR-065: Store V2","href":"/sdk/latest/reference/architecture/adr-065-store-v2"},{"title":"ADR 068: Preblock","href":"/sdk/latest/reference/architecture/adr-068-preblock"},{"title":"ADR 070: Unordered Transactions","href":"/sdk/latest/reference/architecture/adr-070-unordered-account"},{"title":"Cosmos SDK Transaction Malleability Risk Review and Recommendations","href":"/sdk/latest/reference/architecture/adr-076-tx-malleability"}]},{"group":"RFCs","pages":[{"title":"Requests for Comments","href":"/sdk/latest/reference/rfc/README"},{"title":"RFC Creation Process","href":"/sdk/latest/reference/rfc/PROCESS"},{"title":"RFC 001: Transaction Validation","href":"/sdk/latest/reference/rfc/rfc-001-tx-validation"}]},{"group":"Specifications","pages":[{"title":"Specifications","href":"/sdk/latest/reference/spec/README"},{"title":"Specification of Modules","href":"/sdk/latest/reference/spec/SPEC_MODULE"},{"title":"What is an SDK standard?","href":"/sdk/latest/reference/spec/SPEC_STANDARD"}]}]},{"group":"Security","icon":"shield","pages":[{"title":"Security and Maintenance Policy","href":"/sdk/latest/security/security-policy"},{"title":"Bug Bounty Program","href":"/sdk/latest/security/bug-bounty"},{"group":"Audits","pages":[{"title":"Security Audits","href":"/sdk/latest/security/audits"},{"title":"Internal Audit Process","href":"/sdk/latest/security/internal-audits"}]}]}]},{"tab":"Release Notes","pages":[{"title":"v0.55 Release Notes","href":"/sdk/latest/upgrade/v0.55-release"}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"API reference","href":"/sdk/latest/api-reference/index"},{"title":"Sending Transactions","href":"/sdk/latest/api-reference/transactions"}]},{"group":"gRPC Services","pages":[{"title":"gRPC Services","href":"/sdk/latest/api-reference/grpc/index"},{"title":"Auth","href":"/sdk/latest/api-reference/grpc/auth"},{"title":"Authz","href":"/sdk/latest/api-reference/grpc/authz"},{"title":"Autocli","href":"/sdk/latest/api-reference/grpc/autocli"},{"title":"Bank","href":"/sdk/latest/api-reference/grpc/bank"},{"title":"Base","href":"/sdk/latest/api-reference/grpc/base"},{"title":"Consensus","href":"/sdk/latest/api-reference/grpc/consensus"},{"title":"Counter","href":"/sdk/latest/api-reference/grpc/counter"},{"title":"Distribution","href":"/sdk/latest/api-reference/grpc/distribution"},{"title":"Epochs","href":"/sdk/latest/api-reference/grpc/epochs"},{"title":"Evidence","href":"/sdk/latest/api-reference/grpc/evidence"},{"title":"Feegrant","href":"/sdk/latest/api-reference/grpc/feegrant"},{"title":"Gov","href":"/sdk/latest/api-reference/grpc/gov"},{"title":"Mint","href":"/sdk/latest/api-reference/grpc/mint"},{"title":"Reflection","href":"/sdk/latest/api-reference/grpc/reflection"},{"title":"Slashing","href":"/sdk/latest/api-reference/grpc/slashing"},{"title":"Staking","href":"/sdk/latest/api-reference/grpc/staking"},{"title":"Store","href":"/sdk/latest/api-reference/grpc/store"},{"title":"Tx","href":"/sdk/latest/api-reference/grpc/tx"},{"title":"Upgrade","href":"/sdk/latest/api-reference/grpc/upgrade"},{"title":"Vesting","href":"/sdk/latest/api-reference/grpc/vesting"}]},{"group":"REST (gRPC Gateway)","pages":[{"group":"auth","pages":[{"title":"AccountInfo","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/account_info/{address}","href":"/sdk/latest/api-reference/rest/auth/accountinfo"},{"title":"Accounts","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/accounts","href":"/sdk/latest/api-reference/rest/auth/accounts"},{"title":"Account","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/accounts/{address}","href":"/sdk/latest/api-reference/rest/auth/account"},{"title":"AccountAddressByID","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/address_by_id/{accountId}","href":"/sdk/latest/api-reference/rest/auth/accountaddressbyid"},{"title":"Bech32Prefix","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/bech32","href":"/sdk/latest/api-reference/rest/auth/bech32prefix"},{"title":"AddressBytesToString","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/bech32/{addressBytes}","href":"/sdk/latest/api-reference/rest/auth/addressbytestostring"},{"title":"ModuleAccounts","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/module_accounts","href":"/sdk/latest/api-reference/rest/auth/moduleaccounts"},{"title":"ModuleAccountByName","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/module_accounts/{name}","href":"/sdk/latest/api-reference/rest/auth/moduleaccountbyname"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/auth/v1beta1/params","href":"/sdk/latest/api-reference/rest/auth/params"}]},{"group":"authz","pages":[{"title":"Grants","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/authz/v1beta1/grants","href":"/sdk/latest/api-reference/rest/authz/grants"},{"title":"GranteeGrants","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/authz/v1beta1/grants/grantee/{grantee}","href":"/sdk/latest/api-reference/rest/authz/granteegrants"},{"title":"GranterGrants","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/authz/v1beta1/grants/granter/{granter}","href":"/sdk/latest/api-reference/rest/authz/grantergrants"}]},{"group":"bank","pages":[{"title":"AllBalances","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/balances/{address}","href":"/sdk/latest/api-reference/rest/bank/allbalances"},{"title":"Balance","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/balances/{address}/by_denom","href":"/sdk/latest/api-reference/rest/bank/balance"},{"title":"DenomOwners","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denom_owners/{denom}","href":"/sdk/latest/api-reference/rest/bank/denomowners"},{"title":"DenomOwnersByQuery","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denom_owners_by_query","href":"/sdk/latest/api-reference/rest/bank/denomownersbyquery"},{"title":"DenomsMetadata","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denoms_metadata","href":"/sdk/latest/api-reference/rest/bank/denomsmetadata"},{"title":"DenomMetadata","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denoms_metadata/{denom}","href":"/sdk/latest/api-reference/rest/bank/denommetadata"},{"title":"DenomMetadataByQueryString","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/denoms_metadata_by_query_string","href":"/sdk/latest/api-reference/rest/bank/denommetadatabyquerystring"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/params","href":"/sdk/latest/api-reference/rest/bank/params"},{"title":"SendEnabled","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/send_enabled","href":"/sdk/latest/api-reference/rest/bank/sendenabled"},{"title":"SpendableBalances","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/spendable_balances/{address}","href":"/sdk/latest/api-reference/rest/bank/spendablebalances"},{"title":"SpendableBalanceByDenom","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/spendable_balances/{address}/by_denom","href":"/sdk/latest/api-reference/rest/bank/spendablebalancebydenom"},{"title":"TotalSupply","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/supply","href":"/sdk/latest/api-reference/rest/bank/totalsupply"},{"title":"SupplyOf","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/bank/v1beta1/supply/by_denom","href":"/sdk/latest/api-reference/rest/bank/supplyof"}]},{"group":"base","pages":[{"title":"Config","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/node/v1beta1/config","href":"/sdk/latest/api-reference/rest/base/config"},{"title":"Status","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/node/v1beta1/status","href":"/sdk/latest/api-reference/rest/base/status"},{"title":"ABCIQuery","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/abci_query","href":"/sdk/latest/api-reference/rest/base/abciquery"},{"title":"GetLatestBlockResults","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/block_results/latest","href":"/sdk/latest/api-reference/rest/base/getlatestblockresults"},{"title":"GetBlockResults","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/block_results/{height}","href":"/sdk/latest/api-reference/rest/base/getblockresults"},{"title":"GetLatestBlock","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/blocks/latest","href":"/sdk/latest/api-reference/rest/base/getlatestblock"},{"title":"GetBlockByHeight","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/blocks/{height}","href":"/sdk/latest/api-reference/rest/base/getblockbyheight"},{"title":"GetNodeInfo","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/node_info","href":"/sdk/latest/api-reference/rest/base/getnodeinfo"},{"title":"GetSyncing","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/syncing","href":"/sdk/latest/api-reference/rest/base/getsyncing"},{"title":"GetLatestValidatorSet","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/validatorsets/latest","href":"/sdk/latest/api-reference/rest/base/getlatestvalidatorset"},{"title":"GetValidatorSetByHeight","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/base/tendermint/v1beta1/validatorsets/{height}","href":"/sdk/latest/api-reference/rest/base/getvalidatorsetbyheight"}]},{"group":"consensus","pages":[{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/consensus/v1/params","href":"/sdk/latest/api-reference/rest/consensus/params"}]},{"group":"distribution","pages":[{"title":"CommunityPool","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/community_pool","href":"/sdk/latest/api-reference/rest/distribution/communitypool"},{"title":"DelegationTotalRewards","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/rewards","href":"/sdk/latest/api-reference/rest/distribution/delegationtotalrewards"},{"title":"DelegationRewards","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/rewards/{validatorAddress}","href":"/sdk/latest/api-reference/rest/distribution/delegationrewards"},{"title":"DelegatorStartingInfo","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/starting_info/{validatorAddress}","href":"/sdk/latest/api-reference/rest/distribution/delegatorstartinginfo"},{"title":"DelegatorValidators","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/validators","href":"/sdk/latest/api-reference/rest/distribution/delegatorvalidators"},{"title":"DelegatorWithdrawAddress","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/delegators/{delegatorAddress}/withdraw_address","href":"/sdk/latest/api-reference/rest/distribution/delegatorwithdrawaddress"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/params","href":"/sdk/latest/api-reference/rest/distribution/params"},{"title":"ValidatorDistributionInfo","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}","href":"/sdk/latest/api-reference/rest/distribution/validatordistributioninfo"},{"title":"ValidatorCommission","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/commission","href":"/sdk/latest/api-reference/rest/distribution/validatorcommission"},{"title":"ValidatorCurrentRewards","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/current_rewards","href":"/sdk/latest/api-reference/rest/distribution/validatorcurrentrewards"},{"title":"ValidatorHistoricalRewards","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/historical_rewards/{period}","href":"/sdk/latest/api-reference/rest/distribution/validatorhistoricalrewards"},{"title":"ValidatorOutstandingRewards","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/outstanding_rewards","href":"/sdk/latest/api-reference/rest/distribution/validatoroutstandingrewards"},{"title":"ValidatorSlashes","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/distribution/v1beta1/validators/{validatorAddress}/slashes","href":"/sdk/latest/api-reference/rest/distribution/validatorslashes"}]},{"group":"epochs","pages":[{"title":"CurrentEpoch","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/epochs/v1beta1/current_epoch","href":"/sdk/latest/api-reference/rest/epochs/currentepoch"},{"title":"EpochInfos","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/epochs/v1beta1/epochs","href":"/sdk/latest/api-reference/rest/epochs/epochinfos"}]},{"group":"evidence","pages":[{"title":"AllEvidence","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/evidence/v1beta1/evidence","href":"/sdk/latest/api-reference/rest/evidence/allevidence"},{"title":"Evidence","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/evidence/v1beta1/evidence/{hash}","href":"/sdk/latest/api-reference/rest/evidence/evidence"}]},{"group":"feegrant","pages":[{"title":"Allowance","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/feegrant/v1beta1/allowance/{granter}/{grantee}","href":"/sdk/latest/api-reference/rest/feegrant/allowance"},{"title":"Allowances","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/feegrant/v1beta1/allowances/{grantee}","href":"/sdk/latest/api-reference/rest/feegrant/allowances"},{"title":"AllowancesByGranter","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/feegrant/v1beta1/issued/{granter}","href":"/sdk/latest/api-reference/rest/feegrant/allowancesbygranter"}]},{"group":"gov","pages":[{"title":"Constitution","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/constitution","href":"/sdk/latest/api-reference/rest/gov/constitution"},{"title":"Params (v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/params/{paramsType}","href":"/sdk/latest/api-reference/rest/gov/params-v1"},{"title":"Proposals (v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals","href":"/sdk/latest/api-reference/rest/gov/proposals-v1"},{"title":"Proposal (v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}","href":"/sdk/latest/api-reference/rest/gov/proposal-v1"},{"title":"Deposits (v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/deposits","href":"/sdk/latest/api-reference/rest/gov/deposits-v1"},{"title":"Deposit (Query, v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/deposits/{depositor}","href":"/sdk/latest/api-reference/rest/gov/deposit-query-v1"},{"title":"TallyResult (v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/tally","href":"/sdk/latest/api-reference/rest/gov/tallyresult-v1"},{"title":"Votes (v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/votes","href":"/sdk/latest/api-reference/rest/gov/votes-v1"},{"title":"Vote (Query, v1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1/proposals/{proposalId}/votes/{voter}","href":"/sdk/latest/api-reference/rest/gov/vote-query-v1"},{"title":"Params (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/params/{paramsType}","href":"/sdk/latest/api-reference/rest/gov/params-v1beta1"},{"title":"Proposals (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals","href":"/sdk/latest/api-reference/rest/gov/proposals-v1beta1"},{"title":"Proposal (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}","href":"/sdk/latest/api-reference/rest/gov/proposal-v1beta1"},{"title":"Deposits (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/deposits","href":"/sdk/latest/api-reference/rest/gov/deposits-v1beta1"},{"title":"Deposit (Query, v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/deposits/{depositor}","href":"/sdk/latest/api-reference/rest/gov/deposit-query-v1beta1"},{"title":"TallyResult (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/tally","href":"/sdk/latest/api-reference/rest/gov/tallyresult-v1beta1"},{"title":"Votes (v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/votes","href":"/sdk/latest/api-reference/rest/gov/votes-v1beta1"},{"title":"Vote (Query, v1beta1)","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/gov/v1beta1/proposals/{proposalId}/votes/{voter}","href":"/sdk/latest/api-reference/rest/gov/vote-query-v1beta1"}]},{"group":"mint","pages":[{"title":"AnnualProvisions","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/mint/v1beta1/annual_provisions","href":"/sdk/latest/api-reference/rest/mint/annualprovisions"},{"title":"Inflation","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/mint/v1beta1/inflation","href":"/sdk/latest/api-reference/rest/mint/inflation"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/mint/v1beta1/params","href":"/sdk/latest/api-reference/rest/mint/params"}]},{"group":"slashing","pages":[{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/slashing/v1beta1/params","href":"/sdk/latest/api-reference/rest/slashing/params"},{"title":"SigningInfos","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/slashing/v1beta1/signing_infos","href":"/sdk/latest/api-reference/rest/slashing/signinginfos"},{"title":"SigningInfo","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/slashing/v1beta1/signing_infos/{consAddress}","href":"/sdk/latest/api-reference/rest/slashing/signinginfo"}]},{"group":"staking","pages":[{"title":"DelegatorDelegations","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegations/{delegatorAddr}","href":"/sdk/latest/api-reference/rest/staking/delegatordelegations"},{"title":"Redelegations","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/redelegations","href":"/sdk/latest/api-reference/rest/staking/redelegations"},{"title":"DelegatorUnbondingDelegations","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/unbonding_delegations","href":"/sdk/latest/api-reference/rest/staking/delegatorunbondingdelegations"},{"title":"DelegatorValidators","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/validators","href":"/sdk/latest/api-reference/rest/staking/delegatorvalidators"},{"title":"DelegatorValidator","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/delegators/{delegatorAddr}/validators/{validatorAddr}","href":"/sdk/latest/api-reference/rest/staking/delegatorvalidator"},{"title":"HistoricalInfo","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/historical_info/{height}","href":"/sdk/latest/api-reference/rest/staking/historicalinfo"},{"title":"Params","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/params","href":"/sdk/latest/api-reference/rest/staking/params"},{"title":"Pool","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/pool","href":"/sdk/latest/api-reference/rest/staking/pool"},{"title":"Validators","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators","href":"/sdk/latest/api-reference/rest/staking/validators"},{"title":"Validator","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}","href":"/sdk/latest/api-reference/rest/staking/validator"},{"title":"ValidatorDelegations","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/delegations","href":"/sdk/latest/api-reference/rest/staking/validatordelegations"},{"title":"Delegation","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/delegations/{delegatorAddr}","href":"/sdk/latest/api-reference/rest/staking/delegation"},{"title":"UnbondingDelegation","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/delegations/{delegatorAddr}/unbonding_delegation","href":"/sdk/latest/api-reference/rest/staking/unbondingdelegation"},{"title":"ValidatorUnbondingDelegations","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/staking/v1beta1/validators/{validatorAddr}/unbonding_delegations","href":"/sdk/latest/api-reference/rest/staking/validatorunbondingdelegations"}]},{"group":"tx","pages":[{"title":"TxDecode","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/decode","href":"/sdk/latest/api-reference/rest/tx/txdecode"},{"title":"TxDecodeAmino","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/decode/amino","href":"/sdk/latest/api-reference/rest/tx/txdecodeamino"},{"title":"TxEncode","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/encode","href":"/sdk/latest/api-reference/rest/tx/txencode"},{"title":"TxEncodeAmino","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/encode/amino","href":"/sdk/latest/api-reference/rest/tx/txencodeamino"},{"title":"Simulate","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/simulate","href":"/sdk/latest/api-reference/rest/tx/simulate"},{"title":"GetTxsEvent","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/tx/v1beta1/txs","href":"/sdk/latest/api-reference/rest/tx/gettxsevent"},{"title":"BroadcastTx","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml post /cosmos/tx/v1beta1/txs","href":"/sdk/latest/api-reference/rest/tx/broadcasttx"},{"title":"GetBlockWithTxs","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/tx/v1beta1/txs/block/{height}","href":"/sdk/latest/api-reference/rest/tx/getblockwithtxs"},{"title":"GetTx","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/tx/v1beta1/txs/{hash}","href":"/sdk/latest/api-reference/rest/tx/gettx"}]},{"group":"upgrade","pages":[{"title":"AppliedPlan","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/applied_plan/{name}","href":"/sdk/latest/api-reference/rest/upgrade/appliedplan"},{"title":"Authority","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/authority","href":"/sdk/latest/api-reference/rest/upgrade/authority"},{"title":"CurrentPlan","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/current_plan","href":"/sdk/latest/api-reference/rest/upgrade/currentplan"},{"title":"ModuleVersions","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/module_versions","href":"/sdk/latest/api-reference/rest/upgrade/moduleversions"},{"title":"UpgradedConsensusState","deprecated":null,"version":null,"openapi":"/sdk/latest/api-reference/rest/openapi.yaml get /cosmos/upgrade/v1beta1/upgraded_consensus_state/{lastHeight}","href":"/sdk/latest/api-reference/rest/upgrade/upgradedconsensusstate"}]}]}]}]},{"version":"next","tag":"Unreleased","pages":[{"title":"next","href":"/sdk/next/learn"}]},{"version":"v0.54","pages":[{"title":"v0.54","href":"/sdk/v0.54/learn"}]},{"version":"v0.53","pages":[{"title":"v0.53","href":"/sdk/v0.53/learn"}]},{"version":"v0.50","pages":[{"title":"v0.50","href":"/sdk/v0.50/learn"}]},{"version":"v0.47","pages":[{"title":"v0.47","href":"/sdk/v0.47/learn"}]}]},{"dropdown":"Cosmos EVM","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/cosmos-evm.svg","versions":[{"version":"v0.7.0","default":true,"tag":"Latest","tabs":[{"tab":"Documentation","groups":[{"group":"About","pages":[{"title":"Overview","href":"/evm/latest/documentation/overview"},{"title":"EVM Compatibility","href":"/evm/latest/documentation/evm-compatibility"},{"title":"Frequently Asked Questions","href":"/evm/latest/documentation/getting-started/faq"}]},{"group":"Build","pages":[{"title":"Run an EVM Chain","href":"/evm/latest/documentation/getting-started/build-a-chain/quick-start"},{"group":"Additional Configuration","expanded":true,"pages":[{"title":"Mempool Configuration","href":"/evm/latest/documentation/getting-started/build-a-chain/additional-configuration/mempool-integration"},{"title":"Predeployed Contracts","href":"/evm/latest/documentation/getting-started/build-a-chain/additional-configuration/predeployed-contracts"},{"title":"Precompile Configuration","href":"/evm/latest/documentation/getting-started/build-a-chain/additional-configuration/precompiles"},{"title":"Node Configuration","mode":"wide","href":"/evm/latest/documentation/getting-started/network-operators/node-configuration"}]},{"title":"Tooling \u0026 Resources","href":"/evm/latest/documentation/getting-started/tooling-and-resources"}]},{"group":"Learn","pages":[{"group":"Concepts","pages":[{"title":"Overview","icon":"microchip","href":"/evm/latest/documentation/concepts/overview"},{"title":"Accounts","icon":"wallet","href":"/evm/latest/documentation/concepts/accounts"},{"title":"Chain ID","icon":"fingerprint","href":"/evm/latest/documentation/concepts/chain-id"},{"title":"Encoding","icon":"binary","href":"/evm/latest/documentation/concepts/encoding"},{"title":"Gas and Fees","icon":"fuel","href":"/evm/latest/documentation/concepts/gas-and-fees"},{"title":"IBC","icon":"network","href":"/evm/latest/documentation/concepts/ibc"},{"title":"Mempool","icon":"layers","href":"/evm/latest/documentation/concepts/mempool"},{"title":"State Export/Import","icon":"git-branch","href":"/evm/latest/documentation/concepts/migrations"},{"title":"Pending State","icon":"hourglass","href":"/evm/latest/documentation/concepts/pending-state"},{"title":"EIP-155: Replay Protection","icon":"shield","href":"/evm/latest/documentation/concepts/replay-protection"},{"title":"Signing","icon":"pen-tool","href":"/evm/latest/documentation/concepts/signing"},{"title":"Single Token Representation","icon":"coins","href":"/evm/latest/documentation/concepts/single-token-representation"},{"title":"Tokens","icon":"coins","href":"/evm/latest/documentation/concepts/tokens"},{"title":"Transactions","icon":"arrow-up-down","href":"/evm/latest/documentation/concepts/transactions"},{"title":"EIP-1559 Fee Market","icon":"chart-line","href":"/evm/latest/documentation/concepts/eip-1559-feemarket"}]},{"group":"Precompiles","pages":[{"title":"Overview","icon":"code","href":"/evm/latest/documentation/smart-contracts/precompiles/overview"},{"title":"Bank","icon":"vault","href":"/evm/latest/documentation/smart-contracts/precompiles/bank"},{"title":"Bech32","icon":"binary","href":"/evm/latest/documentation/smart-contracts/precompiles/bech32"},{"title":"Callbacks","icon":"webhook","href":"/evm/latest/documentation/smart-contracts/precompiles/callbacks"},{"title":"Distribution","icon":"coins","href":"/evm/latest/documentation/smart-contracts/precompiles/distribution"},{"title":"ERC20","icon":"refresh-cw","href":"/evm/latest/documentation/smart-contracts/precompiles/erc20"},{"title":"Governance","icon":"scale","href":"/evm/latest/documentation/smart-contracts/precompiles/governance"},{"title":"ICS20","icon":"chevrons-left-right-ellipsis","href":"/evm/latest/documentation/smart-contracts/precompiles/ics20"},{"title":"P256","icon":"shield-check","href":"/evm/latest/documentation/smart-contracts/precompiles/p256"},{"title":"Slashing","icon":"gavel","href":"/evm/latest/documentation/smart-contracts/precompiles/slashing"},{"title":"Staking","icon":"coins","href":"/evm/latest/documentation/smart-contracts/precompiles/staking"},{"title":"WERC20","icon":"refresh-ccw","href":"/evm/latest/documentation/smart-contracts/precompiles/werc20"}]},{"group":"Cosmos SDK","pages":[{"title":"Overview","mode":"wide","href":"/evm/latest/documentation/cosmos-sdk/overview"},{"title":"Command Line Interface (CLI)","href":"/evm/latest/documentation/cosmos-sdk/cli"},{"title":"Technical Architecture","href":"/evm/latest/documentation/cosmos-sdk/protocol"},{"group":"Modules","pages":[{"title":"ERC20","href":"/evm/latest/documentation/cosmos-sdk/modules/erc20"},{"title":"Fee Market","href":"/evm/latest/documentation/cosmos-sdk/modules/feemarket"},{"title":"IBC","href":"/evm/latest/documentation/cosmos-sdk/modules/ibc"},{"title":"PreciseBank","href":"/evm/latest/documentation/cosmos-sdk/modules/precisebank"},{"title":"VM","href":"/evm/latest/documentation/cosmos-sdk/modules/vm"}]}]}]},{"group":"Migrations","pages":[{"title":"Migration: v0.6.0 to v0.7.0","href":"/evm/latest/documentation/migrations/migration-v0.6-to-v0.7"},{"title":"Migrating off x/precisebank: Gas Converter Precompile","href":"/evm/latest/documentation/migrations/gas-converter-migration"},{"group":"Previous Versions","pages":[{"title":"Migration: v0.4.x to v0.5.0","href":"/evm/latest/documentation/migrations/migration-v0.4-to-v0.5"},{"title":"Migration: v0.3.0 to v0.4.0","href":"/evm/latest/documentation/migrations/migration-v0.3-to-v0.4"},{"title":"Migration: v0.5.0 to v0.6.0","href":"/evm/latest/documentation/migrations/migration-v0.5-to-v0.6"},{"title":"ERC20 Precompiles Migration","href":"/evm/latest/documentation/migrations/erc20-precompiles-migration"}]},{"group":"Advanced","pages":[{"title":"Upgrade Handlers","href":"/evm/latest/documentation/migrations/upgrade-handlers"},{"title":"Custom Improvement Proposals","href":"/evm/latest/documentation/custom-improvement-proposals"},{"title":"Adding EVM to an Existing Chain","href":"/evm/latest/documentation/migrations/add-evm-to-existing-chain"}]}]}]},{"tab":"API Reference","pages":[{"title":"Ethereum JSON-RPC","href":"/evm/latest/api-reference/ethereum-json-rpc/index"},{"title":"Methods","href":"/evm/latest/api-reference/ethereum-json-rpc/methods"},{"title":"JSON-RPC Explorer","mode":"custom","href":"/evm/latest/api-reference/ethereum-json-rpc/rpc-explorer"}]},{"tab":"Changelog","pages":[{"title":"Changelog","mode":"wide","href":"/evm/latest/changelog/release-notes"}]}]},{"version":"next","tag":"Unreleased","pages":[{"title":"next","href":"/evm/next/documentation/overview"}]},{"version":"v0.6.0","pages":[{"title":"v0.6.0","href":"/evm/v0.6.0/documentation/overview"}]},{"version":"v0.5.0","pages":[{"title":"v0.5.0","href":"/evm/v0.5.0/documentation/overview"}]},{"version":"v0.4.x","pages":[{"title":"v0.4.x","href":"/evm/v0.4.x/documentation/overview"}]}]},{"dropdown":"CometBFT","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/comet-bft.svg","versions":[{"version":"v0.40","default":true,"tag":"Latest","tabs":[{"tab":"Learn","groups":[{"group":"CometBFT","pages":[{"title":"CometBFT Documentation","href":"/cometbft/latest/docs/README"},{"title":null,"href":"/cometbft/latest/docs/introduction/intro"},{"group":"Guides","pages":[{"title":"Quick Start","href":"/cometbft/latest/docs/guides/Quick-Start"},{"title":"Install CometBFT","href":"/cometbft/latest/docs/guides/Install-CometBFT"},{"title":"Creating an application in Go","href":"/cometbft/latest/docs/guides/Creating-an-application-in-Go"},{"title":"Creating a built-in application in Go","href":"/cometbft/latest/docs/guides/Creating-a-built-in-application-in-Go"}]},{"group":"Apps","pages":[{"title":"Getting Started","href":"/cometbft/latest/docs/app-dev/Getting-Started"},{"title":"Application Architecture Guide","href":"/cometbft/latest/docs/app-dev/Application-Architecture-Guide"},{"title":"Using ABCI-CLI","href":"/cometbft/latest/docs/app-dev/Using-ABCI-CLI"},{"title":"Indexing Transactions","href":"/cometbft/latest/docs/app-dev/Indexing-Transactions"}]},{"group":"Core","pages":[{"title":"Using CometBFT","href":"/cometbft/latest/docs/core/Using-CometBFT"},{"title":"Running in production","href":"/cometbft/latest/docs/core/Running-in-production"},{"title":"Configuration","href":"/cometbft/latest/docs/core/configuration"},{"title":"Mempool","href":"/cometbft/latest/docs/core/mempool"},{"title":"Block Sync","href":"/cometbft/latest/docs/core/block-sync"},{"title":"State Sync","href":"/cometbft/latest/docs/core/state-sync"},{"title":"RPC","href":"/cometbft/latest/docs/core/RPC"},{"title":"Subscribing to events via Websocket","href":"/cometbft/latest/docs/core/Subscribing-to-events-via-Websocket"},{"title":"Metrics","href":"/cometbft/latest/docs/core/metrics"},{"title":"Validators","href":"/cometbft/latest/docs/core/Validators"},{"title":"Light Client","href":"/cometbft/latest/docs/core/light-client"},{"title":"Block Structure","href":"/cometbft/latest/docs/core/block-structure"},{"title":"How to read logs","href":"/cometbft/latest/docs/core/how-to-read-logs"},{"group":"Experimental","pages":[{"title":"Lib-P2P Networking","icon":"waypoints","href":"/cometbft/latest/docs/experimental/lib-p2p"}]}]},{"group":"Developer Tools","pages":[{"title":"Overview","href":"/cometbft/latest/docs/tools/Overview"},{"title":"Debugging","href":"/cometbft/latest/docs/tools/debugging"}]},{"group":"Networks","pages":[{"title":"Docker Compose","href":"/cometbft/latest/docs/networks/Docker-Compose"}]},{"group":"CometBFT Quality Assurance","pages":[{"title":"CometBFT Quality Assurance","href":"/cometbft/latest/docs/qa/CometBFT-qa"},{"title":"Method","href":"/cometbft/latest/docs/qa/Method"},{"title":null,"href":"/cometbft/latest/docs/qa/CometBFT-QA-38"},{"title":null,"href":"/cometbft/latest/docs/qa/CometBFT-QA-37"},{"title":null,"href":"/cometbft/latest/docs/qa/CometBFT-QA-34"},{"title":null,"href":"/cometbft/latest/docs/qa/TMCore-QA-37"},{"title":null,"href":"/cometbft/latest/docs/qa/TMCore-QA-34"}]}]}]},{"tab":"Specification","groups":[{"group":"CometBFT Spec","pages":[{"title":"Overview","href":"/cometbft/latest/spec/CometBFT-Spec"},{"group":"Core","pages":[{"title":null,"href":"/cometbft/latest/spec/core/Overview"},{"title":"Data Structures","href":"/cometbft/latest/spec/core/Data_structures"},{"title":"Encoding","href":"/cometbft/latest/spec/core/encoding"},{"title":"Genesis","href":"/cometbft/latest/spec/core/genesis"},{"title":"State","href":"/cometbft/latest/spec/core/state"}]},{"group":"ABCI++","pages":[{"title":null,"href":"/cometbft/latest/spec/abci/Overview"},{"title":"Overview and basic concepts","href":"/cometbft/latest/spec/abci/Outline"},{"title":"Methods","href":"/cometbft/latest/spec/abci/Methods"},{"title":"Requirements for the Application","href":"/cometbft/latest/spec/abci/Requirements-for-the-Application"},{"title":"CometBFT's expected behavior","href":"/cometbft/latest/spec/abci/CometBFTs-expected-behavior"},{"title":"Client and Server","href":"/cometbft/latest/spec/abci/Client-and-server"},{"title":"ABCI++ extra","href":"/cometbft/latest/spec/abci/Introduction"}]},{"group":"Consensus","pages":[{"title":null,"href":"/cometbft/latest/spec/consensus/Overview"},{"title":"Consensus Paper","href":"/cometbft/latest/spec/consensus/Consensus-Paper"},{"title":"Byzantine Consensus Algorithm","href":"/cometbft/latest/spec/consensus/Byzantine-Consensus-Algorithm"},{"title":null,"href":"/cometbft/latest/spec/consensus/Light-Client"},{"title":"Creating a proposal","href":"/cometbft/latest/spec/consensus/Creating-Proposal"},{"title":"BFT Time","href":"/cometbft/latest/spec/consensus/BFT-Time"},{"title":null,"href":"/cometbft/latest/spec/consensus/Proposer-Selection"},{"title":"Evidence","href":"/cometbft/latest/spec/consensus/Evidence"},{"title":"Validator Signing","href":"/cometbft/latest/spec/consensus/Validator-Signing"},{"title":"WAL","href":"/cometbft/latest/spec/consensus/WAL"}]},{"group":"Light Client","pages":[{"title":"Light Client Specification","href":"/cometbft/latest/spec/light-client/Light-Client-Specification"},{"title":null,"href":"/cometbft/latest/spec/light-client/verification"},{"title":null,"href":"/cometbft/latest/spec/light-client/Fork-Detection"},{"title":null,"href":"/cometbft/latest/spec/light-client/Accountability"}]},{"group":"P2P","pages":[{"title":null,"href":"/cometbft/latest/spec/p2p/Peer-to-Peer"},{"title":"Implementation","href":"/cometbft/latest/spec/p2p/Implementation-of-the-p2p-layer"},{"group":"Legacy Docs","pages":[{"title":"Legacy Docs","href":"/cometbft/latest/spec/p2p/legacy-docs/Overview"},{"group":"Messages","pages":[{"title":null,"href":"/cometbft/latest/spec/p2p/legacy-docs/messages/Overview"},{"title":"Block Sync","href":"/cometbft/latest/spec/p2p/legacy-docs/messages/block-sync"},{"title":"Evidence","href":"/cometbft/latest/spec/p2p/legacy-docs/messages/evidence"},{"title":"Mempool","href":"/cometbft/latest/spec/p2p/legacy-docs/messages/mempool"},{"title":"State Sync","href":"/cometbft/latest/spec/p2p/legacy-docs/messages/state-sync"},{"title":"Peer Exchange","href":"/cometbft/latest/spec/p2p/legacy-docs/messages/Peer-Exchange"},{"title":"Consensus","href":"/cometbft/latest/spec/p2p/legacy-docs/messages/consensus"}]},{"title":"P2P Multiplex Connection","href":"/cometbft/latest/spec/p2p/legacy-docs/P2P-Multiplex-Connection"},{"title":"Peers","href":"/cometbft/latest/spec/p2p/legacy-docs/Peers"},{"title":"P2P Config","href":"/cometbft/latest/spec/p2p/legacy-docs/P2P-Config"},{"title":"Peer Discovery","href":"/cometbft/latest/spec/p2p/legacy-docs/Peer-Discovery"},{"group":"Reactors","pages":[{"title":"Reactors","href":"/cometbft/latest/spec/p2p/reactor-api/Reactors"},{"title":"Reactor API","href":"/cometbft/latest/spec/p2p/reactor-api/Reactor-Api"},{"title":"API for Reactors","href":"/cometbft/latest/spec/p2p/reactor-api/API-for-Reactors"}]}]}]},{"group":"RPC","pages":[{"title":"RPC spec","href":"/cometbft/latest/spec/rpc/Rpc-Spe"}]},{"group":"Blockchain","pages":[{"title":"Blockchain","href":"/cometbft/latest/spec/blockchain/Blockchain"}]}]}]},{"tab":"API Reference","groups":[{"group":"Overview","pages":[{"title":"CometBFT RPC","href":"/cometbft/latest/api-reference/rpc/index"}]},{"group":"RPC Methods","pages":[{"group":"Tx","pages":[{"title":"broadcast_tx_sync","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /broadcast_tx_sync","href":"/cometbft/latest/api-reference/rpc/tx/broadcast_tx_sync"},{"title":"broadcast_tx_async","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /broadcast_tx_async","href":"/cometbft/latest/api-reference/rpc/tx/broadcast_tx_async"},{"title":"broadcast_tx_commit","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /broadcast_tx_commit","href":"/cometbft/latest/api-reference/rpc/tx/broadcast_tx_commit"},{"title":"check_tx","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /check_tx","href":"/cometbft/latest/api-reference/rpc/tx/check_tx"}]},{"group":"Info","pages":[{"title":"health","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /health","href":"/cometbft/latest/api-reference/rpc/info/health"},{"title":"status","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /status","href":"/cometbft/latest/api-reference/rpc/info/status"},{"title":"net_info","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /net_info","href":"/cometbft/latest/api-reference/rpc/info/net_info"},{"title":"blockchain","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /blockchain","href":"/cometbft/latest/api-reference/rpc/info/blockchain"},{"title":"header","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /header","href":"/cometbft/latest/api-reference/rpc/info/header"},{"title":"header_by_hash","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /header_by_hash","href":"/cometbft/latest/api-reference/rpc/info/header_by_hash"},{"title":"block","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /block","href":"/cometbft/latest/api-reference/rpc/info/block"},{"title":"block_by_hash","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /block_by_hash","href":"/cometbft/latest/api-reference/rpc/info/block_by_hash"},{"title":"block_results","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /block_results","href":"/cometbft/latest/api-reference/rpc/info/block_results"},{"title":"commit","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /commit","href":"/cometbft/latest/api-reference/rpc/info/commit"},{"title":"validators","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /validators","href":"/cometbft/latest/api-reference/rpc/info/validators"},{"title":"genesis","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /genesis","href":"/cometbft/latest/api-reference/rpc/info/genesis"},{"title":"genesis_chunked","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /genesis_chunked","href":"/cometbft/latest/api-reference/rpc/info/genesis_chunked"},{"title":"dump_consensus_state","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /dump_consensus_state","href":"/cometbft/latest/api-reference/rpc/info/dump_consensus_state"},{"title":"consensus_state","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /consensus_state","href":"/cometbft/latest/api-reference/rpc/info/consensus_state"},{"title":"consensus_params","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /consensus_params","href":"/cometbft/latest/api-reference/rpc/info/consensus_params"},{"title":"unconfirmed_txs","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /unconfirmed_txs","href":"/cometbft/latest/api-reference/rpc/info/unconfirmed_txs"},{"title":"num_unconfirmed_txs","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /num_unconfirmed_txs","href":"/cometbft/latest/api-reference/rpc/info/num_unconfirmed_txs"},{"title":"tx_search","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /tx_search","href":"/cometbft/latest/api-reference/rpc/info/tx_search"},{"title":"block_search","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /block_search","href":"/cometbft/latest/api-reference/rpc/info/block_search"},{"title":"tx","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /tx","href":"/cometbft/latest/api-reference/rpc/info/tx"},{"title":"broadcast_evidence","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /broadcast_evidence","href":"/cometbft/latest/api-reference/rpc/info/broadcast_evidence"}]},{"group":"Unsafe","pages":[{"title":"dial_seeds","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /dial_seeds","href":"/cometbft/latest/api-reference/rpc/unsafe/dial_seeds"},{"title":"dial_peers","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /dial_peers","href":"/cometbft/latest/api-reference/rpc/unsafe/dial_peers"}]},{"group":"ABCI","pages":[{"title":"abci_info","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /abci_info","href":"/cometbft/latest/api-reference/rpc/abci/abci_info"},{"title":"abci_query","deprecated":null,"version":null,"openapi":"/cometbft/latest/api-reference/rpc/openapi.yaml get /abci_query","href":"/cometbft/latest/api-reference/rpc/abci/abci_query"}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","mode":"wide","href":"/cometbft/latest/changelog/release-notes"}]}]},{"version":"next","tag":"Unreleased","pages":[{"title":"next","href":"/cometbft/next/docs/README"}]},{"version":"v0.39","pages":[{"title":"v0.39","href":"/cometbft/v0.39/docs/README"}]},{"version":"v0.38","pages":[{"title":"v0.38","href":"/cometbft/v0.38/docs/README"}]},{"version":"v0.37","pages":[{"title":"v0.37","href":"/cometbft/v0.37/docs/README"}]}]},{"dropdown":"Skip Go","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/skip-go.svg","hidden":false,"tabs":[{"tab":"Documentation","groups":[{"group":"General API Docs","pages":[{"title":"Introduction","href":"/skip-go/general/getting-started"},{"title":"Quickstart Guide","href":"/skip-go/general/quickstart-guide"},{"title":"Overview \u0026 Common Usage Patterns","href":"/skip-go/general/overview-and-typical-usage"},{"title":"Supported Ecosystems","href":"/skip-go/general/supported-ecosystems-and-bridges"},{"title":"Transaction Tracking","href":"/skip-go/general/multi-chain-realtime-transaction-and-packet-tracking"},{"title":"Skip Explorer Integration","href":"/skip-go/general/explorer-integration"},{"title":"Requesting \u0026 Using API Keys","href":"/skip-go/general/api-keys"},{"title":"Smart Relay","href":"/skip-go/general/smart-relay"},{"title":"Post-Route Actions","href":"/skip-go/general/post-route-actions"},{"title":"Setting Affiliate Fees","href":"/skip-go/general/affiliate-fees"},{"title":"Getting Fee Info","href":"/skip-go/general/fee-info"},{"title":"Transaction Support","href":"/skip-go/general/transaction-support"},{"title":"FAQ","href":"/skip-go/general/faq"}]},{"group":"Skip Go Widget","pages":[{"title":"Getting Started","href":"/skip-go/widget/getting-started"},{"title":"Configuration","href":"/skip-go/widget/configuration"},{"title":"Gas on Receive","href":"/skip-go/widget/gas-on-receive"},{"title":"Web Component","href":"/skip-go/widget/web-component"},{"title":"Migration Guide","href":"/skip-go/widget/migration-guide"},{"title":"FAQ","href":"/skip-go/widget/faq"}]},{"group":"Skip Go Client","pages":[{"title":"Getting Started","href":"/skip-go/client/getting-started"},{"title":"Balances, Gas and Transaction Fee Utilities","href":"/skip-go/client/balance-gas-and-fee-tooling"},{"title":"Executing a route","href":"/skip-go/client/executing-a-route"},{"title":"Gas on Receive with Custom Frontends","href":"/skip-go/client/gas-on-receive"},{"title":"Advanced Features","href":"/skip-go/client/advanced-features"},{"title":"Migration Guide","href":"/skip-go/client/migration-guide"}]},{"group":"Advanced Transfer","pages":[{"title":"Cross-chain Failure Cases","href":"/skip-go/advanced-transfer/handling-cross-chain-failure-cases"},{"title":"Interpreting Transaction \u0026 Transfer Status","href":"/skip-go/advanced-transfer/interpreting-transaction-status"},{"title":"IBC Token Routing: Problem + Skip Go API Routing Algorithm","href":"/skip-go/advanced-transfer/ibc-routing-algorithm"},{"title":"EVM Transactions","href":"/skip-go/advanced-transfer/evm-transactions"},{"title":"SVM Transactions","href":"/skip-go/advanced-transfer/svm-transaction-details"},{"title":"CW20 Tokens \u0026 Their Limitations","href":"/skip-go/advanced-transfer/cw20-swaps"},{"title":"Experimental Features","href":"/skip-go/advanced-transfer/experimental-features"},{"title":"Go Fast","href":"/skip-go/advanced-transfer/go-fast"}]},{"group":"Advanced Swapping","pages":[{"title":"Understanding Quote Quality Metrics","href":"/skip-go/advanced-swapping/understanding-quote-quality-metrics"},{"title":"`allow_unsafe`: Preventing \u0026 Handling Bad Execution","href":"/skip-go/advanced-swapping/allow_unsafe-preventing-handling-bad-execution"},{"title":"SAFE Swapping: How to Protect Users from Bad Trades","href":"/skip-go/advanced-swapping/safe-swapping-how-to-protect-users-from-harming-themselves"},{"title":"Smart Swap","href":"/skip-go/advanced-swapping/smart-swap-options"}]},{"group":"Support Requirements","pages":[{"title":"Chain Support Requirements","href":"/skip-go/support-requirements/chain-support-requirements"},{"title":"Token \u0026 Route Support Requirements","href":"/skip-go/support-requirements/token-support-requirements"},{"title":"Skip Go Asset Registry \u0026 Overrides","href":"/skip-go/support-requirements/asset-registry-overrides"},{"title":"Swap Venue Requirements","href":"/skip-go/support-requirements/swap-venue-requirements"},{"title":"Chain Integration Request","url":"https://42jzxo.share-na2.hsforms.com/2BKju688uROaORNxmEgY2Ug","href":"/skip-go/support-requirements/chain-integration-request"}]},{"group":"Eureka","pages":[{"title":"Overview","href":"/skip-go/eureka/eureka-overview"},{"title":"Technical Overview","href":"/skip-go/eureka/eureka-tech-overview"},{"title":"Integration Guide","href":"/skip-go/eureka/integration-guide"},{"title":"Custom ERC20 Integration","href":"/skip-go/eureka/custom-erc20-integration"},{"title":"Security Properties","href":"/skip-go/eureka/security-properties"},{"title":"Contract Addresses","href":"/skip-go/eureka/contract-addresses"}]}]},{"tab":"API Reference","groups":[{"group":"Prod Endpoints","pages":[{"group":"Info","pages":[{"title":"Get /v2/info/chains","openapi":"swagger get /v2/info/chains","href":"/skip-go/api-reference/prod/info/get-v2infochains"},{"title":"Get /v2/info/bridges","openapi":"swagger get /v2/info/bridges","href":"/skip-go/api-reference/prod/info/get-v2infobridges"},{"title":"Post /v2/info/balances","openapi":"swagger post /v2/info/balances","href":"/skip-go/api-reference/prod/info/post-v2infobalances"}]},{"group":"Fungible","pages":[{"title":"Get /v2/fungible/venues","openapi":"swagger get /v2/fungible/venues","href":"/skip-go/api-reference/prod/fungible/get-v2fungiblevenues"},{"title":"Get /v2/fungible/assets","openapi":"swagger get /v2/fungible/assets","href":"/skip-go/api-reference/prod/fungible/get-v2fungibleassets"},{"title":"Post /v2/fungible/assets_from_source","openapi":"swagger post /v2/fungible/assets_from_source","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleassets_from_source"},{"title":"Post /v2/fungible/route","openapi":"swagger post /v2/fungible/route","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleroute"},{"title":"Post /v2/fungible/msgs","openapi":"swagger post /v2/fungible/msgs","href":"/skip-go/api-reference/prod/fungible/post-v2fungiblemsgs"},{"title":"Post /v2/fungible/msgs_direct","openapi":"swagger post /v2/fungible/msgs_direct","href":"/skip-go/api-reference/prod/fungible/post-v2fungiblemsgs_direct"},{"title":"Post /v2/fungible/ibc_origin_assets","openapi":"swagger post /v2/fungible/ibc_origin_assets","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleibc_origin_assets"},{"title":"Post /v2/fungible/assets_between_chains","openapi":"swagger post /v2/fungible/assets_between_chains","href":"/skip-go/api-reference/prod/fungible/post-v2fungibleassets_between_chains"}]},{"group":"Transaction","pages":[{"title":"Post /v2/tx/submit","openapi":"swagger post /v2/tx/submit","href":"/skip-go/api-reference/prod/transaction/post-v2txsubmit"},{"title":"Post /v2/tx/track","openapi":"swagger post /v2/tx/track","href":"/skip-go/api-reference/prod/transaction/post-v2txtrack"},{"title":"Get /v2/tx/status","openapi":"swagger get /v2/tx/status","href":"/skip-go/api-reference/prod/transaction/get-v2txstatus"}]}]},{"group":"Reference Guides","pages":[{"title":"API Error Codes \u0026 Status Messages","href":"/skip-go/api-reference/error-codes"}]}]}]},{"dropdown":"Cosmos Hub","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/hub.svg","hidden":false,"versions":[{"version":"v29.0.1","default":true,"tag":"Latest","pages":[{"title":"v29.0.1","href":"/hub/latest"}]},{"version":"next","tag":"Unreleased","pages":[{"title":"next","href":"/hub/next"}]},{"version":"v28.3.1","pages":[{"title":"v28.3.1","href":"/hub/v28.3.1"}]},{"version":"v25","tabs":[{"tab":"Documentation","groups":[{"group":"Cosmos Hub","pages":[{"title":"Introduction","href":"/hub/v25"},{"group":"Getting Started","pages":[{"title":"Getting Started","href":"/hub/v25/getting-started/README"},{"title":"What is Gaia?","href":"/hub/v25/getting-started/what-is-gaia"},{"title":"Installing Gaia","href":"/hub/v25/getting-started/installation"},{"title":"Quick Start - Join Mainnet","href":"/hub/v25/getting-started/quickstart"},{"title":"System requirements","href":"/hub/v25/getting-started/system-requirements"}]},{"group":"Hub Tutorials","pages":[{"title":"Interacting with Gaiad (CLI)","href":"/hub/v25/hub-tutorials/gaiad"},{"title":"Joining Mainnet","href":"/hub/v25/hub-tutorials/join-mainnet"},{"title":"Joining Testnet","href":"/hub/v25/hub-tutorials/join-testnet"},{"title":"Upgrading the Chain","href":"/hub/v25/hub-tutorials/live-upgrade-tutorial"},{"title":"Gaia Tutorials","href":"/hub/v25/hub-tutorials/README"},{"title":"Upgrading Your Node","href":"/hub/v25/hub-tutorials/upgrade-node"}]},{"group":"Validators","pages":[{"title":"Validator Overview","href":"/hub/v25/validators/overview"},{"title":"Validators","href":"/hub/v25/validators/README"},{"title":"Validator Security","href":"/hub/v25/validators/security"},{"title":"Validator FAQ","href":"/hub/v25/validators/validator-faq"},{"title":"Running a Validator","description":null,"href":"/hub/v25/validators/validator-setup"},{"title":"Setting up Tendermint KMS + Ledger","href":"/hub/v25/validators/kms/kms_ledger"},{"title":"KMS - Key Management System","description":"Tendermint KMS is a key management service that allows separating key management from Tendermint nodes. In addition it provides other advantages such as:","href":"/hub/v25/validators/kms/kms"}]},{"group":"Delegators","pages":[{"title":"Delegator FAQ","href":"/hub/v25/delegators/delegator-faq"},{"title":"Delegator Guide (CLI)","href":"/hub/v25/delegators/delegator-guide-cli"},{"title":"Delegator Security","href":"/hub/v25/delegators/delegator-security"},{"title":"Delegators","href":"/hub/v25/delegators/README"}]},{"group":"Governance","pages":[{"title":"Off-Chain Proposal Process","href":"/hub/v25/governance/best-practices"},{"title":"Formatting a Proposal","href":"/hub/v25/governance/formatting"},{"title":"On-Chain Proposal Process","href":"/hub/v25/governance/process"},{"title":"Governance Overview","href":"/hub/v25/governance/README"},{"title":"Submitting a Proposal","href":"/hub/v25/governance/submitting"},{"title":"Community Pool Spend","href":"/hub/v25/governance/proposal-types/community-pool-spend"},{"title":"Parameter Changes","href":"/hub/v25/governance/proposal-types/param-change"},{"title":"Proposal Types","href":"/hub/v25/governance/proposal-types/README"},{"title":"Software Upgrade","href":"/hub/v25/governance/proposal-types/software-upgrade"},{"title":"Text (Signaling)","href":"/hub/v25/governance/proposal-types/text-prop"}]},{"group":"Interchain Security","pages":[{"title":"Interchain Security","href":"/hub/v25/interchain-security/README"}]},{"group":"Modules","pages":[{"title":"x/liquid","href":"/hub/v25/modules/liquid"},{"title":"Cosmos SDK LSM","href":"/hub/v25/modules/lsm-migration"},{"title":"Metaprotocol","href":"/hub/v25/modules/metaprotocols"},{"title":"Gaia Modules","href":"/hub/v25/modules/README"}]},{"group":"Architecture","pages":[{"title":"ADR Creation Process","href":"/hub/v25/architecture/PROCESS"},{"title":"Architecture Decision Records (ADR)","href":"/hub/v25/architecture/README"},{"title":"ADR 001: Interchain Accounts","href":"/hub/v25/architecture/adr/adr-001-interchain-accounts"},{"title":null,"href":"/hub/v25/architecture/templates/adr-template"},{"title":"ADR 002: Globalfee Module [DEPRECATED]","href":"/hub/v25/architecture/adr/adr-002-globalfee"},{"title":"ADR 003: Interchain Accounts Controller Module","href":"/hub/v25/architecture/adr/adr-003-ica-controller"},{"title":"ADR Creation Process","href":"/hub/v25/architecture/adr/PROCESS"},{"title":"Architecture Decision Records (ADR)","href":"/hub/v25/architecture/adr/README"}]},{"group":"Resources","pages":[{"title":"Cosmos Hub Archives","href":"/hub/v25/resources/archives"},{"title":"The Genesis File","href":"/hub/v25/resources/genesis"},{"title":"HD Wallets","href":"/hub/v25/resources/hd-wallets"},{"title":"Ledger Nano Support","href":"/hub/v25/resources/ledger"},{"title":"Resources","href":"/hub/v25/resources/README"},{"title":"Building Gaia Deterministically","href":"/hub/v25/resources/reproducible-builds"},{"title":"Service Providers","href":"/hub/v25/resources/service-providers"}]},{"group":"Telemetry","pages":[{"title":"Gaia Telemetry","href":"/hub/v25/telemetry/telemetry"}]}]}]}]}]}]},"basePath":"","title":"Setting up Tendermint KMS + Ledger - Cosmos Docs","buildId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","deploymentId":"dpl_41S5Z2jG9QnfDRwN1KZrLdBwj7DM","dynamics":["a74be98ba7"],"chunks":["zoom-image-lightbox-CMHgNu49.js","lightbox-handle-r17bVUz3.js"]}