LinuxCommandLibrary

clef

SYNOPSIS

clef [options]

PARAMETERS

--help
    Print usage information

--version
    Print version number

--keystore


    Directory for keystores (default ~/.clef)

--chainid
    Override chain ID for signing (default 1)

--lightkdf
    Use light key derivation function

--stdio-ui
    Use STDIO for external UI communication

--networkid
    Network ID for EIP-155 transaction signing

--ipcdisable
    Disable IPC listener backend

--auditlog
    File for audit logs of signing events

--rules
    EASM rules file for signing policies

--usb
    Enable USB hardware wallet support

--4bytelookup
    Enable 4byte signature lookup

--legacy
    Use legacy rule engine (deprecated)

DESCRIPTION

Clef is a standalone, secure key management tool from the Go Ethereum (Geth) suite, designed for signing Ethereum transactions without exposing private keys to client applications. It acts as a backend daemon, supporting software keystores, hardware wallets (Ledger, Trezor via USB), and rule-based signing policies. Clef integrates with Ethereum clients like Geth via IPC or STDIO, enabling external UIs for transaction approval. Key features include audit logging, 4-byte signature lookup for human-readable decoding, and EASM (Ethereum Signing Markup Language) rules for automating approvals based on conditions like value limits or contract blacklists. Security is paramount: keys remain isolated, with options for light KDF, password protection, and USB Armory support. Run it as clef in daemon mode for production use, configuring via command-line flags or config files. Ideal for developers and validators needing robust, customizable signing infrastructure.

CAVEATS

Clef stores private keys in plaintext-encrypted keystores; use strong passwords and hardware wallets for production.
Daemon mode (--stdio-ui) requires trusted external UI to avoid phishing risks.
Not for casual use; exposes signing interface.

DAEMON MODE

Run without arguments for interactive daemon; pairs with clients via IPC socket.
Use clef attach for console access.

SECURITY MODEL

Private keys never leave Clef process.
Supports approve/deny via UI callbacks; audit all actions.

EASM RULES

Define signing logic in EASM files (e.g., reject high-value tx).
Example: --rules myrules.easm

HISTORY

Developed by the Geth team (Ethereum Foundation) around 2018 as a secure replacement for Geth's account manager. Evolved with EIP-712, hardware support, and EASM rules in subsequent releases. Now standard for secure signing in Ethereum tooling.

SEE ALSO

geth(1), eth(1)

Copied to clipboard