Source for the Bitcoin Keeper Signing Server. The server provides assisted signing APIs. Its runtime depends on external configuration and services. The unit tests use disposable local identities and do not need production credentials.
The repository retains Inheritance Key routes from an earlier flow. Current Keeper inheritance uses Miniscript wallet rules and does not make Inheritance Key requests to this server.
- Node.js 22 and npm
- Python 3 and Gitleaks 8.30.1 for source checks
npm ci --ignore-scripts
npm run compile
npm test
python3 scripts/check-source-secrets.py
python3 scripts/check-source-secrets.py --historyThe history check requires a full clone with fetched branches and tags. Run git fetch --all --tags --prune first when checking a fork. Tests exercise local fixtures; they do not prove live signing or recovery behavior.
Copy .env.example to a local .env and supply only disposable development values. .env is ignored by Git. The test suite creates its own configuration in tests/setup-env.ts; no hosted account is needed to run it. Running the HTTP server requires a compatible database and external services that are not included in this repository. Never commit mnemonics, API keys, service-account files, or environment exports.
src/routes/: HTTP route wiring for signer APIs and retained Inheritance Key endpointssrc/services/: assisted signing, retained Inheritance Key code, mail, and notificationssrc/wallet/: wallet and key derivation logicsrc/utilities/: cryptography, policy, and service helperstests/: isolated unit tests
See CONTRIBUTING.md for changes and SECURITY.md for reporting security issues. The public distribution uses MIT while retaining the ISC notice for inherited code; see LICENSE, LICENSE-ISC, and NOTICE.md.