The signing boundary
The extension is a transport + signer provider, never a wallet backend. The only step that touches keys happens on the isolated signer.
Architecture diagram
SlothSign sits between the DApp and the isolated signer, relaying requests and signatures.

Layers
Three layers, one boundary: only the signer ever touches keys.
DApp
Owns business logic, RPC, and broadcasting. Sends signing requests through EIP-1193 or wallet-standard.
Extension
Transport and signer provider, not a wallet backend. Converts native requests into a unified SignerRequest, renders intent, and relays text / QR / signatures.
Isolated signer
CLI (local key, passphrase-protected) or offline phone / Trezor. Holds the private key and performs the cryptographic signature.
Unified request
Both chains share one SignerRequest shape; chain adapters translate native calls.
| Field | Type | Description |
|---|---|---|
| version | number | Protocol version |
| chain | ethereum | solana | Chain family |
| chainId | string | Chain identifier |
| address | string | Signing address |
| type | transaction | message | typedData | What to sign |
| payload | string | Chain-specific payload |