Kanari is a real-time transaction network designed for in-game payments and asset systems.
It allows developers to build instant game economy features โ such as UID top-ups, item purchases, and asset transfers โ with sub-second finality and no gas fees.
- ๐ฎ In-game payment system (UID top-up)
- ๐ฐ Instant item purchases
- ๐ Real-time asset transfers
- ๐ Game economy backend
Traditional systems:
- โ Slow settlement (seconds or batch processing)
- โ Complex backend logic
- โ No verifiable state
Kanari:
- โก Instant execution (~10 ms)
- ๐ Secure finality (~300 ms)
- ๐ธ No gas fees (user-friendly UX)
- ๐งฉ Simple integration
- Transaction is submitted
- Executed instantly by a small node set (~10 ms)
- Propagated across the network (DAG)
- Finalized by Byzantine quorum (~300 ms)
Result:
- Instant user experience
- Strong consistency and correctness
- Player enters UID
- Payment is submitted
- Balance updates instantly
- Transaction is finalized within ~300 ms
No waiting. No gas fees.
- Rust and Cargo (stable channel recommended)
- Clang, LLVM, CMake (for RocksDB)
- Libssl-dev, pkg-config
cargo build -p kanari# List wallets (first run will bootstrap genesis)
cargo run -p kanari -- keytool list# Create new Move package
cargo run -p kanari -- move new my_token
# Test Move package
cargo run -p kanari -- move test ./my_tokenNote: On first run, the CLI performs a Rust-side genesis that mints initial supply. To reset state, remove ~/.kanari/kanari-db/ and rerun.
# Run all tests
cargo test
# Run specific crate tests
cargo test -p kanari-typescrates/kanariโ CLI binary and bootstrap logiccrates/kanari-typesโ domain types (accounts, balances, TransferRecord)crates/kanari-move-runtimeโ Move VM integration (execution, validation, persistence)crates/kanari-cryptoโ key management, signing, crypto utilitiescrates/kanari-frameworks/packages/kanari-systemโ Move packages (on-chain modules)crates/kanari-coreโ blockchain engine and DAG consensuscrates/centauriโ consensus implementationthird_party/moveโ bundled Move toolchain (path dependencies)
- RocksDB path:
~/.kari/kanari-db/move_vm_db - State storage: Serialized
MoveVMStateunder key"state" - Reset state: Delete the DB directory and restart
Kanari uses a distributed execution model with:
- Event-driven execution (no block dependency)
- DAG-based propagation (Narwhal & Bullshark)
- Byzantine quorum consensus (2f+1 finality)
- Parallel transaction processing
- Sparse Merkle Tree state verification
Transactions are executed instantly and finalized asynchronously through DAG consensus.
For detailed architecture documentation:
crates/kanari/src/main.rsโ CLI entry point and bootstrapcrates/kanari-move-runtime/src/move_runtime.rsโ Move VM integrationcrates/kanari-types/src/transfer.rsโ TransferRecord validationcrates/kanari-frameworks/packages/kanari-systemโ Move modules
- Move CLI Guide โ Complete Move development guide
- Kanari Core โ Engine and consensus details
- Whitepaper โ Technical whitepaper
- Developer Book โ Comprehensive docs
Kanari is built for real-time interactive systems like games, where speed, usability, and reliability are critical.
It bridges the gap between traditional game backend systems and verifiable distributed infrastructure.
See CONTRIBUTING.md for guidelines.
Copyright (c) KanariNetwork, Inc.
SPDX-License-Identifier: Apache-2.0
-
Issues: GitHub Issues
-
Docs: docs.kanari.network