CosmWasm integration on top of the Cosmos integration.
The CosmWasm module serves primarily as a user-friendly and convenient wrapper for a set of
predefined messages, allowing developers to interact with smart contracts more efficiently. It
exposes a few methods to upload, deploy, and execute smart contracts, as well as the query methods
subgroup implementing the various low-level queries that CosmWasm supports.
NOTE: Previously, I was under the impression that smart contract messages were JSON-encoded only
by convention. This is false. Thus, previously, any smart contract message had to be passed in using
CosmWasm.toBinary. This, however, broke Amino support. I thus had to remove it from messages &
queries. The CosmWasm.toBinary helper is still useful to encode sub-messages, e.g. for the send
message of CW20 tokens.
There is still work to be done on the CosmWasm integration. Namely, further abstraction of smart
contracts and code generation for your smart contract messages, and
AuthZ messages.
{"docsConfig":{"theme":"mint","$schema":"https://mintlify.com/docs.json","name":"Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit","colors":{"primary":"#16A34A","light":"#07C983","dark":"#15803D"},"logo":{"light":"https://mintcdn.com/kirudev/e5aqW2E0syXaor0K/logo/light.svg?fit=max\u0026auto=format\u0026n=e5aqW2E0syXaor0K\u0026q=85\u0026s=efed43bbecdff2ade4c94207aeccdac0","dark":"https://mintcdn.com/kirudev/e5aqW2E0syXaor0K/logo/dark.svg?fit=max\u0026auto=format\u0026n=e5aqW2E0syXaor0K\u0026q=85\u0026s=2da69589da5f209c9c4bfde67813c11b"},"favicon":"/favicon.svg","footer":{"socials":{"x":"https://x.com/0xKiruse","github":"https://github.com/Kiruse"}},"navigation":{"pages":[]}},"deployment":{"deploymentMetadataValue":{"subdomain":"kirudev","hasAudioNarration":false,"actualSubdomain":"kirudev","customDomains":["docs.kiruse.dev"],"gitSource":{"type":"github","owner":"kiruse","repo":"docs","deployBranch":"main","contentDirectory":"","isPrivate":false,"mountPath":"","label":""},"chroma":{"liveDeploymentHistoryId":"6a21e6c233a4518725aabfab","collectionId":"587e1864-2c4c-46ae-8c45-c0dde82ecb44","schemaVersion":"v2"},"entitlements":{},"buildId":"6a21e6c233a4518725aabfab:success","clientVersion":"0.0.4044","searchFilterCounts":[{"language":"default","tag":"Apophis SDK","count":19},{"language":"default","tag":"Get Started","count":11},{"language":"default","tag":"Mintlify","count":9},{"language":"default","tag":"Cosmos Components","count":7},{"language":"default","tag":"Essentials","count":6},{"language":"default","tag":"@apophis-sdk/cosmos-signers","count":5},{"language":"default","tag":"@apophis-sdk/core","count":4},{"language":"default","tag":"@apophis-sdk/cosmos","count":4},{"language":"default","tag":"@apophis-sdk/cosmwasm","count":3},{"language":"default","tag":"Advanced","count":2}]},"assistantConfig":{},"basePath":"","hasChatPermissions":false,"hasWebMcpPermissions":false,"toggles":[{"name":"kill-isr","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-mintlify-slack","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"agent-integrations-settings","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-pr-grouping","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"custom-prefix","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"analytics-v7","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"user-flows-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"no-publish-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-onboarding","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"llms-txt-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving-live","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"stripTemperatureMiddleware","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"support-platform-pylon-zendesk","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"snapshot-serving","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"instant-rollback","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications-server","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"granular-notifications","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automations-fable","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fixed-ai-action-pricing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"automation-resolve-merge-conflict","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"scoped-publishing","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"mintql","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"page-level-analytics","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"editor-version-history-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-page-v2","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"full-page-search","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workspace-projects","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"assistant-v5","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"byok-sep-25","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"fork-pr-previews","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"revalidation-jwt","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"vite-origin","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"billing-updated-9-15","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-sso-scim","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"hobby-abuse-scan","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"dashboard-inbox","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-signup","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"turbopuffer-dual-write","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"workos-enabled","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"approve-review-flow","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false},{"name":"sso-setup-deadline-banner","enabled":true,"variant":{"name":"disabled","enabled":false,"feature_enabled":true},"impressionData":false}],"googleFontsInlined":false},"customCss":[],"page":{"pagePath":"projects/apophis-sdk/packages/cosmwasm/overview","slug":"/projects/apophis-sdk/packages/cosmwasm/overview","pageMetadata":{"title":"CosmWasm Integration Overview","description":"CosmWasm integration on top of the Cosmos integration.","href":"/projects/apophis-sdk/packages/cosmwasm/overview"},"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: \"CosmWasm integration on top of the Cosmos integration.\"\n });\n}\nfunction MDXContent(props = {}) {\n const {wrapper: MDXLayout} = {\n ..._provideComponents(),\n ...props.components\n };\n return MDXLayout ? _jsx(MDXLayout, {\n ...props,\n children: _jsx(_createMdxContent, {\n ...props\n })\n }) : _createMdxContent(props);\n}\nreturn {\n default: MDXContent\n};\n","frontmatter":{},"scope":{}},"pageType":"default","mdx":{"mdxSource":{"compiledSource":"\"use strict\";const{Fragment:_Fragment,jsx:_jsx,jsxs:_jsxs}=arguments[0];const{useMDXComponents:_provideComponents}=arguments[0];function _createMdxContent(props){const _components={a:`a`,code:`code`,em:`em`,p:`p`,pre:`pre`,span:`span`,strong:`strong`,..._provideComponents(),...props.components},{CodeBlock,Heading}=_components;if(!CodeBlock)_missingMdxReference(`CodeBlock`,true);if(!Heading)_missingMdxReference(`Heading`,true);return _jsxs(_Fragment,{children:[_jsx(_components.p,{children:`The CosmWasm module serves primarily as a user-friendly and convenient wrapper for a set of\npredefined messages, allowing developers to interact with smart contracts more efficiently. It\nexposes a few methods to upload, deploy, and execute smart contracts, as well as the query methods\nsubgroup implementing the various low-level queries that CosmWasm supports.`}),`\n`,_jsx(Heading,{level:`2`,id:`example`,children:`Example`}),`\n`,_jsx(CodeBlock,{filename:``,numberOfLines:`28`,language:`typescript`,children:_jsx(_components.pre,{className:`shiki shiki-themes github-light-default dark-plus`,style:{backgroundColor:`#ffffff`,\"--shiki-dark-bg\":`#0B0C0E`,color:`#1f2328`,\"--shiki-dark\":`#D4D4D4`},language:`typescript`,children:_jsxs(_components.code,{language:`typescript`,numberOfLines:`28`,children:[_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Cosmos`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`LocalSigner`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`mw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@apophis-sdk/cosmos'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`import`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` { `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`DefaultCosmWasmMiddlewares`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`CosmWasm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` } `}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`from`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` '@apophis-sdk/cosmwasm'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`;`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`mw`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`use`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:`...`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`DefaultCosmWasmMiddlewares`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` network`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Cosmos`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`getNetworkFromRegistry`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'neutrontestnet'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` signer`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` LocalSigner`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`fromMnemonic`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'...'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` Cosmos`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`ws`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`network`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`).`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`ready`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`();`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`const`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#4FC1FF`},children:` response`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#D4D4D4`},children:` =`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:` await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` CosmWasm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`query`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`smart`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`({`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` network`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'neutron1...'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// contract address`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#953800`,\"--shiki-dark\":`#C8C8C8`},children:` config`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`: {},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`});`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`console`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`log`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`response`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})]}),`\n`,_jsx(_components.span,{className:`line`}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#C586C0`},children:`await`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` CosmWasm`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`execute`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` network`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` signer`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`,`})]}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:` 'neutron1...'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// contract address`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:` increment:`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` {},`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` },`})}),`\n`,_jsxs(_components.span,{className:`line`,children:[_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:` [`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#9CDCFE`},children:`Cosmos`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`.`}),_jsx(_components.span,{style:{color:`#8250DF`,\"--shiki-dark\":`#DCDCAA`},children:`coin`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`(`}),_jsx(_components.span,{style:{color:`#0550AE`,\"--shiki-dark\":`#B5CEA8`},children:`1_000000`}),_jsx(_components.span,{style:{color:`#CF222E`,\"--shiki-dark\":`#569CD6`},children:`n`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`, `}),_jsx(_components.span,{style:{color:`#0A3069`,\"--shiki-dark\":`#CE9178`},children:`'untrn'`}),_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`)], `}),_jsx(_components.span,{style:{color:`#6E7781`,\"--shiki-dark\":`#6A9955`},children:`// optional native coin \"funds\" to pass along the call`})]}),`\n`,_jsx(_components.span,{className:`line`,children:_jsx(_components.span,{style:{color:`#1F2328`,\"--shiki-dark\":`#D4D4D4`},children:`);`})}),`\n`]})})}),`\n`,_jsxs(_components.p,{children:[_jsx(_components.strong,{children:`NOTE:`}),` Previously, I was under the impression that smart contract messages were JSON-encoded only\nby convention. This is false. Thus, previously, any smart contract message had to be passed in using\n`,_jsx(_components.code,{children:`CosmWasm.toBinary`}),`. This, however, broke Amino support. I thus had to remove it from messages \u0026\nqueries. The `,_jsx(_components.code,{children:`CosmWasm.toBinary`}),` helper is still useful to encode sub-messages, e.g. for the `,_jsx(_components.em,{children:`send`}),`\nmessage of CW20 tokens.`]}),`\n`,_jsx(Heading,{level:`2`,id:`outlook`,children:`Outlook`}),`\n`,_jsxs(_components.p,{children:[`There is still work to be done on the CosmWasm integration. Namely, further abstraction of smart\ncontracts and code generation for your smart contract messages, and\n`,_jsx(_components.a,{href:`https://docs.cosmos.network/v0.46/modules/authz/`,children:`AuthZ`}),` messages.`]})]})}function MDXContent(props={}){const{wrapper:MDXLayout}={..._provideComponents(),...props.components};return MDXLayout?_jsx(MDXLayout,{...props,children:_jsx(_createMdxContent,{...props})}):_createMdxContent(props)}return{default:MDXContent};function _missingMdxReference(id,component){throw new Error(`Expected `+(component?`component`:`object`)+\" `\"+id+\"` to be defined: you likely forgot to import, pass, or provide it.\")}","frontmatter":{},"scope":{"config":{},"pageMetadata":{"title":"CosmWasm Integration Overview","description":"CosmWasm integration on top of the Cosmos integration.","href":"/projects/apophis-sdk/packages/cosmwasm/overview"}}},"mdxSourceWithNoJs":null},"mdxExtracts":{"tableOfContents":[{"title":"Example","slug":"example","depth":2,"children":[]},{"title":"Outlook","slug":"outlook","depth":2,"children":[]}],"codeExamples":{}},"jsLinks":[],"subdomain":"kirudev","siteName":"Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit","title":"CosmWasm Integration Overview - Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit","navMaps":{"firstHrefInVersion":{},"firstHrefInLanguage":{}},"lastModified":"2026-01-07T07:47:40.644Z","originalFileLocation":"projects/apophis-sdk/packages/cosmwasm/overview.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=\"CosmWasm integration on top of the Cosmos integration.\">\u003cmeta data-mint-head name=\"application-name\" content=\"Apophis SDK - Multi-Chain Dapp \u0026amp; Tooling DevKit\">\u003cmeta data-mint-head name=\"generator\" content=\"Mintlify\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"192x192\" href=\"/mintlify-assets/_mintlify/favicons/kirudev/aP7K0pQetXAlZ78Y/_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/kirudev/aP7K0pQetXAlZ78Y/_generated/favicon/apple-touch-icon.png\">\u003clink data-mint-head rel=\"icon\" type=\"image/png\" sizes=\"16x16\" href=\"/mintlify-assets/_mintlify/favicons/kirudev/aP7K0pQetXAlZ78Y/_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/kirudev/aP7K0pQetXAlZ78Y/_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/kirudev/aP7K0pQetXAlZ78Y/_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/kirudev/aP7K0pQetXAlZ78Y/_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/kirudev/aP7K0pQetXAlZ78Y/_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/kirudev/aP7K0pQetXAlZ78Y/_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/kirudev/aP7K0pQetXAlZ78Y/_generated/favicon-dark/favicon.ico\" media=\"(prefers-color-scheme: dark)\">\u003cmeta data-mint-head property=\"og:title\" content=\"CosmWasm Integration Overview - Apophis SDK - Multi-Chain Dapp \u0026amp; Tooling DevKit\">\u003cmeta data-mint-head property=\"og:description\" content=\"CosmWasm integration on top of the Cosmos integration.\">\u003cmeta data-mint-head property=\"og:site_name\" content=\"Apophis SDK - Multi-Chain Dapp \u0026amp; Tooling DevKit\">\u003cmeta data-mint-head property=\"og:url\" content=\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview\">\u003cmeta data-mint-head property=\"og:type\" content=\"website\">\u003cmeta data-mint-head property=\"og:image\" content=\"https://kirudev.mintlify.app/_mintlify/api/og/v2?division=%40apophis-sdk%2Fcosmwasm\u0026amp;title=CosmWasm+Integration+Overview\u0026amp;description=CosmWasm+integration+on+top+of+the+Cosmos+integration.\u0026amp;theme=a775fa4a83be36654ab97c1d\u0026amp;signature=4dd8f552d56cfe4d2dacffdb68b1391e405b5a5bbc0e85bce88aa039a6f3ad0a\">\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=\"CosmWasm Integration Overview - Apophis SDK - Multi-Chain Dapp \u0026amp; Tooling DevKit\">\u003cmeta data-mint-head name=\"twitter:description\" content=\"CosmWasm integration on top of the Cosmos integration.\">\u003cmeta data-mint-head name=\"twitter:image\" content=\"https://kirudev.mintlify.app/_mintlify/api/og/v2?division=%40apophis-sdk%2Fcosmwasm\u0026amp;title=CosmWasm+Integration+Overview\u0026amp;description=CosmWasm+integration+on+top+of+the+Cosmos+integration.\u0026amp;theme=a775fa4a83be36654ab97c1d\u0026amp;signature=4dd8f552d56cfe4d2dacffdb68b1391e405b5a5bbc0e85bce88aa039a6f3ad0a\">\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/kirudev/aP7K0pQetXAlZ78Y/_generated/favicon/browserconfig.xml\">\u003cmeta data-mint-head name=\"apple-mobile-web-app-title\" content=\"Apophis SDK - Multi-Chain Dapp \u0026amp; Tooling DevKit\">\u003cmeta data-mint-head name=\"msapplication-TileColor\" content=\"#16A34A\">\u003clink data-mint-head rel=\"canonical\" href=\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview\">\u003clink data-mint-head rel=\"alternate\" type=\"application/xml\" href=\"/sitemap.xml\">\u003clink data-mint-head rel=\"alternate\" type=\"text/markdown\" href=\"/projects/apophis-sdk/packages/cosmwasm/overview.md\">\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@graph\":[{\"@type\":\"Organization\",\"@id\":\"https://docs.kiruse.dev/#organization\",\"name\":\"Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit\",\"url\":\"https://docs.kiruse.dev\",\"logo\":{\"@type\":\"ImageObject\",\"url\":\"https://mintcdn.com/kirudev/e5aqW2E0syXaor0K/logo/light.svg?fit=max\u0026auto=format\u0026n=e5aqW2E0syXaor0K\u0026q=85\u0026s=efed43bbecdff2ade4c94207aeccdac0\"}},{\"@type\":\"WebSite\",\"@id\":\"https://docs.kiruse.dev#website\",\"name\":\"Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit\",\"url\":\"https://docs.kiruse.dev\",\"publisher\":{\"@id\":\"https://docs.kiruse.dev/#organization\"}},{\"@type\":\"WebPage\",\"@id\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview#webpage\",\"url\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview\",\"name\":\"CosmWasm Integration Overview\",\"description\":\"CosmWasm integration on top of the Cosmos integration.\",\"dateModified\":\"2026-01-07T07:47:40.644Z\",\"isPartOf\":{\"@id\":\"https://docs.kiruse.dev#website\"},\"breadcrumb\":{\"@id\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview#breadcrumb\"}},{\"@type\":\"BreadcrumbList\",\"@id\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit\",\"item\":\"https://docs.kiruse.dev\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"CosmWasm Integration Overview\",\"item\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview\"}]},{\"@type\":[\"Article\",\"TechArticle\"],\"@id\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview#article\",\"headline\":\"CosmWasm Integration Overview\",\"name\":\"CosmWasm Integration Overview\",\"description\":\"CosmWasm integration on top of the Cosmos integration.\",\"url\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview\",\"mainEntityOfPage\":{\"@id\":\"https://docs.kiruse.dev/projects/apophis-sdk/packages/cosmwasm/overview#webpage\"},\"dateModified\":\"2026-01-07T07:47:40.644Z\",\"publisher\":{\"@id\":\"https://docs.kiruse.dev/#organization\"},\"isPartOf\":{\"@id\":\"https://docs.kiruse.dev#website\"}}]}\u003c/script>\u003cscript data-mint-head type=\"application/ld+json\">{\"@context\":\"https://schema.org\",\"@type\":\"WebSite\",\"name\":\"Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit\",\"creator\":{\"@type\":\"Organization\",\"name\":\"Mintlify\",\"url\":\"https://mintlify.com\"}}\u003c/script>","siteName":"Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit","nav":{"global":null,"tabs":[{"tab":"Apophis SDK","groups":[{"group":"Get Started","pages":[{"title":"Introduction","href":"/projects/apophis-sdk/introduction"},{"title":"Raison d'être","href":"/projects/apophis-sdk/raison-detre"},{"title":"Apophis SDK Examples","href":"/projects/apophis-sdk/examples"}]},{"group":"@apophis-sdk/core","pages":[{"title":"Core Overview","href":"/projects/apophis-sdk/packages/core/overview"},{"title":"Apophis Messages","href":"/projects/apophis-sdk/packages/core/messages"},{"title":"Encoding Subsystem","href":"/projects/apophis-sdk/packages/core/encodings"},{"title":"Middleware Subsystem","href":"/projects/apophis-sdk/packages/core/middleware"}]},{"group":"@apophis-sdk/cosmos","pages":[{"title":"Cosmos Integration Overview","href":"/projects/apophis-sdk/packages/cosmos/overview"},{"title":"Cosmos REST API","href":"/projects/apophis-sdk/packages/cosmos/rest-api"},{"title":"Cosmos WebSocket API","href":"/projects/apophis-sdk/packages/cosmos/ws-api"},{"title":"Cosmos Transactions","description":"Apophis aims to make it as simple as possible to deal with transactions.","href":"/projects/apophis-sdk/packages/cosmos/transactions"}]},{"group":"@apophis-sdk/cosmwasm","pages":[{"title":"CosmWasm Integration Overview","href":"/projects/apophis-sdk/packages/cosmwasm/overview"},{"title":"CosmWasm Queries","description":"The CosmWasm integration provides simplifications for the most common queries on smart contracts.","href":"/projects/apophis-sdk/packages/cosmwasm/queries"},{"title":"CosmWasm Contract Messages","href":"/projects/apophis-sdk/packages/cosmwasm/contract-messages"}]},{"group":"@apophis-sdk/cosmos-signers","pages":[{"title":"Cosmos Signers Overview","href":"/projects/apophis-sdk/packages/cosmos-signers/overview"},{"title":"Keplr Wallet Integration","href":"/projects/apophis-sdk/packages/cosmos-signers/keplr"},{"title":"Leap Wallet Integration","href":"/projects/apophis-sdk/packages/cosmos-signers/leap"},{"title":"WalletConnect Integration","href":"/projects/apophis-sdk/packages/cosmos-signers/walletconnect"},{"title":"Local Signer","href":"/projects/apophis-sdk/packages/cosmos-signers/local-signer"}]}]},{"tab":"Cosmos Components","pages":[{"title":"Cosmos Components","href":"/projects/cosmos-components/introduction"}]},{"tab":"Mintlify","pages":[{"title":"Mintlify","href":"/mintlify/introduction"}]}]},"basePath":"","title":"CosmWasm Integration Overview - Apophis SDK - Multi-Chain Dapp \u0026 Tooling DevKit","buildId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","deploymentId":"dpl_DeHjVRGfFnhYQwHnfC2pjeXXv8h9","dynamics":[],"chunks":[]}