EVM Suite
Air-Gap signing support for Ethereum and EVM-compatible chains.
Account Setup
To obtain an ETH account, use CryptoHDKey to acquire the extended public key from the device.
Supported Operations
| Operation | DataType | Demo description |
|---|---|---|
| EIP-1559 Transaction | typedTransaction (4) | Modern transaction format |
| Legacy Transaction | transaction (1) | Classic transaction format |
| EIP-712 TypedData | typedData (2) | Structured data signing |
| Personal Message | personalMessage (3) | Message signing |
Steps
- Build sign request using
EthSignRequest - Encode as UR and display animated QR
- Device scans, verifies, and signs offline
- Decode response using
EthSignature - Attach signature to transaction and broadcast
Fast Demo
import { KeystoneEthereumSDK } from "@keystonehq/keystone-sdk";
const eth = new KeystoneEthereumSDK();
// Build the sign request
const ur = eth.generateSignRequest({
requestId: "uuid-string",
signData: unsignedTxHex, // Hex string without 0x
dataType: 4, // EIP-1559 type
path: "m/44'/60'/0'/0/0",
xfp: "12345678",
chainId: 1,
origin: "sample-client",
});
// Encode it and render the QR