Skip to main content
The two client families are parallel implementations, not a parent-child relationship. They share the same patterns and reuse types from @cosmjs/stargate, but CosmWasmClient does not extend StargateClient.

Which Should I Use?

  • Standard Cosmos SDK chain (Cosmos Hub, etc.) — use @cosmjs/stargate
  • CosmWasm-enabled chain (Osmosis, Neutron, etc.) — use @cosmjs/cosmwasm
SigningCosmWasmClient is a superset in terms of transaction types: it can send tokens, delegate, and do everything SigningStargateClient can, plus interact with smart contracts. If your chain supports CosmWasm and you need contract interaction, use the CosmWasm client for everything.

Custom Messages

Both signing clients support custom message types through the Registry: