Air-Gap (Offline QR Signing)
Build a “device stays offline” signing loop using UR-encoded QR codes.
How it Works
- Build Request: Create a sign request UR payload (per chain), render as animated QR frames
- Device Scans: Device scans QR, verifies details on-screen, signs offline
- Get Signature: Device displays signature UR as animated QR
- Broadcast: App scans response, verifies, and broadcasts via your network
Quick Start by Chain
| Chain | Request Type | Response Type |
|---|---|---|
| Ethereum & EVM | eth-sign-request | eth-signature |
| Bitcoin (PSBT) | crypto-psbt | crypto-psbt |
| Solana | sol-sign-request | sol-signature |
| Tron | tron-sign-request | tron-signature |
API Reference
- Basic API – Core UR types:
CryptoHDKey,CryptoCoinInfo,CryptoKeypath
Packages
# Keystone SDK & UR registries
npm install @keystonehq/keystone-sdk @keystonehq/bc-ur-registry-eth
# UR primitives
npm install @ngraveio/bc-urDemo & Examples
- React Native Demo: GitHub Air-Gap Demo
- Scanner: AirGapScanner.tsx
- Chain helpers: sdk/
Note: Air-Gap is offline by design. There is no online browser playground.
Last updated on