Tari Universe is a desktop application that allows users to mine Tari tokens (XTM) using their Mac or PC. The application features a user-friendly interface with one-click mining setup.
The Tari Universe ecosystem includes:
- Tari Universe Desktop App - Mining application for Windows, macOS, and Linux
- Tari Universe Wallet - Mobile companion app for tracking earnings
Download binaries from tari.com. This is the easiest way to run Tari Universe.
After downloading the binaries:
Double-click the installer and follow the prompts.
Open the .dmg file and drag Tari Universe to your Applications folder.
Linux is community supported. The Tari Core team does not officially support the Linux build, it's maintained by contributors. Hit a problem? Please open an issue, but preferably a PR.
The suggested way to run Tari Universe on Linux is the Flatpak package. One
runtime works across distros, and both CPU and GPU mining stay intact. Full build
and install steps live in flatpak/README.md.
Prefer to run the app directly? The Building from source steps below still work.
Launch Tari Universe from your applications menu or desktop shortcut.
brew update
brew install git node cmake protobuf openssl pnpmsudo apt-get update
sudo apt-get install -y git nodejs npm build-essential \
libwebkit2gtk-4.1-dev libayatana-appindicator3-dev librsvg2-dev \
patchelf libprotobuf-dev protobuf-compiler libssl-dev \
pkg-config cmakeInstall Visual Studio Build Tools 2022 with C++ workload, then:
# Install dependencies via chocolatey or vcpkg
choco install git nodejs protoccurl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
source ~/.cargo/envcargo install tauri-cli --lockedgit clone https://github.com/tari-project/universe.git
cd universe
pnpm install
pnpm run tauri buildBy default the build targets testnet. To build for mainnet, prefix the
command with the TARI_TARGET_NETWORK environment variable:
# Linux / macOS
TARI_TARGET_NETWORK=mainnet pnpm run tauri build
# Windows (PowerShell)
$env:TARI_TARGET_NETWORK="mainnet"; pnpm run tauri buildPackaged installers land under target/release/bundle/:
- Windows:
.msiinstaller intarget/release/bundle/msi/ - macOS:
.dmgand.appbundle intarget/release/bundle/dmg/andtarget/release/bundle/macos/
Linux note: the final bundling step (.deb / .AppImage / .rpm)
currently hangs indefinitely on most Ubuntu/Debian systems. The Rust binary
itself compiles successfully. Once the Cargo build phase completes and
bundling begins, press Ctrl+C - the binary is already written and fully
usable. Tauri renames the output using the productName from
src-tauri/tauri.conf.json, so the file lands at the workspace root as:
'./target/release/Tari Universe (Alpha)'The project uses comprehensive linting tools to maintain code quality:
- Frontend: ESLint with TypeScript, React, and Prettier integration
- Backend: Clippy for Rust with custom lint rules
# Frontend linting
pnpm run lint # eslint, isolation-allowlist check, knip, and tsc
pnpm run lint:fix # Auto-fix ESLint issues
pnpm run lint:taplo # Check TOML file formatting
# Backend linting (from src-tauri directory)
cd src-tauri
cargo clippy # Run Rust linting
cargo fmt # Format Rust codeFor the best development experience, install:
- ESLint extension for automatic JavaScript/TypeScript linting
- rust-analyzer extension for Rust development
- Prettier extension for code formatting
Most linting issues can be auto-fixed by your IDE or the lint commands above.
Configuration files are stored at:
- Linux:
~/.config/tari-universe/ - Windows:
%APPDATA%\tari-universe\ - macOS:
~/Library/Application Support/tari-universe/
MCP bearer tokens in config_mcp.json are encrypted with a random key held in
the credential store (the OS keyring/keychain on desktop). The configuration
file alone is not enough to recover a token.
The bundled Tor service binds its control port to 127.0.0.1 and requires
cookie authentication. Its cookie is stored at tor-data/control_auth_cookie
under Tor's application data directory. Health checks and entry-guard queries
read the cookie for each connection and fail if it is missing, invalid, or
rejected. The local node receives the same cookie path on Linux and Windows;
the macOS local node uses its separate Tor control endpoint on port 9051.
Tokens encrypted by older versions, or tokens that cannot be decrypted, are cleared and MCP is disabled. Other MCP settings, including the port, limits, and access tiers, are preserved.
- Restore credential-store access: unlock your keyring/keychain and allow Tari Universe to access it if prompted.
- Re-enable MCP in Settings to generate and save a new bearer token. If the credential store is still unavailable, enabling fails and the server stays off.
- Replace the old bearer token in each MCP client's configuration with the new token, then reconnect the client.
Stopping or restarting the built-in MCP server cancels sends that are waiting for transaction confirmation or PIN entry. Once a send passes PIN entry and begins creating the transaction, it continues signing, broadcasting, and recording the result even if the MCP server stops. Disconnecting the MCP client also leaves the send running. If the client loses the response, check the wallet's transaction history before retrying to avoid sending twice.
Application won't start:
- Check that your system meets minimum requirements
- Verify firewall isn't blocking the application
- Try running as administrator (Windows) or with appropriate permissions
Build issues:
- Ensure all dependencies are installed
- Check that Rust toolchain is up to date
- On Windows, use the Visual Studio Developer Command Prompt
- Community Discord: discord.gg/tari
- GitHub Issues: github.com/tari-project/universe
- Documentation: docs.tari.com
- RFC documents are hosted on Github Pages
- Source code documentation is hosted on docs.rs
Tari Universe is open source software licensed under the Enhanced Common Public Attribution License Version 1.0.