A web3 frontend for browsing, querying, and interacting with CosmWasm smart contracts across multiple Cosmos chains. Connect your Keplr wallet to upload, instantiate, execute, and migrate contracts directly from the browser.
- Contract list — browse all deployed CosmWasm contracts on a chain with live pagination and name/address filtering
- Direct navigation — jump to any contract by pasting its address
- Query — send read-only smart queries and inspect JSON responses
- Execute — submit signed transactions to a contract (wallet required)
- Migrate — migrate a contract to a new code ID (wallet required)
- Balances — view token balances held by a contract
- Upload — store a compiled
.wasmbinary on-chain via drag-and-drop (wallet required) - Instantiate — create a new contract from a code ID with a JSON init message and optional funds (wallet required)
- Multi-network — switch between Cosmos Hub, Osmosis, Juno and Neutron
git clone https://github.com/disperze/cw-explorer.git
cd cw-explorer
npm installThe app works out of the box with public RPC/REST endpoints. To use custom endpoints (recommended for production), create a .env.local file in the project root:
# Cosmos Hub
VITE_COSMOSHUB_RPC=https://rpc.cosmos.network
VITE_COSMOSHUB_REST=https://api.cosmos.network
# Osmosis
VITE_OSMOSIS_RPC=https://rpc.osmosis.zone
VITE_OSMOSIS_REST=https://lcd.osmosis.zone
# Juno
VITE_JUNO_RPC=https://rpc.juno.strange.love
VITE_JUNO_REST=https://api.juno.strange.love
# Neutron
VITE_NEUTRON_RPC=https://rpc-kralum.neutron-1.neutron.org
VITE_NEUTRON_REST=https://rest-kralum.neutron-1.neutron.orgAll variables are optional — any variable not set falls back to the default public endpoint shown above.
npm run devOpen http://localhost:5173 in your browser.
npm run buildThe output is written to dist/. Serve it with any static file host (Vercel, Netlify, Nginx, etc.).
To preview the production build locally:
npm run preview| Layer | Library |
|---|---|
| UI framework | React 19 + TypeScript |
| Bundler | Vite |
| Chain client | CosmJS (@cosmjs/cosmwasm-stargate, @cosmjs/stargate) |
| Wallet | Keplr (@keplr-wallet/types) |
| Network | Chain ID |
|---|---|
| Cosmos Hub | cosmoshub-4 |
| Osmosis | osmosis-1 |
| Juno | juno-1 |
| Neutron | neutron-1 |
- Open the app and select a network from the top navigation bar.
- The contract list loads automatically. Use the filter input to search by name or address, or paste an address in the Go to contract field to navigate directly.
- Click any contract row to open the detail view with Query, Execute, Migrate, and Balances tabs.
- To upload a new
.wasmbinary, click Upload in the navbar, connect Keplr, then drag-and-drop or select your file. - To instantiate a contract, click Create, enter the code ID, a label, an instantiate message (JSON), and optional funds.
Transactions link out to Mintscan for easy on-chain verification.