Files
aitbc/apps/wallet-daemon
oib f353e00172 chore(security): enhance environment configuration, CI workflows, and wallet daemon with security improvements
- Restructure .env.example with security-focused documentation, service-specific environment file references, and AWS Secrets Manager integration
- Update CLI tests workflow to single Python 3.13 version, add pytest-mock dependency, and consolidate test execution with coverage
- Add comprehensive security validation to package publishing workflow with manual approval gates, secret scanning, and release
2026-03-03 10:33:46 +01:00
..
```
2026-01-24 14:44:51 +01:00

Wallet Daemon

Purpose & Scope

Local FastAPI service that manages encrypted keys, signs transactions/receipts, and exposes wallet RPC endpoints. Reference docs/bootstrap/wallet_daemon.md for the implementation plan.

Development Setup

  • Create a Python virtual environment under apps/wallet-daemon/.venv or use Poetry.
  • Install dependencies via Poetry (preferred):
    poetry install
    
  • Copy/create .env and configure coordinator access:
    cp .env.example .env  # create file if missing
    
    • COORDINATOR_BASE_URL (default http://localhost:8011)
    • COORDINATOR_API_KEY (development key to verify receipts)
  • Run the service locally:
    poetry run uvicorn app.main:app --host 127.0.0.2 --port 8071 --reload
    
  • REST receipt endpoints:
    • GET /v1/receipts/{job_id} (latest receipt + signature validations)
    • GET /v1/receipts/{job_id}/history (full history + validations)
  • JSON-RPC interface (POST /rpc):
    • Method receipts.verify_latest
    • Method receipts.verify_history
  • Keystore scaffolding:
    • KeystoreService uses Argon2id + XChaCha20-Poly1305 via app/crypto/encryption.py (in-memory for now).
    • Future milestones will add persistent storage and wallet lifecycle routes.