MSTBL (Million Stable Coin) is a Cosmos SDK-based blockchain built with CosmWasm smart contract support. The project features a CW20 token with a fixed supply of 1.1 million MSTBL tokens.
Live Services:
- π Website: https://mstbl.com
- π RPC Endpoint:
https://rpc.stbl.mstbl.com - π‘ REST API:
https://api.stbl.mstbl.com - π Chain ID:
mstbl-1
- β Cosmos SDK 0.45.0 - Built on proven blockchain technology
- β CosmWasm 1.0.0 - Smart contract platform
- β CW20 Token - Standardized token implementation
- β Fixed Supply - 1,100,000 MSTBL (minting permanently disabled)
- β Keplr Integration - Full wallet support
- β HTTPS Endpoints - Secure APIs via Caddy reverse proxy
- β Next.js Frontend - Modern web interface on Google Cloud Run
MSTBL-Blockchain/
βββ frontend/ # Next.js web application
β βββ src/
β β βββ components/ # React components (Keplr, wallet UI)
β β βββ hooks/ # useKeplr hook for wallet integration
β β βββ pages/ # Next.js pages
β β βββ types/ # TypeScript definitions
β βββ public/ # Static assets, logos, videos
β βββ Dockerfile # Container build configuration
βββ backend/ # Node.js backend services
βββ chain-registry/ # Keplr Chain Registry files
β βββ mstbl/
β βββ chain.json # Blockchain configuration
β βββ assetlist.json # Token asset definitions
β βββ README.md # Chain documentation
βββ Caddyfile # Reverse proxy config (HTTPS, CORS)
βββ .github/ # GitHub Actions, Copilot instructions
βββ cw20_base.wasm # CW20 smart contract (deployed)
- Node.js 18+
- Docker (for deployment)
- Git
# Clone repository
git clone https://github.com/rh050/MSTBL-Blockchain.git
cd MSTBL-Blockchain
# Frontend setup
cd frontend
npm install
npm run devVisit http://localhost:3000
Create frontend/.env.local:
NEXT_PUBLIC_CHAIN_ID=mstbl-1
NEXT_PUBLIC_RPC_ENDPOINT=https://rpc.stbl.mstbl.com
NEXT_PUBLIC_REST_ENDPOINT=https://api.stbl.mstbl.com
NEXT_PUBLIC_BECH32_PREFIX=wasm
NEXT_PUBLIC_COIN_DENOM=mstbl
NEXT_PUBLIC_MSTBL_CONTRACT=wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4dCW20 Token Contract:
Address: wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d
Total Supply: 1,100,000 MSTBL (1,100,000,000,000 ustbl)
Decimals: 6
Minting: Disabled (immutable supply)
Standard: CW20 (CosmWasm)
View on Explorer:
# Query contract info
curl https://api.stbl.mstbl.com/cosmwasm/wasm/v1/contract/wasm14hj2tavq8fpesdwxxcu44rty3hh90vhujrvcmstl4zr3txmfvw9s0phg4d| Property | Value |
|---|---|
| Chain ID | mstbl-1 |
| Bech32 Prefix | wasm |
| Coin Type | 118 (Cosmos standard) |
| Block Time | ~6 seconds |
| Consensus | Tendermint 0.34.0 |
| SDK Version | Cosmos SDK 0.45.0 |
| WASM Version | CosmWasm 1.0.0 |
Public Endpoints:
- RPC:
https://rpc.stbl.mstbl.com - REST:
https://api.stbl.mstbl.com - WebSocket:
wss://rpc.stbl.mstbl.com/websocket - gRPC:
34.57.32.80:9090
MSTBL is fully integrated with Keplr Wallet:
- Visit https://mstbl.com
- Click "Connect Wallet"
- Approve network addition in Keplr popup
- Start using MSTBL tokens
Keplr Chain Registry:
- PR Status: #1344 (Open)
- Files:
chain.json,assetlist.json,README.md
// Using CosmJS
import { SigningStargateClient } from "@cosmjs/stargate";
const chainInfo = {
chainId: "mstbl-1",
chainName: "MSTBL Network",
rpc: "https://rpc.stbl.mstbl.com",
rest: "https://api.stbl.mstbl.com",
// ... see chain-registry/mstbl/chain.json for full config
};
await window.keplr.experimentalSuggestChain(chainInfo);
await window.keplr.enable("mstbl-1");- Token Name: MSTBL
- Total Supply: 1,100,000 MSTBL
- Decimals: 6 (1 MSTBL = 1,000,000 ustbl)
- Type: CW20 Token
- Distribution: Fully distributed, minting disabled
- Use Cases: Transactions, governance, staking
Blockchain Layer:
- Cosmos SDK 0.45.0
- Tendermint BFT Consensus 0.34.0
- CosmWasm 1.0.0
- CW20 Token Standard
Frontend Stack:
- Next.js 14
- React 18
- TypeScript
- Tailwind CSS
- CosmJS / Keplr Wallet
- i18next (Multi-language support)
Backend Services:
- Node.js
- Express.js
- CosmJS Client
Infrastructure:
- Cloud Provider: Google Cloud Platform
- Compute: GCE e2-medium (us-central1-c)
- Frontend Hosting: Cloud Run
- Reverse Proxy: Caddy 2.10.2 (auto SSL)
- DNS: Cloudflare
- SSL Certificates: Let's Encrypt (auto-renewed)
cd frontend
gcloud run deploy mstbl-prod-v1 \
--source . \
--region us-central1 \
--allow-unauthenticated# SSH to server
gcloud compute ssh mstbl-node1 --zone us-central1-c
# Install Caddy
sudo caddy run --config /root/CaddyfileCaddyfile Configuration:
- Automatic HTTPS (Let's Encrypt)
- CORS headers for all origins
- Path rewriting for Keplr compatibility
- Reverse proxy to localhost services
cd frontend
# Install dependencies
npm install
# Run development server
npm run dev
# Build for production
npm run build
# Deploy to Cloud Run
gcloud run deploy mstbl-prod-v1 --source .- New Component: Add to
frontend/src/components/ - New Page: Add to
frontend/src/pages/ - Keplr Integration: Modify
frontend/src/hooks/useKeplr.ts - Translations: Update JSON files in
frontend/public/locales/
# Test configuration endpoint
curl https://mstbl.com/api/debug-keplr-test
# Open debug page
open https://mstbl.com/debugBest Practices:
- β No private keys or mnemonics in repository
- β Environment variables for sensitive data
- β
.gitignoreexcludes all secrets - β HTTPS-only endpoints
- β CORS configured for security
- β Smart contract minting permanently disabled
Files Excluded from Git:
*.env(environment variables)*private*key*.txt(private keys)*mnemonic*.txt(seed phrases)*-keyring/(blockchain keyrings)- Build artifacts and logs
Contributions welcome! Please:
- Fork the repository
- Create a feature branch (
git checkout -b feature/amazing-feature) - Commit changes (
git commit -m 'Add amazing feature') - Push to branch (
git push origin feature/amazing-feature) - Open a Pull Request
Apache License 2.0 - see LICENSE file for details
- π Website: https://mstbl.com
- π GitHub: https://github.com/rh050/MSTBL-Blockchain
- π¦ Issues: GitHub Issues
- Built on the Cosmos SDK
- Smart contracts powered by CosmWasm
- Wallet integration via Keplr
- Frontend framework: Next.js
β If you find this project useful, please consider giving it a star on GitHub!
Built with β€οΈ on the Cosmos ecosystem
