Enterprise-grade tokenization module for Cosmos SDK — 1000+ compliance primitives, no-code deployment, full EVM compatibility
Go
2
1,032 commits
updated Sep 20, 2026
The most feature-rich tokenization standard ever built — exclusively available as a Cosmos SDK module.
Enterprise-grade tokenization with 20+ compliance primitives, protocol-level enforcement, and full EVM compatibility. No smart contracts required. No code required. No per-project audits.
BitBadges provides a no-code, plug-and-play tokenization module designed for RWAs, compliant assets, custom stablecoins, and any use case requiring advanced transferability controls. Unlike existing standards (ERC-20, ERC-3643, ICS20), compliance is checked on every transfer, everywhere — in DEXs, liquidity pools, IBC transfers — automatically and at the protocol level.
Key Capabilities:
For detailed documentation, see docs.bitbadges.io.
Traditional tokens are simple balances with permissionless transferability. Smart tokens are different — they have programmable rules, custom transferability, compliance checks, and ownership controls built directly into the token standard itself, enforced on every transfer, everywhere, automatically.
| Traditional Tokens | Smart Tokens (BitBadges) |
|---|---|
| Simple mint/transfer/burn | Programmable rules on every transfer |
| Compliance in app layer (bypassable) | Compliance in protocol layer (enforced) |
| Custom contracts per use case | No-code, composable primitives |
| Per-project audits | Single audited module, reused |
| Limited control (1-2 levels) | Four levels (chain, issuer, sender, recipient) |
| Static balances | Time-dependent balances (vesting, expiry) |
This represents a fundamental shift: instead of fragmented, vulnerable contracts on the app layer, we now have an abstracted tokenization layer that is self-contained, programmable, composable, and reusable across thousands of deployments.
The issuer has full control over the entire lifecycle — transferability, compliance, ownership, revocability, freezability — all configured through composable building blocks, not custom code.
BitBadges blockchain is built on the Cosmos SDK and CometBFT consensus, providing robust infrastructure for enterprise-grade tokenization.
Infrastructure Features:
cosmos/evm moduleUbuntu 23.10+:
sudo apt-get install git curl make build-essential gcc
snap install go --classic # Go 1.21+
Cross-compilation (optional):
# For ARM64
sudo apt-get install gcc-aarch64-linux-gnu
# For macOS (see osxcross project for setup)
# Build for all platforms
make build-all
# Build for specific platform
make build-linux/amd64
make build-darwin/amd64
make build-linux/arm64
# Install Ignite CLI from https://ignite.com/cli
ignite chain init --skip-proto
ignite chain build --skip-proto
ignite chain serve --skip-proto
Note: The --skip-proto flag is required due to manual corrections in generated query files.
bitbadgeschain/
├── x/ # Blockchain modules
│ ├── tokenization/ # Core token functionality
│ │ └── precompile/ # Tokenization EVM precompile
│ ├── gamm/ # AMM liquidity pools
│ │ └── precompile/ # Gamm EVM precompile
│ ├── sendmanager/ # Native coin transfers
│ │ └── precompile/ # SendManager EVM precompile
│ ├── maps/ # Key-value mappings
│ ├── anchor/ # Data anchoring
│ └── wasmx/ # WASM extensions
├── app/ # Application configuration
│ ├── evm.go # EVM module registration
│ └── PRECOMPILE_MANAGEMENT.md # Precompile documentation
├── contracts/ # Solidity contracts and interfaces
│ ├── docs/ # EVM integration guides
│ ├── interfaces/ # Precompile interfaces
│ └── libraries/ # Helper libraries
├── proto/ # Protocol buffer definitions
├── api/ # Generated Go types
├── ts-client/ # TypeScript client
├── cmd/ # CLI commands
└── _docs/ # Development documentation
Build & Test:
# Build main binary
go build ./cmd/bitbadgeschaind
# Run module tests
go test ./x/tokenization/...
go test ./x/tokenization/keeper/...
# Run specific test
go test ./x/tokenization/keeper/ -run TestMsgCreateDynamicStore
# Integration tests
ignite chain test
Linting & Formatting:
golangci-lint run ./x/tokenization/...
go fmt ./x/tokenization/...
Protocol Buffers:
# Generate Go code from proto files
ignite generate proto-go --yes
# Clean up versioned API folders (required after generation)
rm -rf api/tokenization/v*
# Stage generated files
git add *.pb.go *.pulsar.go
For detailed development guides, see:
The EVM module is configured in app/evm.go and requires:
app/params/constants.go
50024 (BitBadges Mainnet)50025 (BitBadges Testnet)active_static_precompiles arrayFor precompile management, see app/PRECOMPILE_MANAGEMENT.md.
Note: These chain IDs are registered in the ethereum-lists/chains registry. See _docs/CHAIN_ID_REGISTRATION.md for details on chain ID registration.
Configure your development environment with config.yml:
version: 1
accounts:
- name: alice
coins: ['1000000000000000ustake', '1ubadge']
- name: bob
coins: ['99999999999999996ubadge', '1000000000000000ustake']
validators:
- name: alice
bonded: 1000000000000000ustake
Production configurations available in:
config.testnet.yml - Testnet configurationrelease-info/The blockchain exposes a REST API for querying collections, balances, and approvals. OpenAPI specification available at docs/static/openapi.yml.
Generated TypeScript client available in ts-client/ for easy integration with web applications.
BitBadges chain includes full EVM compatibility, enabling Ethereum developers to deploy and interact with Solidity smart contracts.
Mainnet:
50024 (BitBadges Mainnet)Testnet:
50025 (BitBadges Testnet)Local Development:
90123 (defaults to local dev chain ID)app/params/constants.goThe chain exposes standard Ethereum JSON-RPC endpoints:
http://localhost:8545 - EVM JSON-RPC (if enabled)http://localhost:26657 - Tendermint RPC (also supports some EVM queries)Precompiles provide direct access to Cosmos modules from Solidity:
Default Cosmos Precompiles (0x0800-0x0806):
0x0800 - Staking precompile0x0801 - Distribution precompile0x0802 - ICS20 (IBC) precompile0x0803 - Vesting precompile0x0804 - Bank precompile (read-only queries)0x0805 - Governance precompile0x0806 - Slashing precompileCustom BitBadges Precompiles (0x1001+):
0x1001 - Tokenization precompile - Create collections, transfer tokens, manage approvals0x1002 - Gamm precompile - AMM liquidity pool operations0x1003 - SendManager precompile - Send native Cosmos coins from EVMSee contracts/docs/ for detailed precompile documentation:
Native Cosmos coins can be wrapped as ERC20 tokens for use in standard Ethereum tooling:
50024 (mainnet) or 50025 (testnet)counter-dapp/ for a complete Next.js + MetaMask exampleSmart contracts can interact with the tokens module through custom WASM bindings in custom-bindings/.
# Tag and push new version
git tag v1.0.0
git push origin v1.0.0
This automatically creates a draft release with configured build targets.
Blockchain upgrades are coordinated through governance proposals. See release-info/ for historical upgrade information and app/upgrades/ for upgrade handler implementations.
# Run all token module tests
go test ./x/tokenization/...
# Run with coverage
go test -cover ./x/tokenization/...
# Run specific keeper tests
go test ./x/tokenization/keeper/ -run TestMsgCreateCollection
# Full integration test suite
ignite chain test
# Simulation tests
go test ./x/tokenization/simulation/...
The module includes comprehensive test helpers in x/tokenization/keeper/integration_*_test.go for setting up test scenarios.
This repository is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License and is registered under US Copyright.
Go
91.2%
Solidity
6.0%
Shell
1.3%
Enterprise-grade tokenization module for Cosmos SDK — 1000+ compliance primitives, no-code deployment, full EVM compatibility
Go
2
1,032 commits
updated Sep 20, 2026
The most feature-rich tokenization standard ever built — exclusively available as a Cosmos SDK module.
Enterprise-grade tokenization with 20+ compliance primitives, protocol-level enforcement, and full EVM compatibility. No smart contracts required. No code required. No per-project audits.
BitBadges provides a no-code, plug-and-play tokenization module designed for RWAs, compliant assets, custom stablecoins, and any use case requiring advanced transferability controls. Unlike existing standards (ERC-20, ERC-3643, ICS20), compliance is checked on every transfer, everywhere — in DEXs, liquidity pools, IBC transfers — automatically and at the protocol level.
Key Capabilities:
For detailed documentation, see docs.bitbadges.io.
Traditional tokens are simple balances with permissionless transferability. Smart tokens are different — they have programmable rules, custom transferability, compliance checks, and ownership controls built directly into the token standard itself, enforced on every transfer, everywhere, automatically.
| Traditional Tokens | Smart Tokens (BitBadges) |
|---|---|
| Simple mint/transfer/burn | Programmable rules on every transfer |
| Compliance in app layer (bypassable) | Compliance in protocol layer (enforced) |
| Custom contracts per use case | No-code, composable primitives |
| Per-project audits | Single audited module, reused |
| Limited control (1-2 levels) | Four levels (chain, issuer, sender, recipient) |
| Static balances | Time-dependent balances (vesting, expiry) |
This represents a fundamental shift: instead of fragmented, vulnerable contracts on the app layer, we now have an abstracted tokenization layer that is self-contained, programmable, composable, and reusable across thousands of deployments.
The issuer has full control over the entire lifecycle — transferability, compliance, ownership, revocability, freezability — all configured through composable building blocks, not custom code.
BitBadges blockchain is built on the Cosmos SDK and CometBFT consensus, providing robust infrastructure for enterprise-grade tokenization.
Infrastructure Features:
cosmos/evm moduleUbuntu 23.10+:
sudo apt-get install git curl make build-essential gcc
snap install go --classic # Go 1.21+
Cross-compilation (optional):
# For ARM64
sudo apt-get install gcc-aarch64-linux-gnu
# For macOS (see osxcross project for setup)
# Build for all platforms
make build-all
# Build for specific platform
make build-linux/amd64
make build-darwin/amd64
make build-linux/arm64
# Install Ignite CLI from https://ignite.com/cli
ignite chain init --skip-proto
ignite chain build --skip-proto
ignite chain serve --skip-proto
Note: The --skip-proto flag is required due to manual corrections in generated query files.
bitbadgeschain/
├── x/ # Blockchain modules
│ ├── tokenization/ # Core token functionality
│ │ └── precompile/ # Tokenization EVM precompile
│ ├── gamm/ # AMM liquidity pools
│ │ └── precompile/ # Gamm EVM precompile
│ ├── sendmanager/ # Native coin transfers
│ │ └── precompile/ # SendManager EVM precompile
│ ├── maps/ # Key-value mappings
│ ├── anchor/ # Data anchoring
│ └── wasmx/ # WASM extensions
├── app/ # Application configuration
│ ├── evm.go # EVM module registration
│ └── PRECOMPILE_MANAGEMENT.md # Precompile documentation
├── contracts/ # Solidity contracts and interfaces
│ ├── docs/ # EVM integration guides
│ ├── interfaces/ # Precompile interfaces
│ └── libraries/ # Helper libraries
├── proto/ # Protocol buffer definitions
├── api/ # Generated Go types
├── ts-client/ # TypeScript client
├── cmd/ # CLI commands
└── _docs/ # Development documentation
Build & Test:
# Build main binary
go build ./cmd/bitbadgeschaind
# Run module tests
go test ./x/tokenization/...
go test ./x/tokenization/keeper/...
# Run specific test
go test ./x/tokenization/keeper/ -run TestMsgCreateDynamicStore
# Integration tests
ignite chain test
Linting & Formatting:
golangci-lint run ./x/tokenization/...
go fmt ./x/tokenization/...
Protocol Buffers:
# Generate Go code from proto files
ignite generate proto-go --yes
# Clean up versioned API folders (required after generation)
rm -rf api/tokenization/v*
# Stage generated files
git add *.pb.go *.pulsar.go
For detailed development guides, see:
The EVM module is configured in app/evm.go and requires:
app/params/constants.go
50024 (BitBadges Mainnet)50025 (BitBadges Testnet)active_static_precompiles arrayFor precompile management, see app/PRECOMPILE_MANAGEMENT.md.
Note: These chain IDs are registered in the ethereum-lists/chains registry. See _docs/CHAIN_ID_REGISTRATION.md for details on chain ID registration.
Configure your development environment with config.yml:
version: 1
accounts:
- name: alice
coins: ['1000000000000000ustake', '1ubadge']
- name: bob
coins: ['99999999999999996ubadge', '1000000000000000ustake']
validators:
- name: alice
bonded: 1000000000000000ustake
Production configurations available in:
config.testnet.yml - Testnet configurationrelease-info/The blockchain exposes a REST API for querying collections, balances, and approvals. OpenAPI specification available at docs/static/openapi.yml.
Generated TypeScript client available in ts-client/ for easy integration with web applications.
BitBadges chain includes full EVM compatibility, enabling Ethereum developers to deploy and interact with Solidity smart contracts.
Mainnet:
50024 (BitBadges Mainnet)Testnet:
50025 (BitBadges Testnet)Local Development:
90123 (defaults to local dev chain ID)app/params/constants.goThe chain exposes standard Ethereum JSON-RPC endpoints:
http://localhost:8545 - EVM JSON-RPC (if enabled)http://localhost:26657 - Tendermint RPC (also supports some EVM queries)Precompiles provide direct access to Cosmos modules from Solidity:
Default Cosmos Precompiles (0x0800-0x0806):
0x0800 - Staking precompile0x0801 - Distribution precompile0x0802 - ICS20 (IBC) precompile0x0803 - Vesting precompile0x0804 - Bank precompile (read-only queries)0x0805 - Governance precompile0x0806 - Slashing precompileCustom BitBadges Precompiles (0x1001+):
0x1001 - Tokenization precompile - Create collections, transfer tokens, manage approvals0x1002 - Gamm precompile - AMM liquidity pool operations0x1003 - SendManager precompile - Send native Cosmos coins from EVMSee contracts/docs/ for detailed precompile documentation:
Native Cosmos coins can be wrapped as ERC20 tokens for use in standard Ethereum tooling:
50024 (mainnet) or 50025 (testnet)counter-dapp/ for a complete Next.js + MetaMask exampleSmart contracts can interact with the tokens module through custom WASM bindings in custom-bindings/.
# Tag and push new version
git tag v1.0.0
git push origin v1.0.0
This automatically creates a draft release with configured build targets.
Blockchain upgrades are coordinated through governance proposals. See release-info/ for historical upgrade information and app/upgrades/ for upgrade handler implementations.
# Run all token module tests
go test ./x/tokenization/...
# Run with coverage
go test -cover ./x/tokenization/...
# Run specific keeper tests
go test ./x/tokenization/keeper/ -run TestMsgCreateCollection
# Full integration test suite
ignite chain test
# Simulation tests
go test ./x/tokenization/simulation/...
The module includes comprehensive test helpers in x/tokenization/keeper/integration_*_test.go for setting up test scenarios.
This repository is licensed under the Creative Commons Attribution-NonCommercial-ShareAlike 4.0 International License and is registered under US Copyright.
Go
91.2%
Solidity
6.0%
Shell
1.3%