EIP-4361 (SIWE)

Standards/Coordination Systems

Sign-In with Ethereum standard enabling Ethereum accounts to authenticate with off-chain services via a structured, human-readable signed message, replacing OAuth/social login with user-controlled cryptographic identity.

Hybrid Open Standard Low capture risk

Details

License https://github.com/spruceid/siwe
Dev Status Final
Owner SpruceID (Spruce Systems, Inc.)
Country United States
Start Year 2021
Stack Language-agnostic message format, reference implementations in TypeScript, Rust, Go, Python, Elixir, Ruby
Funding Foundation
Last Investigated Mar 10, 2026

Use Case Domains

Affordances

Sovereign identity

Smart Contract Standard Attributes

Permissions Permissionless; any dapp or service may implement SIWE; no central authority
Development Tools siwe npm package (TypeScript), siwe-rs (Rust), siwe-go (Go), siwe-py (Python); MetaMask native integration via MIP-0003; WalletConnect support; Auth0 SIWE plugin
Protocol Maturity / Standardization Final EIP; 3M+ library downloads; integrated into MetaMask, WalletConnect, Auth0; widely adopted in Web3 authentication flows
Trust Framework Cryptographic: wallet signature verification via EIP-191; nonce-based replay prevention; domain binding prevents cross-site forgery; session expiry via timestamp fields
Target Application Domain Web3 authentication, DAO gating, token-gated content, decentralized social platforms, civic identity, data vault access control
Deployment Model Off-chain message signing + on-chain address verification; no contract deployment required for basic auth; optional ERC-1271 for smart contract wallet support
Standard Type Identity Standard
Ecosystem Ethereum (chain-agnostic message format; chain-id field enables multi-chain adaptation)