BitBox02
shiftcrypto.chBitcoin or Ethereum & ERC-20 tokensOpen source hardware wallet, supporting secure multisig with the option for making encrypted backups on a MicroSD card.
- Homepage:shiftcrypto.ch
- GitHub:github.com/digitalbitbox/bitbox-wallet-app
- Web info:web-check.xyz/check/shiftcrypto.ch
BitBox02 Source Code
Author
Description
The BitBoxApp for desktop and mobile.
Homepage
https://bitbox.swiss/appRepository
- LicenseApache-2.0
- Created02 Aug 18
- Primary languageGo
- Size1,109,069 KB
- Stars326
- Forks126
- Watchers326
Top Contributors
@benma (3904)
@thisconnect (2024)
@shonsirsha (719)
@Beerosagos (450)
@bznein (309)
@Tomasvrba (281)
@x1ddos (152)
@strmci (85)
@sutterseba (78)
@NicolaLS (52)
@BrianCraig (42)
@dependabot[bot] (41)
@sedited (40)
@stephaniestroka (36)
@jstrnbrg (27)
@smokyisthatyou (17)
@jvaltin (16)
@baizon (15)
@NickeZ (15)
@cedwies (13)
@jadzeidan (9)
@0xB10C (8)
@benma-agent (6)
@weblate (5)
@hkjn (3)
@Stadicus (3)
@rootzoll (3)
@davidknezic (2)
@maxmousee (2)
@toxeus (2)
@fabio-porcedda (2)
@xiaolinny (1)
@thejokoono (1)
@riskrose (1)
@pullmerge (1)
@promalert (1)
@pkucode (1)
@findnature (1)
@careworry (1)
@avoidalone (1)
@suriyaa (1)
@validblock (1)
@dangeross (1)
@tensor5 (1)
@nathan-may (1)
@PalinuroSec (1)
@KasparEtter (1)
@jonasschnelli (1)
@ide (1)
@cstenglein (1)
@schjonhaug (1)
@adam2k (1)
Recent Commits
Cedric Wiese(12 Aug 26)
Merge branch 'pr-4311'
Adam Vandover(08 Aug 26)
docs: clarify local development setup order The local development instructions mentioned `make buildweb` only after describing `make servewallet` and `make webdev`, even though `buildweb` must run first to install the web dev dependencies. Move the `buildweb` prerequisite ahead of the commands that depend on it, and note that it is also needed after frontend dependency changes.
sl(10 Aug 26)
Merge branch 'frontend-add-buy-btn-empty-account'
sl(03 Aug 26)
frontend: add buy btn on empty account (both desktop & mobile)
Cedric Wiese(10 Aug 26)
Merge branch 'cedwies/wallet-restore-warning'
Cedric Wiese(05 Aug 26)
frontend: warn before restoring an external wallet
sl(04 Aug 26)
Merge branch 'fix/apply-action-btns-fix-to-master'
sl(30 Jul 26)
frontend: fix actionButtons to be more compact
sl(02 Aug 26)
Merge branch 'frontend-floating-bottom-nav'
sl(02 Aug 26)
frontend: floating mobile bottom bar
Marko Bencun(27 Jul 26)
Merge remote-tracking branch 'agent/benma-agent/rates-refresh-endpoint'
Marko Bencun(27 Jul 26)
Merge remote-tracking branch 'agent/benma-agent/full-tree-lint-fixes'
benma's agent(27 Jul 26)
backend: resolve full-tree lint findings CI evaluates these code paths under the current linters. The backup-reminder state used an assignment that was always overwritten before use, while blockchain status formatting created an intermediate string. Simplify the reminder branch without changing its tri-state behavior and write directly to the status buffer. This removes the lint failures and avoids an unnecessary allocation.
benma's agent(25 Jul 26)
backend: decouple rates from account reload Replace the frontend account reload request with a dedicated historical rates refresh. Keep internal account reinitialization until membership updates become incremental.
Marko Bencun(23 Jul 26)
Merge commit 'refs/pull/4237/head' of https://github.com/BitBoxSwiss/bitbox-wallet-app
thisconnect(22 Jul 26)
Merge branch 'frontend-sign-new-and-used'
thisconnect(15 Jul 26)
frontend: add option to show used addresses in sign-message view Adding the option to change to used-addresses so that users can easily find all addresses that can be signed in one place. Moved contents of Address component into a separat reusable component.
jstrnbrg(21 Jul 26)
Merge pull request #4196 from jstrnbrg/analytics backend: add user agent and version to update checks
jstrnbrg(20 Jun 26)
backend: add user agent and version to update checks
Nikolas De Giorgis(20 Jul 26)
Merge branch 'swap_periodic_test'
Fabio Porcedda(10 Jul 26)
Makefile: add qt-linux-bin target In order to build only the executable add the new target qt-linux-bin. It is useful when testing new changes and just the executable is needed.
Fabio Porcedda(10 Jul 26)
frontends/qt: build using -fPIE On Debian/Ubuntu (docker) GCC adds -fPIE by default, but other toolchains (e.g. Fedora) do not, so add it in order to support other toolchains. Fix the following error on Fedora: $ make qt-linux ... /usr/bin/ld.bfd: singleapplication.o: relocation R_X86_64_32S against symbol `_ZTV17SingleApplication' can not be used when making a PIE object; recompile with -fPIE /usr/bin/ld.bfd: failed to set dynamic section sizes: bad value collect2: error: ld returned 1 exit status make[2]: *** [Makefile:304: BitBox] Error 1
Marko Bencun(15 Jul 26)
Merge commit 'refs/pull/4247/head' of https://github.com/BitBoxSwiss/bitbox-wallet-app
thisconnect(15 Jul 26)
frontend: fix css file naming should be same as component
benma's agent(15 Jul 26)
update: prevent stale synchronized state The initial HTTP response and update events can arrive in either order. Without ordering information, a stale HTTP response can overwrite a newer event, or a stale event can overwrite a newer HTTP response. Add revisions to update snapshots and make the Update consumers retain the newest revision. This is a quick fix scoped to Update only. A general solution would need to define ordering for every useSync endpoint and would require a larger refactor of the shared synchronization API and its backend event contracts.
Marko Bencun(15 Jul 26)
Merge commit 'refs/pull/4245/head' of https://github.com/BitBoxSwiss/bitbox-wallet-app
Marko Bencun(14 Jul 26)
backend: schedule update checks Update checks were being triggered by frontend navigation, a regression from the previous behavior of checking only once at launch. The backend now repeats the check daily so users who leave the app open for a long time still receive update notifications. This is especially useful on Android and iOS, where apps may keep running in the background. Move remote update checks out of frontend-mounted handlers. Run one asynchronous check when the backend starts, then another 24 hours after each attempt. Cache successful results and push them to subscribed frontend consumers. - Add a cancellable update-check loop in `backend/update.go`, started from `Backend.Start()` and stopped from `Backend.Close()`. - Make update requests context-aware so shutdown can cancel an in-flight request. - Protect the cached `*UpdateFile` with a read/write lock. - On every successful check, including a successful “no update” result, replace the cache and emit an `update` event with `action.Replace`. - On failure, log the error, retain the last successful value, emit no replacement, and wait until the next daily check. - Replace `CheckForUpdateIgnoringErrors()` in the handler-facing backend interface with a side-effect-free `GetUpdate()` cache getter. Keep `GET /api/update` and its nullable response shape unchanged. - Add `subscribeUpdate()` to the frontend version API. Convert both the global update banner and About version setting from `useLoad(getUpdate)` to `useSync(getUpdate, subscribeUpdate)`, so late mounts receive cached state and remain subscribed without initiating a remote check. - `GET /api/update`: unchanged wire format, but now returns cached state only. - WebSocket subject `update`: publishes nullable `TUpdateFile` replacement events. - Backend handler interface: expose `GetUpdate() *UpdateFile`. - Frontend API: expose `subscribeUpdate(callback)` alongside `getUpdate()`. - Add backend tests with an injected check function and short interval to verify the initial immediate check, daily recurrence, and cancellation. - Verify successful results are cached and emitted, successful `nil` results clear an older update, and failed checks preserve cached state without emitting. - Add focused frontend tests confirming both consumers render the cached response and react to subscription updates. - Run targeted Go tests with the race detector, `make webtest`, and `make weblint`. - “Once a day” means 24 hours after the previous attempt finishes, preventing overlapping checks. - Startup checks remain asynchronous so network latency cannot delay application startup. - Failed checks receive no early retry; the next attempt occurs after the normal 24-hour interval.
sl(14 Jul 26)
Merge branch 'frontend-account-nr-fix'
sl(13 Jul 26)
frontend: fix account nr display on send flow
Marko Bencun(14 Jul 26)
Merge branch 'merge-ios-ble-msg'
BitBox02 Security
BitBox02 Website
Website
301 Moved Permanently
Redirects
Redirects to https://bitbox.swiss/
Security Checks
3 security checks failed (62 passed)
- External Redirect Detected
- Domain Recently Created
- Domain Very Recently Created
Server Details
- IP Address172.67.157.94
- LocationSan Francisco,California,United States of America,NA
- ISPCloudFlare Inc.
- ASNAS13335
Associated Countries
US
CA
Safety Score
Website marked as safe
100%
Blacklist Check
shiftcrypto.ch was found on 0 blacklists
- AntiSocial Blacklist
- Artists Against 419
- Badbitcoin
- Bambenek Consulting
- CERT Polska
- CoinBlockerLists
- CRDF
- CryptoScamDB
- EtherAddressLookup
- EtherScamDB
- Fake Website Buster
- MetaMask EthPhishing
- NABP Not Recommended Sites
- OpenPhish
- PetScams
- PhishFeed
- PhishFort
- Phishing.Database
- PhishStats
- PhishTank
- Phishunt
- RPiList Not Serious
- Scam.Directory
- SecureReload Phishing List
- Spam404
- StopGunScams
- Suspicious Hosting IP
- ThreatFox
- ThreatLog
- TweetFeed
- URLhaus
- ViriBack C2 Tracker
Website Preview
BitBox02 Reviews
More Crypto Wallets
A steel plate, with engraved letters which can be permanently screwed - CryptoSteel is a good fire-proof, shock-proof, water-proof, and stainless cryptocurrency backup solution.
Long-standing Python-based Bitcoin wallet with good security features. Private keys are encrypted and do not touch the internet and balance is checked with a watch-only wallet. Compatible with other wallets, so there is no tie-in, and funds can be recovered with your secret seed. It supports proof-checking to verify transactions using SPV, multi-sig, and add-ons for compatibility with hardware wallets. A decentralized server indexes ledger transactions, meaning it's fast and doesn't require much disk space. The potential security issue here would not be with the wallet, but rather your PC - you must ensure your computer is secure and your wallet has a long, strong passphrase to encrypt it with.
Sparrow is a Bitcoin wallet for those who value financial self-sovereignty. Sparrow’s emphasis is on security, privacy, and usability. Sparrow does not hide information from you - on the contrary, it attempts to provide as much detail as possible about your transactions and UTXOs, but in a way that is manageable and usable.
Open source, cross-platform, offline, crypto wallet, compatible with 1000+ coins. Your private key is generated on the device, and never leaves it, all transactions are signed by the Trezor, which ensures your wallet is safe from theft. There are native apps for Windows, Linux, MacOS, Android, and iOS, but Trezor is also compatible with other wallets, such as Wasabi. You can back the Trezor up, either by writing down the seed, or by duplicating it to another device. It is simple and intuitive to use, but also incredibly customizable with a large range of advanced features.
An open source, native desktop wallet for Windows, Linux, and MacOS. Wasabi implements trustless CoinJoins over the Tor network. Neither an observer nor the participants can determine which output belongs to which input. This makes it difficult for outside parties to trace where a particular coin originated from and where it was sent to, which greatly improves privacy. Since it's trustless, the CoinJoin coordinator cannot breach the privacy of the participants. Wasabi is compatible with cold storage and hardware wallets, including OpenCard and Trezor.
About the Data: BitBox02
Edit BitBox02 Data
You can edit BitBox02's entry in this section of awesome-privacy.yml by submitting a PR to our GitHub repo.
Note that some of the information shown above has been aggregated from external
sources, a list of these can be found data documentation.
Origin Data
Modify Data
API
You can access BitBox02's data programmatically via our API. Simply make a GET request to:
https://api.awesome-privacy.xyz/v1/services/bitbox02The REST API is free, no-auth and CORS-enabled. To learn more, view the API Docs or read the API Usage Guide.
Share BitBox02
Help your friends compare Crypto Wallets, and pick privacy-respecting software and services.
Share BitBox02 and Awesome Privacy with your network!