HaLo chips have secp256k1 signing inside. We use them as a 2nd factor. We create an abstracted account requiring two signatures. The first signature comes from software standardly, and the second signature comes from the corresponding HaLo chip via Near Field Communication (NFC).
Software wallets can be compromised through software attacks. Although hardware wallets provide better security, they are not widely used because they are expensive and impractical. There is also a cheaper and more practical hardware solution: Hardware Locked Contracts (HaLo). HaLo cards, the smallest of which are produced as 27mm x 27 mm are cheap and practical. However, since there is no random number generator inside these cards, they cannot generate keys on their own. The factory or user must install a private key inside the card.
In this project, we suggest using the HaLo card as a 2nd factor. With account abstraction, in the contract of the account, we require two signatures, one from the HaLo card of the user and the second from the software wallet of the user. Also, for small payments, we allow HaLo cards to pay alone. Then, they can be used for small amounts for example public transport or shopping.
I writed the required smart contracts for the project. The design is compatible with any software wallets for transactions. However, for creating abstracted account new smart contract must be used.
Safe wallets also generates similar contracts but they do not have threshold option. Because of this with the new contracts needed for creating account.