Create and administer factory denoms on the Cosmos Hub: creation fee, which admin capabilities the Hub enables, the commands, and how to secure the admin key.
This page is for builders who want to issue a token on the Cosmos Hub and for operators who need to read osmosis.tokenfactory.v1beta1 messages in blocks. It assumes gaiad is configured for the Hub and a funded key (Delegator CLI guide). At the end you have a denom named factory/<your address>/<subdenom> that you can mint, burn, and hand over to a multisig or to governance.
The Hub uses cosmos/tokenfactory, a fork of the Strangelove implementation with the sudo mint capability removed. Maintained by the Cosmos Hub team. No tagged releases; gaia v28.3.1 pins v0.53.5. Repository active. Checked 2026-10-15. Module documentation: x/tokenfactory README.Any account can create a denom. The creator becomes its admin. The module is wired with two capabilities in app/keepers/keepers.go:
EnableSetMetadata: admins can set the bank denom metadata (symbol, exponent, description).
EnableCommunityPoolFeeFunding: the creation fee goes to the community pool rather than being burned.
The EnableBurnFrom and EnableForceTransfer capabilities are not enabled. The CLI still has burn-from and force-transfer subcommands because they are part of the module. The Hub rejects those messages. An admin can therefore mint, mint to others, burn from its own balance, change the admin, and modify metadata. It can do nothing else. Smart contracts can use the same messages through the module’s CosmWasm bindings.
The output shows denom_creation_fee: 10000000uatom and denom_creation_gas_consume: "2000000". Creating a denom also consumes 2,000,000 gas on top of the fee. The create transaction therefore needs --gas of at least about 2,200,000, or --gas auto.
The message is MsgCreateDenom with subdenom: mytoken. The resulting denom is factory/<cosmos1 address of mykey>/mytoken. Every later command and every transfer uses that denom. Confirm who created and who administers it:
The bank query returns the metadata with symbol: MYT and a denom unit with exponent: 6. The uatom entry on the Hub has the same shape (symbol: ATOM, exponent 6).
Even with burn-from and force-transfer disabled, a compromised admin key can mint without limit. It can also change the admin to lock you out. Three ways narrow that risk, from least to most restrictive:
Use a multisig as the admin. Create the denom from a multisig account (multisig accounts) or transfer it with change-admin.
Grant a limited operator through authz. An operator account can be allowed to execute only MsgMint, with an expiry:
gaiad tx authz grant cosmos1OPERATOR... generic --msg-type /osmosis.tokenfactory.v1beta1.MsgMint \ --expiration 1800000000 --from mykey --gas auto --gas-adjustment 1.5 --gas-prices 0.005uatom
Transfer admin to the governance module account. After that, every mint or metadata change needs a passed proposal:
The change-admin command is immediate and has no undo. The new admin is the only account that can change it again. The query gaiad q tokenfactory denoms-from-admin <address> lists what an address administers.
Check the destination with gaiad keys parse <address> before signing a change-admin. A change-admin to a mistyped address is permanent. Prefer moving admin to a multisig you have already tested with a small transfer.
gaiad q bank total-supply-of factory/cosmos1.../mytoken --node https://cosmos-rpc.publicnode.com:443gaiad q tokenfactory denoms-from-admin $(gaiad keys show mykey -a) --node https://cosmos-rpc.publicnode.com:443
The supply matches what you minted minus what you burned. The admin listing shows the denom until you change its admin. After that, it moves to the new admin’s listing.
{"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":"/ibc/latest/intro","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":"/ibc"},{"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":""},"chroma":{"liveDeploymentHistoryId":"6adba38ae12431dd3d60bd71","collectionId":"b4abdae4-2406-40ac-9f54-d1a649194d75","schemaVersion":"v3","latestBuiltDeploymentHistoryId":"6adba38ae12431dd3d60bd71"},"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":"6ae0eebbaba85535e9bb9bad","clientVersion":"0.0.3990","searchFilterCounts":[{"language":"default","tag":"Cosmos SDK","count":629},{"language":"default","tag":"API Reference","count":401},{"language":"default","tag":"Documentation","count":288},{"language":"default","tag":"CometBFT","count":236},{"language":"default","tag":"REST (gRPC Gateway)","count":216},{"language":"default","tag":"IBC Protocol","count":193},{"language":"default","tag":"RPC Methods","count":120},{"language":"default","tag":"Cosmos Hub","count":108},{"language":"default","tag":"Info","count":91},{"language":"default","tag":"ADRs","count":80}]},"assistantConfig":{},"basePath":"","hasChatPermissions":true,"hasWebMcpPermissions":true,"toggles":[],"isAtlas":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:#fff}.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) #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),body:has(#custom-index-content) button#search-bar-entry,body:has(#custom-index-content) button#search-bar-entry-mobile,body:has(#custom-index-content) header,body:has(#custom-index-content) nav[aria-label]{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,body:has(#custom-index-content) #custom-index-content a,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{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 .callout a,.prose .info a,.prose .note a,.prose .step a,.prose .steps a,.prose .tip a,.prose .warning a,.prose [role=listitem] a,.prose div[data-callout-type] a,.prose li a,.prose p a,.prose span a,.prose ul a{border-bottom-color:#0e0e0e!important;text-decoration-color:#0e0e0e!important}.dark .prose .callout a,.dark .prose .info a,.dark .prose .note a,.dark .prose .step a,.dark .prose .steps a,.dark .prose .tip a,.dark .prose .warning a,.dark .prose [role=listitem] a,.dark .prose div[data-callout-type] a,.dark .prose li a,.dark .prose p a,.dark .prose span a,.dark .prose ul a{border-bottom-color:#ccc!important;text-decoration-color:#ccc!important}.highlighted-card-bg{background-color:#ffb84d;position:relative;overflow:hidden;transition:box-shadow .3s ease-in-out}.highlighted-card-bg:hover{box-shadow:0 0 30px rgba(255,184,77,.5),0 0 60px rgba(255,184,77,.3),0 10px 40px rgba(255,184,77,.2)}.highlighted-card-bg::before{content:'';position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:linear-gradient(45deg,transparent 30%,rgba(255,255,255,.4) 50%,transparent 70%);transform:translateX(-100%) translateY(-100%) rotate(45deg);transition:transform .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}}code,pre,pre code{font-family:'Fira Code','Cascadia Code','JetBrains Mono',monospace!important}"}],"page":{"pagePath":"hub/latest/modules/tokenfactory","slug":"/hub/latest/modules/tokenfactory","pageMetadata":{"title":"Tokenfactory module","description":"Create and administer factory denoms on the Cosmos Hub: creation fee, which admin capabilities the Hub enables, the commands, and how to secure the admin key.","href":"/hub/latest/modules/tokenfactory"},"description":{"compiledSource":"\"use strict\";\nconst {jsx: _jsx} = arguments[0];\nconst {useMDXComponents: _provideComponents} = arguments[0];\nfunction _createMdxContent(props) {\n const _components = {\n p: \"p\",\n ..._provideComponents(),\n ...props.components\n };\n return _jsx(_components.p, {\n children: \"Create and administer factory denoms on the Cosmos Hub: creation fee, which admin capabilities the Hub enables, the commands, and how to secure the admin key.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];const HubVerified=({gaia=`v28.3.1`,sdk=`v0.53.4`,comet=`v0.38.23`,date,reviewed=false})=>{const stack=`gaia ${gaia} (Cosmos SDK ${sdk}, CometBFT ${comet})`;return _jsx(`div`,{style:{border:`1px solid rgba(128,128,128,0.35)`,borderRadius:`8px`,padding:`0.6em 0.9em`,margin:`0 0 1.2em 0`,fontSize:`0.9em`,lineHeight:1.5},children:reviewed?_jsxs(`span`,{children:[`Reviewed against `,stack,` on `,date,`.`]}):_jsxs(`span`,{children:[`Commands on this page were run on `,stack,` on `,date,` by agent testing on a local devnet.`]})})};function _createMdxContent(props){const _components={a:`a`,code:`code`,li:`li`,ol:`ol`,p:`p`,pre:`pre`,span:`span`,ul:`ul`,..._provideComponents(),...props.components},{CodeBlock,Heading,Warning,_MdxComponentBoundary}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);if(!Warning)_missingMdxReference(`Warning`,true);if(!_MdxComponentBoundary)_missingMdxReference(`_MdxComponentBoundary`,true);return _jsxs(_Fragment,{children:[_jsx(_MdxComponentBoundary,{name:`HubVerified`,children:_jsx(HubVerified,{date:`2026-10-15`})}),`\n`,_jsxs(_components.p,{children:[`This page is for builders who want to issue a token on the Cosmos Hub and for operators who need to read `,_jsx(_components.code,{children:`osmosis.tokenfactory.v1beta1`}),` messages in blocks. It assumes `,_jsx(_components.code,{children:`gaiad`}),` is configured for the Hub and a funded key (`,_jsx(_components.a,{href:`/hub/latest/delegators/delegator-guide-cli#point-gaiad-at-the-hub`,children:`Delegator CLI guide`}),`). At the end you have a denom named `,_jsx(_components.code,{children:`factory/\u003cyour address>/\u003csubdenom>`}),` that you can mint, burn, and hand over to a multisig or to governance.`]}),`\n`,_jsx(Heading,{level:`2`,id:`what-the-hub-runs`,children:`What the Hub runs`}),`\n`,_jsxs(_components.p,{children:[`The Hub uses `,_jsx(_components.a,{href:`https://github.com/cosmos/tokenfactory`,children:`cosmos/tokenfactory`}),`, a fork of the Strangelove implementation with the sudo mint capability removed. Maintained by the Cosmos Hub team. No tagged releases; gaia v28.3.1 pins v0.53.5. Repository active. Checked 2026-10-15. Module documentation: `,_jsx(_components.a,{href:`https://github.com/cosmos/tokenfactory/blob/main/x/tokenfactory/README.md`,children:`x/tokenfactory README`}),`.`]}),`\n`,_jsxs(_components.p,{children:[`Any account can create a denom. The creator becomes its admin. The module is wired with two capabilities in `,_jsx(_components.code,{children:`app/keepers/keepers.go`}),`:`]}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`EnableSetMetadata`}),`: admins can set the bank denom metadata (symbol, exponent, description).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.code,{children:`EnableCommunityPoolFeeFunding`}),`: the creation fee goes to the community pool rather than being burned.`]}),`\n`]}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`EnableBurnFrom`}),` and `,_jsx(_components.code,{children:`EnableForceTransfer`}),` capabilities are not enabled. The CLI still has `,_jsx(_components.code,{children:`burn-from`}),` and `,_jsx(_components.code,{children:`force-transfer`}),` subcommands because they are part of the module. The Hub rejects those messages. An admin can therefore mint, mint to others, burn from its own balance, change the admin, and modify metadata. It can do nothing else. Smart contracts can use the same messages through the module’s CosmWasm bindings.`]}),`\n`,_jsx(Heading,{level:`2`,id:`parameters`,children:`Parameters`}),`\n`,_jsx(_components.p,{children:`Creation fee: 10 ATOM, paid to the community pool.`}),`\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:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` q`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` params`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --node`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` https://cosmos-rpc.publicnode.com:443`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The output shows `,_jsx(_components.code,{children:`denom_creation_fee: 10000000uatom`}),` and `,_jsx(_components.code,{children:`denom_creation_gas_consume: \"2000000\"`}),`. Creating a denom also consumes 2,000,000 gas on top of the fee. The create transaction therefore needs `,_jsx(_components.code,{children:`--gas`}),` of at least about 2,200,000, or `,_jsx(_components.code,{children:`--gas auto`}),`.`]}),`\n`,_jsx(Heading,{level:`2`,id:`create-a-denom`,children:`Create a denom`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tx`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` create-denom`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mytoken`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --from`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#A0111F`,\"--shiki-dark\":`#FF9492`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` auto`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-adjustment`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1.5`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-prices`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 0.005uatom`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The message is `,_jsx(_components.code,{children:`MsgCreateDenom`}),` with `,_jsx(_components.code,{children:`subdenom: mytoken`}),`. The resulting denom is `,_jsx(_components.code,{children:`factory/\u003ccosmos1 address of mykey>/mytoken`}),`. Every later command and every transfer uses that denom. Confirm who created and who administers it:`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` q`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` denoms-from-creator`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` $(`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` keys`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` show`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` -a`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`)`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` q`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` denom-authority-metadata`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` factory/cosmos1.../mytoken`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The first lists the denom. The second returns `,_jsx(_components.code,{children:`authority_metadata.admin`}),` with the creator’s address.`]}),`\n`,_jsx(Heading,{level:`2`,id:`mint-burn-and-metadata`,children:`Mint, burn, and metadata`}),`\n`,_jsx(_components.p,{children:`Mint to yourself or to another account, in base units:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tx`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mint`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 1000000factory/cosmos1.../mytoken`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --from`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` auto`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-adjustment`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1.5`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-prices`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 0.005uatom`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tx`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mint-to`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` cosmos1RECIPIENT...`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 1000000factory/cosmos1.../mytoken`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --from`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` auto`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-adjustment`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1.5`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-prices`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 0.005uatom`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Burn from the admin’s own balance only:`}),`\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:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tx`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` burn`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 500000factory/cosmos1.../mytoken`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --from`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` auto`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-adjustment`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1.5`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-prices`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 0.005uatom`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`Set the display metadata so wallets and explorers show a symbol and decimals. The arguments are denom, ticker symbol, description, and exponent:`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`3`,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:`3`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tx`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` modify-metadata`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` factory/cosmos1.../mytoken`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` MYT`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` \"Example token\"`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 6`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --from`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#A0111F`,\"--shiki-dark\":`#FF9492`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` auto`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-adjustment`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1.5`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-prices`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 0.005uatom`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` q`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` bank`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` denom-metadata`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` factory/cosmos1.../mytoken`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The bank query returns the metadata with `,_jsx(_components.code,{children:`symbol: MYT`}),` and a denom unit with `,_jsx(_components.code,{children:`exponent: 6`}),`. The uatom entry on the Hub has the same shape (`,_jsx(_components.code,{children:`symbol: ATOM`}),`, exponent 6).`]}),`\n`,_jsx(Heading,{level:`2`,id:`secure-the-admin-key`,children:`Secure the admin key`}),`\n`,_jsx(_components.p,{children:`Even with burn-from and force-transfer disabled, a compromised admin key can mint without limit. It can also change the admin to lock you out. Three ways narrow that risk, from least to most restrictive:`}),`\n`,_jsxs(_components.ol,{children:[`\n`,_jsxs(_components.li,{children:[`Use a multisig as the admin. Create the denom from a multisig account (`,_jsx(_components.a,{href:`/hub/latest/delegators/delegator-guide-cli#multisig-accounts`,children:`multisig accounts`}),`) or transfer it with `,_jsx(_components.code,{children:`change-admin`}),`.`]}),`\n`,_jsxs(_components.li,{children:[`Grant a limited operator through `,_jsx(_components.code,{children:`authz`}),`. An operator account can be allowed to execute only `,_jsx(_components.code,{children:`MsgMint`}),`, with an expiry:`]}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tx`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` authz`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` grant`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` cosmos1OPERATOR...`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` generic`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --msg-type`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` /osmosis.tokenfactory.v1beta1.MsgMint`}),_jsx(_components.span,{style:{color:`#A0111F`,\"--shiki-dark\":`#FF9492`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --expiration`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1800000000`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --from`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` auto`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-adjustment`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1.5`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-prices`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 0.005uatom`})]}),`\n`]})})}),`\n`,_jsxs(_components.ol,{start:`3`,children:[`\n`,_jsx(_components.li,{children:`Transfer admin to the governance module account. After that, every mint or metadata change needs a passed proposal:`}),`\n`]}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tx`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` change-admin`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` factory/cosmos1.../mytoken`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` cosmos10d07y265gmmuvt4z0w9aw880jnsr700j6zn9kn`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --from`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#A0111F`,\"--shiki-dark\":`#FF9492`},children:` \\\\`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` auto`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-adjustment`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` 1.5`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --gas-prices`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` 0.005uatom`})]}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[`The `,_jsx(_components.code,{children:`change-admin`}),` command is immediate and has no undo. The new admin is the only account that can change it again. The query `,_jsx(_components.code,{children:`gaiad q tokenfactory denoms-from-admin \u003caddress>`}),` lists what an address administers.`]}),`\n`,_jsx(Warning,{children:_jsxs(_components.p,{children:[`Check the destination with `,_jsx(_components.code,{children:`gaiad keys parse \u003caddress>`}),` before signing a `,_jsx(_components.code,{children:`change-admin`}),`. A `,_jsx(_components.code,{children:`change-admin`}),` to a mistyped address is permanent. Prefer moving admin to a multisig you have already tested with a small transfer.`]})}),`\n`,_jsx(Heading,{level:`2`,id:`verify`,children:`Verify`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`2`,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:`2`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` q`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` bank`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` total-supply-of`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` factory/cosmos1.../mytoken`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` --node`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` https://cosmos-rpc.publicnode.com:443`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` q`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` tokenfactory`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` denoms-from-admin`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:` $(`}),_jsx(_components.span,{style:{color:`#702C00`,\"--shiki-dark\":`#FFB757`},children:`gaiad`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` keys`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` show`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` mykey`}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:` -a`}),_jsx(_components.span,{style:{color:`#0E1116`,\"--shiki-dark\":`#F0F3F6`},children:`) `}),_jsx(_components.span,{style:{color:`#023B95`,\"--shiki-dark\":`#91CBFF`},children:`--node`}),_jsx(_components.span,{style:{color:`#032563`,\"--shiki-dark\":`#ADDCFF`},children:` https://cosmos-rpc.publicnode.com:443`})]}),`\n`]})})}),`\n`,_jsx(_components.p,{children:`The supply matches what you minted minus what you burned. The admin listing shows the denom until you change its admin. After that, it moves to the new admin’s listing.`}),`\n`,_jsx(Heading,{level:`2`,id:`next`,children:`Next`}),`\n`,_jsxs(_components.ul,{children:[`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/hub/latest/modules/README`,children:`Modules on the Hub`}),` for the other modules and their parameters.`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/hub/latest/governance/proposal-types/param-change`,children:`Parameter change proposals`}),` to change the creation fee (`,_jsx(_components.code,{children:`osmosis.tokenfactory.v1beta1.MsgUpdateParams`}),`).`]}),`\n`,_jsxs(_components.li,{children:[_jsx(_components.a,{href:`/hub/latest/governance/proposal-types/community-pool-spend`,children:`Community pool spend`}),` for where the creation fees end up.`]}),`\n`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{HubVerified,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":{"title":"Tokenfactory module","description":"Create and administer factory denoms on the Cosmos Hub: creation fee, which admin capabilities the Hub enables, the commands, and how to secure the admin key.","href":"/hub/latest/modules/tokenfactory"}}},"mdxSourceWithNoJs":null,"noJsSplices":[[147,670,")=>null;function _cr"]]},"mdxExtracts":{"tableOfContents":[{"title":"What the Hub runs","slug":"what-the-hub-runs","depth":2,"children":[]},{"title":"Parameters","slug":"parameters","depth":2,"children":[]},{"title":"Create a denom","slug":"create-a-denom","depth":2,"children":[]},{"title":"Mint, burn, and metadata","slug":"mint-burn-and-metadata","depth":2,"children":[]},{"title":"Secure the admin key","slug":"secure-the-admin-key","depth":2,"children":[]},{"title":"Verify","slug":"verify","depth":2,"children":[]},{"title":"Next","slug":"next","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"cosmos-docs","siteName":"Cosmos Docs","title":"Tokenfactory module - Cosmos Docs","navMaps":{"firstHrefInVersion":{"Latest":{"href":"/hub/latest/modules/tokenfactory","matchLevel":0},"next":{"href":"/hub/next/modules/tokenfactory","matchLevel":1,"noindex":true},"v25":{"href":"/hub/v25","matchLevel":2},"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},"v11.x.x":{"href":"/ibc/latest/intro","matchLevel":4},"v10.1.x":{"href":"/ibc/v10.1.x/intro","matchLevel":4},"v8.5.x":{"href":"/ibc/v8.5.x/intro","matchLevel":4},"v7.8.x":{"href":"/ibc/v7.8.x/intro","matchLevel":4},"v6.3.x":{"href":"/ibc/v6.3.x/intro","matchLevel":4},"v5.4.x":{"href":"/ibc/v5.4.x/intro","matchLevel":4},"v4.6.x":{"href":"/ibc/v4.6.x/intro","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-10-27T18:37:40.766Z","originalFileLocation":"hub/latest/modules/tokenfactory.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=\"Create and administer factory denoms on the Cosmos Hub: creation fee, which admin capabilities the Hub enables, the commands, and how to secure the admin key.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Cosmos Docs\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/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=\"Tokenfactory module - 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/modules/tokenfactory\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://cosmos-docs.mintlify.app/_mintlify/api/og/v2?division=Modules\u0026amp;title=Tokenfactory+module\u0026amp;description=Create+and+administer+factory+denoms+on+the+Cosmos+Hub%3A+creation+fee%2C+which+admin+capabilities+the+Hub+enables%2C+the+commands%2C+and+how+to+secure+the+admin+key.\u0026amp;theme=fcf436d6188c17e0fd925a75\u0026amp;signature=d8c234a2a0a15cafe30e478aac0507164c4769a6a2b2ba78b85b56c4e68fe7bc\">\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=\"Tokenfactory module - 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.app/_mintlify/api/og/v2?division=Modules\u0026amp;title=Tokenfactory+module\u0026amp;description=Create+and+administer+factory+denoms+on+the+Cosmos+Hub%3A+creation+fee%2C+which+admin+capabilities+the+Hub+enables%2C+the+commands%2C+and+how+to+secure+the+admin+key.\u0026amp;theme=fcf436d6188c17e0fd925a75\u0026amp;signature=d8c234a2a0a15cafe30e478aac0507164c4769a6a2b2ba78b85b56c4e68fe7bc\">\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/modules/tokenfactory\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/hub/latest/modules/tokenfactory.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.cosmos.network/#organization\",\"name\":\"Cosmos Docs\",\"url\":\"https://docs.cosmos.network\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/cosmos-docs/QQRcm34voxlHZJJD/assets/brand/cosmos-wordmark-dark.svg?fit=max\u0026auto=format\u0026n=QQRcm34voxlHZJJD\u0026q=85\u0026s=cd248dfba0e2e05e30786f2bb3f64fe9\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.cosmos.network#website\",\"name\":\"Cosmos Docs\",\"url\":\"https://docs.cosmos.network\",\"publisher\":{\"@id\":\"https://docs.cosmos.network/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory#webpage\",\"url\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory\",\"name\":\"Tokenfactory module\",\"description\":\"Create and administer factory denoms on the Cosmos Hub: creation fee, which admin capabilities the Hub enables, the commands, and how to secure the admin key.\",\"dateModified\":\"2026-10-27T18:37:40.766Z\",\"isPartOf\":{\"@id\":\"https://docs.cosmos.network#website\"},\"breadcrumb\":{\"@id\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Cosmos Hub\",\"item\":\"https://docs.cosmos.network/hub/latest/index\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Reference\",\"item\":\"https://docs.cosmos.network/hub/latest/hub-tutorials/gaiad\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Modules\",\"item\":\"https://docs.cosmos.network/hub/latest/modules/README\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Tokenfactory module\",\"item\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory#article\",\"headline\":\"Tokenfactory module\",\"name\":\"Tokenfactory module\",\"description\":\"Create and administer factory denoms on the Cosmos Hub: creation fee, which admin capabilities the Hub enables, the commands, and how to secure the admin key.\",\"url\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory\",\"mainEntityOfPage\":{\"@id\":\"https://docs.cosmos.network/hub/latest/modules/tokenfactory#webpage\"},\"dateModified\":\"2026-10-27T18:37:40.766Z\",\"publisher\":{\"@id\":\"https://docs.cosmos.network/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.cosmos.network#website\"}}]}\u003c/script>","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":"IBC Protocol","icon":"https://mintlify.s3.us-west-1.amazonaws.com/cosmos-docs/assets/icons/ibc-protocol.svg","versions":[{"version":"v11.x.x","default":true,"tag":"Latest","tabs":[{"tab":"Documentation","groups":[{"group":"IBC Protocol","pages":[{"title":"IBC-Go Documentation","href":"/ibc/latest/intro"}]},{"group":"IBC Core","pages":[{"title":"Overview","href":"/ibc/latest/ibc/overview"},{"group":"Core Concepts","pages":[{"title":"Best Practices","href":"/ibc/latest/ibc/best-practices"},{"title":"Integration","href":"/ibc/latest/ibc/integration"},{"title":"Permissioning","href":"/ibc/latest/ibc/permissioning"},{"title":"Relayer","href":"/ibc/latest/ibc/relayer"}]},{"group":"Apps","pages":[{"title":"IBC v2 Applications","href":"/ibc/latest/ibc/apps/ibcv2apps"},{"title":"IBC Applications","href":"/ibc/latest/ibc/apps/apps"},{"title":"Implement IBCModule interface and callbacks","href":"/ibc/latest/ibc/apps/ibcmodule"},{"title":"Bind ports","href":"/ibc/latest/ibc/apps/bindports"},{"title":"Keeper","href":"/ibc/latest/ibc/apps/keeper"},{"title":"Define packets and acks","href":"/ibc/latest/ibc/apps/packets_acks"},{"title":"Routing","href":"/ibc/latest/ibc/apps/routing"},{"title":"Custom Address Codec","href":"/ibc/latest/ibc/apps/address-codec"}]},{"group":"Middleware","pages":[{"title":"IBC middleware","href":"/ibc/latest/ibc/middleware/overview"},{"title":"Create a custom IBC middleware","href":"/ibc/latest/ibc/middleware/develop"},{"title":"Create and integrate IBC v2 middleware","href":"/ibc/latest/ibc/middleware/developIBCv2"},{"title":"Integrating IBC middleware into a chain","href":"/ibc/latest/ibc/middleware/integration"}]},{"group":"Upgrades","pages":[{"title":"Upgrading IBC Chains Overview","href":"/ibc/latest/ibc/upgrades/intro"},{"title":"How to Upgrade IBC Chains and their Clients","href":"/ibc/latest/ibc/upgrades/quick-guide"},{"title":"IBC Client Developer Guide to Upgrades","href":"/ibc/latest/ibc/upgrades/developer-guide"},{"title":"Genesis Restart Upgrades","href":"/ibc/latest/ibc/upgrades/genesis-restart"}]}]},{"group":"IBC Migrations","pages":[{"group":"Version Upgrades","pages":[{"title":"IBC-Go v11.0 to v11.1","href":"/ibc/latest/migrations/v11-to-v11-1"},{"title":"IBC-Go v10 to v11.1","href":"/ibc/latest/migrations/v10-to-v11-1"},{"title":"IBC-Go v10 to v11","href":"/ibc/latest/migrations/v10-to-v11"},{"title":"IBC-Go v8.1 to v10","href":"/ibc/latest/migrations/v8_1-to-v10"},{"title":"IBC-Go v8 to v8.1","href":"/ibc/latest/migrations/v8-to-v8_1"},{"title":"IBC-Go v7 to v8","href":"/ibc/latest/migrations/v7-to-v8"},{"title":"IBC-Go v7.2 to v7.3","href":"/ibc/latest/migrations/v7_2-to-v7_3"},{"title":"IBC-Go v7 to v7.1","href":"/ibc/latest/migrations/v7-to-v7_1"},{"title":"IBC-Go v6 to v7","href":"/ibc/latest/migrations/v6-to-v7"},{"title":"IBC-Go v5 to v6","href":"/ibc/latest/migrations/v5-to-v6"},{"title":"IBC-Go v4 to v5","href":"/ibc/latest/migrations/v4-to-v5"},{"title":"IBC-Go v3 to v4","href":"/ibc/latest/migrations/v3-to-v4"},{"title":"IBC-Go v2 to v3","href":"/ibc/latest/migrations/v2-to-v3"},{"title":"IBC-Go v1 to v2","href":"/ibc/latest/migrations/v1-to-v2"}]},{"group":"Additional Migration Guides","pages":[{"title":"SDK v0.43 to IBC-Go v1","href":"/ibc/latest/migrations/sdk-to-v1"},{"title":"Support transfer of coins whose base denom contains slashes","href":"/ibc/latest/migrations/support-denoms-with-slashes"},{"title":"Support the new StackBuilder primitive for Wiring Middlewares in the chain application","href":"/ibc/latest/migrations/support-stackbuilder"}]}]},{"group":"IBC Light Clients","pages":[{"title":"Governance Proposals","href":"/ibc/latest/light-clients/proposals"},{"group":"Developer Guide","pages":[{"title":"Overview","href":"/ibc/latest/light-clients/developer-guide/overview"},{"title":"Light Client Module interface","href":"/ibc/latest/light-clients/developer-guide/light-client-module"},{"title":"Client State interface","href":"/ibc/latest/light-clients/developer-guide/client-state"},{"title":"Consensus State interface","href":"/ibc/latest/light-clients/developer-guide/consensus-state"},{"title":"Handling Updates and Misbehaviour","href":"/ibc/latest/light-clients/developer-guide/updates-and-misbehaviour"},{"title":"Handling Upgrades","href":"/ibc/latest/light-clients/developer-guide/upgrades"},{"title":"Existence/Non-Existence Proofs","href":"/ibc/latest/light-clients/developer-guide/proofs"},{"title":"Handling Proposals","href":"/ibc/latest/light-clients/developer-guide/proposals"},{"title":"Setup","href":"/ibc/latest/light-clients/developer-guide/setup"}]},{"group":"Localhost","pages":[{"title":"Overview","href":"/ibc/latest/light-clients/localhost/overview"},{"title":"Integration","href":"/ibc/latest/light-clients/localhost/integration"},{"title":"ClientState","href":"/ibc/latest/light-clients/localhost/client-state"},{"title":"Connection","href":"/ibc/latest/light-clients/localhost/connection"},{"title":"State Verification","href":"/ibc/latest/light-clients/localhost/state-verification"}]},{"group":"Solo Machine","pages":[{"title":"Solomachine","href":"/ibc/latest/light-clients/solomachine/solomachine"},{"title":"Concepts","href":"/ibc/latest/light-clients/solomachine/concepts"},{"title":"State","href":"/ibc/latest/light-clients/solomachine/state"},{"title":"State Transitions","href":"/ibc/latest/light-clients/solomachine/state_transitions"}]},{"group":"Tendermint","pages":[{"title":"Overview","href":"/ibc/latest/light-clients/tendermint/overview"}]},{"group":"WASM","pages":[{"title":"Overview","href":"/ibc/latest/light-clients/wasm/overview"},{"title":"Concepts","href":"/ibc/latest/light-clients/wasm/concepts"},{"title":"Integration","href":"/ibc/latest/light-clients/wasm/integration"},{"title":"Messages","href":"/ibc/latest/light-clients/wasm/messages"},{"title":"Governance","href":"/ibc/latest/light-clients/wasm/governance"},{"title":"Events","href":"/ibc/latest/light-clients/wasm/events"},{"title":"Contracts","href":"/ibc/latest/light-clients/wasm/contracts"},{"title":"Client","href":"/ibc/latest/light-clients/wasm/client"},{"title":"Migrations","href":"/ibc/latest/light-clients/wasm/migrations"}]}]},{"group":"IBC Apps","pages":[{"group":"Interchain Accounts","pages":[{"title":"Overview","href":"/ibc/latest/apps/interchain-accounts/overview"},{"title":"Development Use Cases","href":"/ibc/latest/apps/interchain-accounts/development"},{"title":"Authentication Modules","href":"/ibc/latest/apps/interchain-accounts/auth-modules"},{"title":"Integration","href":"/ibc/latest/apps/interchain-accounts/integration"},{"title":"Messages","href":"/ibc/latest/apps/interchain-accounts/messages"},{"title":"Parameters","href":"/ibc/latest/apps/interchain-accounts/parameters"},{"title":"Transaction Encoding","href":"/ibc/latest/apps/interchain-accounts/tx-encoding"},{"title":"Client","href":"/ibc/latest/apps/interchain-accounts/client"},{"title":"Active Channels","href":"/ibc/latest/apps/interchain-accounts/active-channels"},{"group":"Legacy","pages":[{"title":"Authentication Modules","href":"/ibc/latest/apps/interchain-accounts/legacy/auth-modules"},{"title":"Integration","href":"/ibc/latest/apps/interchain-accounts/legacy/integration"},{"title":"Keeper API","href":"/ibc/latest/apps/interchain-accounts/legacy/keeper-api"}]}]},{"group":"Transfer","pages":[{"title":"Overview","href":"/ibc/latest/apps/transfer/overview"},{"title":"State","href":"/ibc/latest/apps/transfer/state"},{"title":"State Transitions","href":"/ibc/latest/apps/transfer/state-transitions"},{"title":"Messages","href":"/ibc/latest/apps/transfer/messages"},{"title":"Events","href":"/ibc/latest/apps/transfer/events"},{"title":"Metrics","href":"/ibc/latest/apps/transfer/metrics"},{"title":"Params","href":"/ibc/latest/apps/transfer/params"},{"title":"Authorizations","href":"/ibc/latest/apps/transfer/authorizations"},{"title":"Client","href":"/ibc/latest/apps/transfer/client"},{"title":"IBC v2 Transfer","href":"/ibc/latest/apps/transfer/IBCv2-transfer"}]}]},{"group":"IBC Middleware","pages":[{"group":"Callbacks","pages":[{"title":"Overview","href":"/ibc/latest/middleware/callbacks/overview"},{"title":"Integration","href":"/ibc/latest/middleware/callbacks/integration"},{"title":"Interfaces","href":"/ibc/latest/middleware/callbacks/interfaces"},{"title":"Events","href":"/ibc/latest/middleware/callbacks/events"},{"title":"End Users","href":"/ibc/latest/middleware/callbacks/end-users"},{"title":"Gas Management","href":"/ibc/latest/middleware/callbacks/gas"},{"title":"Callbacks with IBC v2","href":"/ibc/latest/middleware/callbacks/callbacks-IBCv2"}]},{"group":"Packet Forward Middleware","pages":[{"title":"Overview","href":"/ibc/latest/middleware/packet-forward-middleware/overview"},{"title":"Integration","href":"/ibc/latest/middleware/packet-forward-middleware/integration"},{"title":"Example Flows","href":"/ibc/latest/middleware/packet-forward-middleware/example-usage"}]},{"group":"Rate Limit Middleware","pages":[{"title":"Overview","href":"/ibc/latest/middleware/rate-limit-middleware/overview"},{"title":"Integration","href":"/ibc/latest/middleware/rate-limit-middleware/integration"},{"title":"Setting Rate Limits","href":"/ibc/latest/middleware/rate-limit-middleware/setting-limits"},{"title":"Migration","href":"/ibc/latest/middleware/rate-limit-middleware/migration"}]}]},{"group":"Security","pages":[{"title":"Security Audits","href":"/ibc/latest/security-audits"}]}]},{"tab":"ADRs","groups":[{"group":"Architecture Decision Records","pages":[{"title":null,"href":"/ibc/latest/architecture/README"},{"title":"ADR 001: Coin Source Tracing","href":"/ibc/latest/architecture/adr-001-coin-source-tracing"},{"title":"ADR 002: Go Module Versioning","href":"/ibc/latest/architecture/adr-002-go-module-versioning"},{"title":"ADR 003: ICS-27 Acknowledgement Format","href":"/ibc/latest/architecture/adr-003-ics27-acknowledgement"},{"title":"ADR 004: Lock Fee Module Upon Escrow Out Of Balance","href":"/ibc/latest/architecture/adr-004-ics29-lock-fee-module"},{"title":"ADR 005: UpdateClient Events ClientState Consensus Heights","href":"/ibc/latest/architecture/adr-005-consensus-height-events"},{"title":"ADR 006: 02-Client Refactor","href":"/ibc/latest/architecture/adr-006-02-client-refactor"},{"title":"ADR 007: Solo Machine Sign Bytes","href":"/ibc/latest/architecture/adr-007-solomachine-signbytes"},{"title":"ADR 008: Callback to IBC Actors","href":"/ibc/latest/architecture/adr-008-app-caller-cbs"},{"title":"ADR 009: ICS27 Message Server Addition","href":"/ibc/latest/architecture/adr-009-v6-ics27-msgserver"},{"title":"ADR 010: IBC Light Clients As SDK Modules","href":"/ibc/latest/architecture/adr-010-light-clients-as-sdk-modules"},{"title":"ADR 011: ICS-20 Transfer State Entry For Total Amount Of Tokens In Escrow","href":"/ibc/latest/architecture/adr-011-transfer-total-escrow-state-entry"},{"title":"ADR 015: IBC Packet Receiver","href":"/ibc/latest/architecture/adr-015-ibc-packet-receiver"},{"title":"ADR 025: IBC Passive Channels","href":"/ibc/latest/architecture/adr-025-ibc-passive-channels"},{"title":"ADR 026: IBC Client Recovery Mechanisms","href":"/ibc/latest/architecture/adr-026-ibc-client-recovery-mechanisms"},{"title":"ADR 27: Add Support For Wasm Based Light Client","href":"/ibc/latest/architecture/adr-027-ibc-wasm"}]}]},{"tab":"Specs","groups":[{"group":"IBC Specs (v1)","pages":[{"group":"App","pages":[{"group":"ics-020-fungible-token-transfer","pages":[{"title":"Fungible Token Transfer","version":1,"href":"/ibc/latest/spec/app/ics-020-fungible-token-transfer/README"},{"group":"deprecated","pages":[{"title":"Fungible Token Transfer","version":2,"href":"/ibc/latest/spec/app/ics-020-fungible-token-transfer/deprecated/README"}]}]},{"group":"ics-027-interchain-accounts","pages":[{"title":"Interchain Accounts","href":"/ibc/latest/spec/app/ics-027-interchain-accounts/README"}]},{"group":"ics-028-cross-chain-validation","pages":[{"title":"Cross-Chain Validation","href":"/ibc/latest/spec/app/ics-028-cross-chain-validation/README"},{"title":"CCV: Technical Specification - Data Structures","href":"/ibc/latest/spec/app/ics-028-cross-chain-validation/data_structures"},{"title":"CCV: Technical Specification - Methods","href":"/ibc/latest/spec/app/ics-028-cross-chain-validation/methods"},{"title":"CCV: Overview and Basic Concepts","href":"/ibc/latest/spec/app/ics-028-cross-chain-validation/overview_and_basic_concepts"},{"title":"CCV: System Model and Properties","href":"/ibc/latest/spec/app/ics-028-cross-chain-validation/system_model_and_properties"},{"title":"CCV: Technical Specification","href":"/ibc/latest/spec/app/ics-028-cross-chain-validation/technical_specification"}]},{"group":"ics-029-fee-payment","pages":[{"title":"General Fee Payment","href":"/ibc/latest/spec/app/ics-029-fee-payment/README"}]},{"group":"ics-030-middleware","pages":[{"title":"IBC Middleware","href":"/ibc/latest/spec/app/ics-030-middleware/README"}]},{"group":"ics-031-crosschain-queries","pages":[{"title":"Cross-chain Queries","href":"/ibc/latest/spec/app/ics-031-crosschain-queries/README"}]},{"group":"ics-100-atomic-swap","pages":[{"title":"Atomic Swap","href":"/ibc/latest/spec/app/ics-100-atomic-swap/README"}]},{"group":"ics-721-nft-transfer","pages":[{"title":"Non-Fungible Token Transfer","href":"/ibc/latest/spec/app/ics-721-nft-transfer/README"}]}]},{"group":"Client","pages":[{"title":"Rollup Integration Guide","href":"/ibc/latest/spec/client/Rollup-Integration-guide"},{"group":"ics-006-solo-machine-client","pages":[{"title":"Solo Machine Client","href":"/ibc/latest/spec/client/ics-006-solo-machine-client/README"}]},{"group":"ics-007-tendermint-client","pages":[{"title":"Tendermint Client","href":"/ibc/latest/spec/client/ics-007-tendermint-client/README"}]},{"group":"ics-008-wasm-client","pages":[{"title":"Wasm Client","href":"/ibc/latest/spec/client/ics-008-wasm-client/README"}]},{"group":"ics-009-loopback-cilent","pages":[{"title":"Loopback Client","href":"/ibc/latest/spec/client/ics-009-loopback-cilent/README"}]},{"group":"ics-010-grandpa-client","pages":[{"title":"GRANDPA Client","href":"/ibc/latest/spec/client/ics-010-grandpa-client/README"}]}]},{"group":"Core","pages":[{"group":"ics-002-client-semantics","pages":[{"title":"Client Semantics","href":"/ibc/latest/spec/core/ics-002-client-semantics/README"}]},{"group":"ics-003-connection-semantics","pages":[{"title":"Connection Semantics","href":"/ibc/latest/spec/core/ics-003-connection-semantics/README"},{"title":"Client Validation Removal","href":"/ibc/latest/spec/core/ics-003-connection-semantics/client-validation-removal"}]},{"group":"ics-004-channel-and-packet-semantics","pages":[{"title":"Channel \u0026 Packet Semantics","href":"/ibc/latest/spec/core/ics-004-channel-and-packet-semantics/README"},{"title":"Upgrading Channels","href":"/ibc/latest/spec/core/ics-004-channel-and-packet-semantics/UPGRADES"}]},{"group":"ics-005-port-allocation","pages":[{"title":"Port Allocation","href":"/ibc/latest/spec/core/ics-005-port-allocation/README"}]},{"group":"ics-023-vector-commitments","pages":[{"title":"Vector Commitments","href":"/ibc/latest/spec/core/ics-023-vector-commitments/README"}]},{"group":"ics-024-host-requirements","pages":[{"title":"Host State Machine Requirements","href":"/ibc/latest/spec/core/ics-024-host-requirements/README"}]},{"group":"ics-025-handler-interface","pages":[{"title":"Handler Interface","href":"/ibc/latest/spec/core/ics-025-handler-interface/README"}]},{"group":"ics-026-routing-module","pages":[{"title":"Routing Module","href":"/ibc/latest/spec/core/ics-026-routing-module/README"},{"title":"Application Upgrade Callbacks","href":"/ibc/latest/spec/core/ics-026-routing-module/UPGRADES"}]},{"group":"ics-033-multi-hop","pages":[{"title":"Multi-hop Channel","href":"/ibc/latest/spec/core/ics-033-multi-hop/README"}]}]},{"group":"Ics-001-ics-standard","pages":[{"title":"ICS Specification Standard","href":"/ibc/latest/spec/ics-001-ics-standard/README"}]},{"group":"Relayer","pages":[{"group":"ics-018-relayer-algorithms","pages":[{"title":"Relayer Algorithms","href":"/ibc/latest/spec/relayer/ics-018-relayer-algorithms/README"}]}]}]},{"group":"IBC Specs (v2)","pages":[{"title":"IBC v2","href":"/ibc/latest/spec/IBC_V2/README"},{"group":"Core","pages":[{"group":"ics-002-client-semantics","pages":[{"title":"Client Semantics","href":"/ibc/latest/spec/IBC_V2/core/ics-002-client-semantics/README"}]},{"group":"ics-004-packet-semantics","pages":[{"title":"IBC Packet Handler","href":"/ibc/latest/spec/IBC_V2/core/ics-004-packet-semantics/PACKET_HANDLER"},{"title":"Packet Structure and Provable Commitment Specification","href":"/ibc/latest/spec/IBC_V2/core/ics-004-packet-semantics/PACKET"}]},{"group":"ics-005-port-allocation","pages":[{"title":"Port Allocation","href":"/ibc/latest/spec/IBC_V2/core/ics-005-port-allocation/README"}]},{"group":"ics-024-host-requirements","pages":[{"title":"Host State Machine Requirements","href":"/ibc/latest/spec/IBC_V2/core/ics-024-host-requirements/README"}]},{"group":"ics-026-application-callbacks","pages":[{"title":"IBC Application Callbacks","href":"/ibc/latest/spec/IBC_V2/core/ics-026-application-callbacks/README"}]}]}]}]},{"tab":"Changelog","pages":[{"title":"Changelog","mode":"wide","href":"/ibc/latest/changelog/release-notes"}]}]},{"version":"next","tag":"Unreleased","pages":[{"title":"next","href":"/ibc/next/intro"}]},{"version":"v10.1.x","pages":[{"title":"v10.1.x","href":"/ibc/v10.1.x/intro"}]},{"version":"v8.5.x","pages":[{"title":"v8.5.x","href":"/ibc/v8.5.x/intro"}]},{"version":"v7.8.x","pages":[{"title":"v7.8.x","href":"/ibc/v7.8.x/intro"}]},{"version":"v6.3.x","pages":[{"title":"v6.3.x","href":"/ibc/v6.3.x/intro"}]},{"version":"v5.4.x","pages":[{"title":"v5.4.x","href":"/ibc/v5.4.x/intro"}]},{"version":"v4.6.x","pages":[{"title":"v4.6.x","href":"/ibc/v4.6.x/intro"}]}]},{"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":"Latest","default":true,"tag":"Latest","tabs":[{"tab":"Documentation","groups":[{"group":"Cosmos Hub","pages":[{"group":"Start here","pages":[{"title":"Cosmos Hub operator docs","href":"/hub/latest"},{"title":"What is gaia","href":"/hub/latest/getting-started/what-is-gaia"},{"title":"Versions","href":"/hub/latest/start/versions"}]},{"group":"Run a node","pages":[{"title":"System requirements","href":"/hub/latest/getting-started/system-requirements"},{"title":"Install gaiad","href":"/hub/latest/getting-started/installation"},{"title":"Join mainnet","href":"/hub/latest/hub-tutorials/join-mainnet"},{"title":"Sync a node","href":"/hub/latest/node/sync"},{"title":"Database backends","href":"/hub/latest/node/database"},{"title":"Run gaiad as a service","href":"/hub/latest/node/service"},{"title":"Join the testnet","href":"/hub/latest/hub-tutorials/join-testnet"}]},{"group":"Upgrade a node","pages":[{"title":"Upgrade a node","href":"/hub/latest/hub-tutorials/upgrade-node"},{"title":"Upgrade history","href":"/hub/latest/upgrade/history"}]},{"group":"Run a validator","pages":[{"title":"Validator overview","href":"/hub/latest/validators/overview"},{"title":"Validator onboarding checklist","href":"/hub/latest/validators/README"},{"title":"Create and manage a validator","href":"/hub/latest/validators/validator-setup"},{"title":"Validator security","href":"/hub/latest/validators/security"},{"title":"Remote signing","href":"/hub/latest/validators/remote-signing"},{"title":"Monitoring","href":"/hub/latest/validators/monitoring"},{"title":"Validator FAQ","href":"/hub/latest/validators/validator-faq"}]},{"group":"Run public infrastructure","pages":[{"title":"Run public endpoints","href":"/hub/latest/infrastructure/endpoints"},{"title":"Snapshots","href":"/hub/latest/infrastructure/snapshots"},{"title":"Peering","href":"/hub/latest/infrastructure/peering"},{"title":"Relaying","href":"/hub/latest/infrastructure/relaying"},{"title":"Archive nodes and chain archives","href":"/hub/latest/resources/archives"}]},{"group":"Delegate and stake","pages":[{"title":"Delegate and stake","href":"/hub/latest/delegators/README"},{"title":"Delegator CLI guide","href":"/hub/latest/delegators/delegator-guide-cli"},{"title":"Liquid staking module","href":"/hub/latest/modules/liquid"},{"title":"Delegator security","href":"/hub/latest/delegators/delegator-security"},{"title":"Delegator FAQ","href":"/hub/latest/delegators/delegator-faq"}]},{"group":"Governance","pages":[{"title":"Governance process","href":"/hub/latest/governance/process"},{"title":"Submitting a proposal","href":"/hub/latest/governance/submitting"},{"group":"Proposal types","pages":[{"title":"Proposal types","href":"/hub/latest/governance/proposal-types/README"},{"title":"Text proposals","href":"/hub/latest/governance/proposal-types/text-prop"},{"title":"Parameter change proposals","href":"/hub/latest/governance/proposal-types/param-change"},{"title":"Software upgrade proposals","href":"/hub/latest/governance/proposal-types/software-upgrade"},{"title":"Community pool spend","href":"/hub/latest/governance/proposal-types/community-pool-spend"}]}]},{"group":"Reference","pages":[{"title":"gaiad reference","href":"/hub/latest/hub-tutorials/gaiad"},{"group":"Modules","pages":[{"title":"Modules on the Hub","description":"Every module wired into gaia v28.3.1, grouped by where it comes from, with the parameter query and documentation link for each.","href":"/hub/latest/modules/README"},{"title":"Tokenfactory module","href":"/hub/latest/modules/tokenfactory"},{"title":"Fee market module","description":"How the Cosmos Hub prices gas: the feemarket module's floor, the base fee that rises under load, the queries to read it, and how to set fees in gaiad, wallets and relayers.","href":"/hub/latest/modules/feemarket"},{"title":"Metaprotocols module","href":"/hub/latest/modules/metaprotocols"}]},{"title":"Genesis file","href":"/hub/latest/resources/genesis"},{"title":"Build and verify gaiad","href":"/hub/latest/resources/reproducible-builds"},{"group":"Wallets","pages":[{"title":"HD wallets","href":"/hub/latest/resources/hd-wallets"},{"title":"Ledger hardware wallets","href":"/hub/latest/resources/ledger"}]},{"group":"Architecture and ADRs","pages":[{"title":"Architecture Decision Records (ADR)","href":"/hub/latest/architecture/README"},{"title":"ADR Creation Process","href":"/hub/latest/architecture/PROCESS"},{"title":"Architecture Decision Records (ADR)","href":"/hub/latest/architecture/adr/README"},{"title":"ADR Creation Process","href":"/hub/latest/architecture/adr/PROCESS"},{"title":"ADR 001: Interchain Accounts","href":"/hub/latest/architecture/adr/adr-001-interchain-accounts"},{"title":"ADR 002: Globalfee Module [DEPRECATED]","href":"/hub/latest/architecture/adr/adr-002-globalfee"},{"title":"ADR 003: Interchain Accounts Controller Module","href":"/hub/latest/architecture/adr/adr-003-ica-controller"},{"title":null,"href":"/hub/latest/architecture/templates/adr-template"}]}]}]}]}]},{"version":"next","tag":"Unreleased","pages":[{"title":"next","href":"/hub/next/modules/tokenfactory"}]},{"version":"v25","pages":[{"title":"v25","href":"/hub/v25"}]}]}]},"title":"Tokenfactory module - Cosmos Docs","buildId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","deploymentId":"dpl_2oYXwqkEXirXBPk8wV1FtM5USFWi","dynamics":[],"chunks":[]}