The BitBadges chain ships a standard Cosmos SDK binary called bitbadgeschaind. You can use it for key management, transaction signing, querying, and broadcasting without writing any code.
Installation
You can install bitbadgeschaind from a pre-built release or build from source.
Important: BitBadges periodically performs chain upgrades. To ensure compatibility with the latest on-chain changes, always use the correct binary version for the current chain height. Check the releases page for the latest version.
Key Management
BitBadges supports both Ethereum-compatible keys (eth_secp256k1) and standard Cosmos keys (secp256k1). The default keyring backend is test (unencrypted, for development). For production, use --keyring-backend os or --keyring-backend file.
Create a New Key
bitbadgeschaindkeysaddmykey
This generates a new key and outputs the address and mnemonic. Save the mnemonic securely.
Recover from Mnemonic
You will be prompted to enter the mnemonic.
List Keys
Show Key Details
Add --bech val to show the validator address or --bech cons for the consensus address.
Export / Import
Delete a Key
Submitting Transactions
All transaction commands follow this pattern:
Common Flags
Flag
Description
Default
--from
Key name or address to sign with
(required)
--chain-id
Cosmos chain ID
bitbadgeschain
--node
Node RPC endpoint
tcp://localhost:26657
--gas
Gas limit (auto to simulate)
200000
--gas-adjustment
Multiplier when using auto gas
1.0
--fees
Transaction fee (e.g. 10000ubadge)
--keyring-backend
Keyring backend (os, file, test)
test
--broadcast-mode
sync, async, or block
sync
--dry-run
Simulate without broadcasting
false
--generate-only
Generate unsigned tx JSON
false
Network Endpoints
Network
Cosmos Chain ID
Node LCD
EVM Chain ID
Mainnet
bitbadges-1
https://lcd.bitbadges.io
50024
Testnet
bitbadges-2
https://lcd-testnet.bitbadges.io
50025
Tokenization Module Commands
The tokenization module handles collections, tokens, transfers, approvals, and dynamic stores. Most commands accept a JSON argument that can be provided inline or as a file path.
Create a Collection
The JSON file should contain the fields for MsgCreateCollection. See MsgCreateCollection for the full schema.
Universal Update Collection
The most comprehensive update command -- can modify any collection field in a single transaction:
Each of these accepts a JSON argument (inline or file path):
Dynamic Stores
Dynamic stores are on-chain boolean mappings (allowlists/blocklists) that can be referenced in approval criteria.
Address Lists
Voting
Query Commands
All query commands support --node to specify which node to query and --output json for JSON output.
JSON Input
Most transaction commands accept JSON either inline or from a file path. The CLI automatically detects which format you are using:
Using files is recommended for complex transactions. The JSON schema for each message matches the protobuf definitions documented in the Messages section.
For Developers (SDK Alternative)
If you prefer programmatic signing over the CLI, use the BitBadgesSigningClient from bitbadgesjs-sdk. It provides TypeScript functions for all transaction types with automatic gas estimation, sequence management, and broadcasting.