An AuthSig represents a cryptographic proof of ownership for an Ethereum address, created by signing a standardized ERC-5573 SIWE ReCap (Sign-In with Ethereum) message. This signature serves as a verifiable credential, allowing the Lit network to associate specific permissions, access rights, and operational parameters with the signing Ethereum address. By incorporating various capabilities, resources, and parameters into the SIWE message before signing, the resulting AuthSig effectively defines and communicates these authorizations and specifications for the address within the Lit network.

interface Capability {
    address: string;
    algo?: string;
    derivedVia: string;
    parsedSignedMessage?: ParsedSignedMessage;
    sig: any;
    signedMessage: string;
}

Hierarchy (view full)

Properties

address: string

The Ethereum address that was used to sign signedMessage and create the sig.

algo?: string

An optional property only seen when generating session signatures, this is the signing algorithm used to generate session signatures.

derivedVia: string

The method used to derive the signature (e.g, web3.eth.personal.sign).

parsedSignedMessage?: ParsedSignedMessage
sig: any

The signature produced by signing the signMessage property with the corresponding private key for the address property.

signedMessage: string

An ERC-5573 SIWE (Sign-In with Ethereum) message. This can be prepared by using one of the createSiweMessage functions from the @auth-helpers package: