Sign in with Ethereum (SIWE) is an authentication method for Ethereum accounts.
After the user authenticates, apps may use their onchain ENS username and profile and EFP social graph.
Seamlessly connects user identity with onchain activities, enabling applications to verify user ownership of NFTs, tokens, and other blockchain assets.
Users maintain control over their identity credentials, eliminating dependency on centralized identity providers like Google or Facebook.
Works across any application that implements the SIWE standard, creating a unified authentication and account experience.
SIWE follows a simple authentication flow:
- Message Creation: Application generates a human-readable sign-in message containing domain, address, and security parameters, following the EIP-4361 standard.
- User Signing: User signs the message with the Ethereum wallet of their choice.
- Signature Verification: Application verifies the signature cryptographically to authenticate the user.
- Session Establishment: Upon successful verification, a secure session is created for the authenticated user.
SIWE is defined by EIP-4361
Ready to implement SIWE in your application? Here are some quick paths forward:
Follow our Quickstart Guide for a step-by-step tutorial on implementing SIWE from scratch.
We provide official libraries for multiple programming languages:
We offer the Ethereum Identity Kit component library and API to help you integrate SIWE and the rest of the Ethereum identity stack.
Get started quickly with existing integrations:
SIWE prioritizes security through:
- Nonce-based replay protection to prevent message reuse attacks
- Domain binding to prevent cross-site message abuse
- Expiration timestamps for time-limited authentication
- Best practices guidance for secure implementation
Learn more about Security Best Practices.
For enterprise applications, SIWE provides:
- OpenID Connect (OIDC) Provider for standards-compliant integration
- Scalable authentication supporting millions of users
- Compliance-friendly audit trails and security controls
- Professional support and deployment guidance
Learn more about OpenID Connect Integration.
SIWE is an open-source project with an active community:
- GitHub: Contribute to the project and report issues
- Twitter: Follow @signinethereum for updates
- Documentation: Comprehensive guides and references
Explore the Integrations section to see SIWE implementations in production.
SIWE fully complies with:
- EIP-4361: Sign in with Ethereum specification
- OpenID Connect 1.0 for enterprise integration
- OAuth 2.0 for authorization flows
- Web3 wallet standards for broad compatibility