EIP-4361 (SIWE)
Standards/Coordination SystemsSign-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
Links
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
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)