π€ BTSBots Smart Wallet & Decentralized Client - User Manual
Welcome to the BTSBots ecosystem! BTSBots is a decentralized trading platform and smart wallet built on top of the BitShares blockchain. Designed with a Zero-Trust Architecture, it seamlessly combines an ultra-smooth web experience with cold-hot key separation security.
π‘οΈ 1. Hardcore Security Mechanisms Detailed
BTSBots solves common Web3 threats such as phishing attacks, private key leaks, and malicious scripts directly at the architectural level:
1. Zero-Key Web Architecture
- No WIF Keys in Browsers: Your physical BitShares Active/Owner WIF keys are never entered or stored in the browser's or mobile app's LocalStorage.
- Local WebCrypto Session Signatures: The web client generates an ephemeral ECDSA (P-256) keypair in IndexedDB. All transactions submitted from the web contain only signed transaction intents, which are audited and signed by
btsbots-service (desktop app) or your local Python daemon.
2. Desktop Guard: btsbots-service User Guide
btsbots-service is the modern, graphical signing daemon developed using Tauri and React 19:
- Encrypted Vault: Private keys are encrypted locally using PBKDF2 + AES-256-GCM.
- Web-Style Gated Authentication: Sensitive views are hidden until login. Unlocking immediately establishes secure sessions and automatically starts the signing daemon.
- Multi-Account Isolated Risk Policies: Each account has its own independent risk policy configuration (`security_rules_${account}.json`).
- 1-Click 8-Digit OTP Generation: Generate 8-digit OTP codes instantly to log in on the web without exposing keys.
- PIN Screen Lock: Lock your screen with an offline 4-8 digit PIN code or let it auto-lock after 5 minutes of inactivity.
π 2. Python Client Setup & Key Management
1. Install uv
# Linux / macOS
curl -LsSf https://astral.sh/uv/install.sh | sh
# Windows (PowerShell)
powershell -ExecutionUrl https://astral.sh/uv/install.ps1
2. Clone Repository & Sync Environment
git clone https://github.com/pch957/btsbots.git
cd btsbots
uv sync
3. Launching SignBots
# Standard interactive mode
uv run python sign_bots.py
# Launch using Unix pass password manager
uv run python sign_bots.py --pass bts/my_account
π± 3. Web & Mobile App Integration Guide
1. 8-Digit OTP Fast Login
- In
btsbots-service, open the β‘ Web Login OTP tab and generate code (or run uv run python get_otp.py --pass bts/my_account).
- Enter your account name and this 8-digit OTP on the web login screen to start a secure session instantly!
2. QR Payments & URI Schemes
- Transfer URI:
btsbots://transfer?to=receiver&asset=BTS&amount=100&memo=inv_001
- OAuth URI:
btsbots://oauth?client_id=merchant&token=xxx&site=example.com&ip=1.2.3.4