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 including 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 NXP TagInfo on the App Store (opens in a new tab) or NXP TagInfo 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

NFC NDEF Record
Weblink (Expert)

NDEF Properties
TNF: NFC Well Known
Type: U
Payload length: 657 bytes

URI record
Protocol: None
URI: https://eth.vrfy.ch/?static=41045AE0DE114C09CD859A4DE0D80DB5987EC170CCB884FA1EAAA8BE3582DC5471051503D417A7BD0164DEAC830B694074DE3AEC3C593CCC5E47831B51CAFE9FCC7F4104F077CB94E9CB6400B5A334EEB983B01700E492ADF6ECDA7891D763C369EB42E1C2FC9800827EADFEF014E8DC0EEDDB072BF64792EFB804C7CCADE270939D4443000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000&cmd=0681A4D2F610A0F52D10AB4B0B8938A45E69C533F9F9A862F379FC76F1FD9C0822F300&res=E1010000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000

Payload data
00 68 74 74 70 73 3A 2F 2F 65 74 68 2E 76 72 66 79 2E 63 68 2F 3F 73 74 61 74 69 63 3D 34 31 30 34 35 41 45 30 44 45 31 31 34 43 30 39 43 44 38 35 39 41 34 44 45 30 44 38 30 44 42 35 39 38 37 45 43 31 37 30 43 43 42 38 38 34 46 41 31 45 41 41 41 38 42 45 33 35 38 32 44 43 35 34 37 31 30 35 31 35 30 33 44 34 31 37 41 37 42 44 30 31 36 34 44 45 41 43 38 33 30 42 36 39 34 30 37 34 44 45 33 41 45 43 33 43 35 39 33 43 43 43 35 45 34 37 38 33 31 42 35 31 43 41 46 45 39 46 43 43 37 46 34 31 30 34 46 30 37 37 43 42 39 34 45 39 43 42 36 34 30 30 42 35 41 33 33 34 45 45 42 39 38 33 42 30 31 37 30 30 45 34 39 32 41 44 46 36 45 43 44 41 37 38 39 31 44 37 36 33 43 33 36 39 45 42 34 32 45 31 43 32 46 43 39 38 30 30 38 32 37 45 41 44 46 45 46 30 31 34 45 38 44 43 30 45 45 44 44 42 30 37 32 42 46 36 34 37 39 32 45 46 42 38 30 34 43 37 43 43 41 44 45 32 37 30 39 33 39 44 34 34 34 33 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 26 63 6D 64 3D 30 36 38 31 41 34 44 32 46 36 31 30 41 30 46 35 32 44 31 30 41 42 34 42 30 42 38 39 33 38 41 34 35 45 36 39 43 35 33 33 46 39 46 39 41 38 36 32 46 33 37 39 46 43 37 36 46 31 46 44 39 43 30 38 32 32 46 33 30 30 26 72 65 73 3D 45 31 30 31 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30 30
Last updated on March 24, 2023