Skip to content

grimm-labs/grimm-mobile-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

140 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

License React Native TypeScript

Grimm App Logo

Grimm App is a self-custodial Bitcoin wallet that empowers users to take full control of their Bitcoin while maintaining ease of use. Built on the principle that "not your keys, not your coins," Grimm App ensures that you—and only you—have access to your funds at all times.

Currently supporting Lightning payments via the Breez SDK Spark, Grimm App is actively expanding to include comprehensive on-chain Bitcoin capabilities. Our mission is to create a wallet that serves both newcomers to Bitcoin and experienced users who demand advanced features and maximum control.

Following the cypherpunk ethos, Grimm App is fully open-source, auditable, and trustless. We believe that financial sovereignty should be accessible to everyone, and that transparency in code is essential for building trust in Bitcoin software.

Grimm App screenshots poster

Why Grimm App?

Self-Custody First: Unlike custodial wallets and exchanges, Grimm App generates and stores your private keys exclusively on your device. This means no third party can freeze, confiscate, or lose your Bitcoin.

Lightning Native: Experience instant Bitcoin payments with minimal fees through our Lightning Network integration powered by Breez SDK Spark. Send and receive payments in seconds, not hours.

Future-Ready: With upcoming support for on-chain Bitcoin, Grimm App is designed to be your all-in-one Bitcoin solution, capable of handling everything from small everyday payments to large, secure transfers.

Privacy-Focused: We don't collect user data, don't require KYC, and implement best practices for maintaining your financial privacy.

Open Source: Every line of code is open for inspection. We believe in radical transparency and community-driven development.

Current Features

Lightning Payments (Breez SDK Spark)

Instant Transactions via Breez SDK Spark

  • Send and receive Bitcoin instantly over the Lightning Network (powered by Breez SDK Spark)
  • Minimal transaction fees, typically less than a penny
  • Perfect for everyday purchases and micro-transactions
  • QR code scanning for easy payment initiation

Lightning Benefits

  • Near-instant settlement (payments confirm in seconds)
  • Extremely low fees regardless of Bitcoin network congestion
  • Enhanced privacy through payment channel routing
  • Scalable solution for global Bitcoin adoption

Wallet Basics

Non-Custodial Architecture

  • Private keys generated securely on your device using industry-standard cryptographic libraries
  • Keys never transmitted over the network or stored on external servers
  • You maintain complete control over your Bitcoin at all times

User-Friendly Interface

  • Clean, intuitive design suitable for both beginners and experts
  • Clear transaction history with detailed information
  • Real-time balance updates
  • Support for both Bitcoin and Satoshi denominations

Wallet Security

Multi-Layer Security Approach

  • Private keys stored in platform-specific secure storage (Keychain on iOS, Keystore on Android)
  • Keys only accessed when absolutely necessary (signing transactions, viewing backup)

Core Dependencies and Technology Stack

Bitcoin and Lightning

  • Breez SDK Spark: Lightning Network implementation (used for all Lightning features)

Mobile Development

State Management and Data

  • Modern React patterns with hooks and context
  • Persistent storage for wallet data and preferences
  • Secure storage for sensitive cryptographic material

Requirements

Development Environment

General Requirements

Platform-Specific Requirements

macOS (for iOS development)

  • Xcode 14 or higher
  • CocoaPods (sudo gem install cocoapods)
  • Watchman for file watching
  • iOS Simulator or physical iOS device

Windows/macOS/Linux (for Android development)

  • Android Studio with Android SDK
  • Java Development Kit (JDK) 11 or higher
  • Android emulator or physical Android device
  • Watchman (macOS/Linux only)

Getting Started

Installation

  1. Clone the repository
git clone https://github.com/grimm-labs/grimm-mobile-app.git
cd grimm-mobile-app
  1. Install dependencies
pnpm install
  1. Environment Configuration
cp .env.example .env
# Edit .env with your configuration

Running the App

iOS Development

# Run on iOS simulator
pnpm  run ios

Android Development

# Run on Android emulator or connected device
pnpm run android

Roadmap

Suggestions and contributions to this roadmap are welcome through GitHub issues and discussions.

Phase 1: Lightning Foundation (Current)

  • Lightning Network integration via Breez SDK Spark
  • Send and receive Lightning payments
  • QR code scanning and generation
  • Basic wallet security with secure storage
  • Transaction history and balance display
  • LNURL support (pay, withdraw, auth)
  • Lightning address support

Phase 2: On-Chain Bitcoin (In Progress)

  • Native Bitcoin wallet with bech32 addresses
  • Custom fee selection and RBF support
  • Transaction labeling for privacy

Phase 4: Advanced Features

  • Watch-only wallet support
  • Hardware wallet integration (Coldcard, Ledger, Trezor)
  • Multi-signature wallet support (future)

Phase 5: Privacy and Security Enhancements

  • Tor support for network privacy
  • Coin mixing integration (Whirlpool, JoinMarket)
  • Encrypted cloud backups with key server
  • Biometric authentication
  • Enhanced transaction privacy features

Phase 6: Integration and Interoperability

  • BOLT12 offers support
  • Nostr integration for social payments

Long-Term Vision

  • Advanced scripting support
  • Fedimint integration
  • Cashu token support

Security Best Practices

Key Management

  • Keys generated using cryptographically secure random number generation
  • BIP39 standard for mnemonic phrases

Secure Storage

  • Platform-specific secure enclaves (iOS Keychain, Android Keystore)
  • Encryption at rest for all sensitive data
  • Memory protection to prevent key extraction
  • Secure deletion of sensitive data

Operational Security

  • Regular security audits (planned)
  • Responsible disclosure policy
  • Community code review

Threat Model

What Grimm App Protects Against

  • ✅ Theft of Bitcoin by malicious apps on your device
  • ✅ Server-side theft (we don't hold your keys)
  • ✅ Man-in-the-middle attacks (cryptographic verification)
  • ✅ Phishing attacks (warnings on suspicious addresses)
  • ✅ Accidental loss through proper backup procedures

What Grimm App Cannot Protect Against

  • ❌ Malware with root/jailbreak access
  • ❌ Loss of seed phrase without backup
  • ❌ Social engineering attacks
  • ❌ Compromised device before wallet installation

User Responsibilities

  • Keep your device updated with latest security patches
  • Backup your seed phrase securely (offline, physically)
  • Never share your seed phrase with anyone
  • Verify recipient addresses before sending
  • Be cautious of phishing attempts