Pairing
Pairing binds a device's own key to your robot's on-chain identity. Isaac generates a secp256k1 key on first boot and keeps it in its flash; the key never leaves the device.
- On /device/pair, pick the registered robot.
- The page asks the agent for a pairing challenge. The agent tells the device to show a pairing prompt.
- Press the talk button on the device to consent. The device signs the EIP-712
PairIntent{robotId, owner, nonce}(domainIsaacRobotIdentity, version1) and returns its key and the signature. - Your wallet sends
RobotIdentity.pairDevice(robotId, deviceKey, signature). - The device stores the robot id and plays its "paired" animation.
One device pairs to one robot. To move a device, unpair it first; transferring a robot unpairs its device. After pairing, the page can issue a device token so Isaac can talk to the voice service on its own.

