HaLo
Overview

Overview

Released in 2022, HaLo chips ("Hardware Locked Smart Contracts") come in a variety of form factors and offer powerful secp256k1 signing capabilities.

HaLo chips self-generate their own secp256k1 ECDSA keypairs at the point of manufacture. This keypair is designed to be non-extractable for the life of the chip. Anyone with physical possession of a HaLo chip can instruct it to generate signatures which can be used on- and off-chain to authenticate it, transfer assets, whitelist addresses or more.

HaLo's signing capabilities are the same that you would find with a digital wallet like Rainbow (opens in a new tab) or MetaMask (opens in a new tab). Signatures can be formatted to conform with different signing standards including EIP-191 (opens in a new tab) and EIP-712 (opens in a new tab) and can easily be verified via smart contract.

Interfaces

A HaLo can be read over NFC using the NFC Forum Type 4 Tag Standard where it provides information about its associated public keys through a NDEF URI record. NDEF URI content can typically be read by NFC enabled smartphones without the need for a dedicated application simply by tapping the chip.

This interface and URI content are similar to what you might receive when you tap your phone to an off-the-shelf NFC tag embedded in a smart poster or business card. A single URI-type record on the HaLo contains all information including public keys for the chip.

HaLos also offer a proprietary browser-based interface based on the credentials API and an ADPU interface that can be accessed with a dedicated mobile app or via desktop USB reader.

Usage

On iPhone models beginning with the XS, or more recent and NFC-enabled Android smartphones, you can hold a HaLo chip to the antenna to read the NDEF URI record. On both iPhones and Androids this will read in a notification inviting the user to load a URL. On older NFC equipped iPhones like the iPhone X or 7 there is an explicit NFC scan action in the Control Center that must first be activated.

NFC Notification

You can also use a dedicated NFC tag scanning app like NFC Tools on the App Store (opens in a new tab) or NFC Tools on the Play Store (opens in a new tab).

The browser and NDEF interfaces for chips allows for reading and writing commands to the chips according to the command structure. The browser interface uses the credential API which is available in most mobile browsers on NFC-enabled smartphones including Mobile Safari and Android Chrome.

If writing NDEF messages to the chip, you can either use a dedicated mobile app or WebNFC where supported (opens in a new tab). See the WebNFC Demo for an example web app that uses WebNFC to communicate with HaLo chips.

Example NDEF Record

Type:
URI record: U (0x55)

Format:
NFC Well Known (0x01)
Defined by RFC 2141, RFC 3986

Raw value:
https://eth.vrfy.ch/?av=A02.01.000090.9BFF4326&v=01.C5.000005.20F240F4&flags=00&pk1=04033595E8D03B49D05B7DE9D18151D02E93D8EB5C2AE2A93267FC3769C5C9BFDF4A98D2B814D6A09EF1971FAC11A2499702602C983A8B3533ACD20BF68F46CE6E&pk2=049D7CE3C00ED265E86360AC39F56205DBA6B00D5DB44553198E7C4B5FE5A1027C25D0046947F8B74758E48105CC363992955DA66208634582F0FA08D14114C474&rnd=000000094A50B883E399F27C52FF27D4894D03C600DFE266C2053F2CE1674FCD&rndsig=304402202DEDE008B0CAC74C760CC873F20F153947187AA9D7A5B25AD3E0601768851EDA02206C818BD1D2B7918286394511922365B90AC3375F1705141565A64C8D2C415866049D&cmd=0000&res=00
Last updated on March 8, 2024