A simple BitcoinJS wallet built with React Native and TypeScript.
This is alpha software under active development. Do not use with real Bitcoin on mainnet.
- React Native - Cross-platform mobile development
- TypeScript - Type safety and developer experience
- BitcoinJS-lib - Bitcoin protocol implementation
- Expo - Development platform and tooling
- Zustand - State management
- React Query - Data fetching and caching
- Non-custodial Bitcoin wallet
- Send and receive Bitcoin
- Transaction history
- QR code scanning
- Multi-network support (testnet/mainnet)
- BIP39 seed phrase generation and recovery
- Node.js 18+
- Yarn or npm
- Expo CLI:
npm install -g @expo/cli
- iOS Simulator or Android Emulator
# Clone the repository
git clone https://github.com/TristanBietsch/bitcoinJS-wallet.git
cd bitcoinJS-wallet
# Install dependencies
yarn install
# Start development server
yarn start
# iOS
yarn ios
# Android
yarn android
# Or scan QR code with Expo Go app
The wallet defaults to Bitcoin testnet for safe development. To change networks:
# Set environment variable
export BITCOIN_NETWORK=testnet # testnet | mainnet | regtest
Or create a .env
file:
BITCOIN_NETWORK=testnet
# Run all tests
yarn test
# Run tests with coverage
yarn test:coverage
# Run linting
yarn lint
# Start development server
yarn start
# Run on iOS simulator
yarn ios
# Run on Android emulator
yarn android
# Run linting with auto-fix
yarn lint:fix
app/ # Expo Router pages
src/
├── components/ # Reusable UI components
├── services/ # Bitcoin and API services
├── hooks/ # Custom React hooks
├── store/ # State management
├── utils/ # Utility functions
└── types/ # TypeScript type definitions
- Private keys stored in device secure storage
- BIP39 mnemonic generation
- No private keys transmitted over network
This is alpha software. Contributions welcome but please note:
- Test thoroughly on testnet
- Follow existing code patterns
- Add tests for new features
- Run
yarn lint
before submitting
Report issues at: https://github.com/TristanBietsch/bitcoinJS-wallet/issues
MIT License - see LICENSE file for details.
This is alpha software. Use at your own risk. The authors are not responsible for any loss of funds. Always test thoroughly on testnet before using with real Bitcoin.