> ## Documentation Index
> Fetch the complete documentation index at: https://cosmos-docs-cosmjs-docs.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# What is CosmJS

> The official JavaScript & TypeScript client library for Cosmos SDK blockchains

[CosmJS](https://github.com/cosmos/cosmjs) is the official JavaScript/TypeScript client library for interacting with Cosmos SDK blockchains. It enables web and Node.js applications to query on-chain state, construct and sign transactions, and broadcast them to the network.

## Packages

CosmJS is published as a set of scoped npm packages. Use the ones that match your needs:

| Package                  | Description                                                                |
| ------------------------ | -------------------------------------------------------------------------- |
| `@cosmjs/stargate`       | High-level client for querying and broadcasting on Cosmos SDK 0.40+ chains |
| `@cosmjs/proto-signing`  | Wallet primitives and Protobuf-based transaction signing                   |
| `@cosmjs/cosmwasm`       | Client for CosmWasm-enabled chains                                         |
| `@cosmjs/amino`          | Amino signing support for legacy compatibility                             |
| `@cosmjs/tendermint-rpc` | Low-level Tendermint/CometBFT RPC client                                   |
| `@cosmjs/encoding`       | Encoding utilities (hex, base64, bech32, UTF-8)                            |
| `@cosmjs/math`           | Integer and decimal math for blockchain amounts                            |
| `@cosmjs/crypto`         | Cryptographic primitives (secp256k1, SHA-256, etc.)                        |

## Key Features

* **Query chain state** — balances, accounts, staking, governance, and arbitrary module queries via Tendermint/CometBFT RPC
* **Sign transactions** — Protobuf (`SIGN_MODE_DIRECT`) and Amino (`SIGN_MODE_LEGACY_AMINO_JSON`) signing
* **Broadcast transactions** — submit signed transactions and monitor results
* **Wallet support** — generate wallets from mnemonics or integrate browser extensions like [Keplr](https://keplr.app) and [Leap](https://leapwallet.io)
* **Custom modules** — register custom message types for application-specific chains
* **CosmWasm** — first-class support for deploying, instantiating, and executing smart contracts

## Getting Started

<CardGroup cols={2}>
  <Card title="Quick Start" icon="rocket" href="/cosmjs/v0.38.x/quick-start">
    Install CosmJS, connect to a node, query state, and send your first transaction.
  </Card>

  <Card title="Clients" icon="plug" href="/cosmjs/v0.38.x/concepts/clients/read-only-clients">
    Understand read-only and signing clients.
  </Card>

  <Card title="Querying" icon="magnifying-glass" href="/cosmjs/v0.38.x/guides/query/querying">
    Query balances, accounts, staking, governance, and more.
  </Card>

  <Card title="Transactions" icon="paper-plane" href="/cosmjs/v0.38.x/guides/transactions/send-transactions">
    Send tokens and broadcast arbitrary messages.
  </Card>
</CardGroup>

## Further Resources

* [CosmJS GitHub Repository](https://github.com/cosmos/cosmjs)
* [CosmJS API Documentation](https://cosmos.github.io/cosmjs)
