Sign-In with Ethereum - December Updates

When signing in to popular services today, users will typically use identity providers (IdPs) that are centralized entities with ultimate control over users' identifiers--or "Big Login."

Sign-In with Ethereum - December Updates

When signing in to popular services today, users will typically use identity providers (IdPs) that are centralized entities with ultimate control over users' identifiers--or "Big Login." Sign-In with Ethereum offers a new self-custodial option for users who wish to assume more control and responsibility over their own digital identity.

Here are the latest updates from our work on Sign-In with Ethereum:

Recently Completed and Announced

  • We released the first public Sign-In with Ethereum example on login.xyz for users to try out and view the presented message format.
GitHub - spruceid/siwe: Sign-In with Ethereum library and example app
Sign-In with Ethereum library and example app. Contribute to spruceid/siwe development by creating an account on GitHub.
  • We released the SIWE library and an example to help kickstart its adoption. The example runs a local server that authenticates the user using their Ethereum account, via EIP-4631. The server presents to the user a dapp that uses SIWE to interact with the server.
  • We recently released public research comparing EIP-191 vs EIP-712, and why we chose EIP-191 for the first version of the specification.
  • We have released all of the visual assets associated with SIWE under CC0 in the Sign-In with Ethereum library repository.

In Progress

Additional Language Support

We are currently working on additional language support in order to help bolster the adoption of Sign-In with Ethereum across any application. Although we've begun with TypeScript, we are in the process of adding support for the following languages:

  • Ruby - For general usage and support for Rails applications, complete with a Sinatra example.
  • Rust - For general usage and support for Rocket applications, complete with an example.
  • Python - For general usage and support for Django applications, complete with an example.
  • Java - For general usage and support for Spring applications, complete with an example, with the latest patched version of log4j.
  • C# - For usage in .NET applications, complete with an example.
  • Elixir - For usage in Phoenix applications, complete with an example.

By adding additional language support, we also begin to unlock application plugins that can be used widely across open-framework applications. One such plugin that we've begun work on is for Discourse, enabling any self-hosted Discourse forum to include Sign-In with Ethereum as an authentication method. With the growing popularity of using Discourse for governances throughout the Web3 ecosystem, we aim to ensure that users can control their identifiers on Web2 services whenever possible.

Future Discourse

OpenID Connect Identity Provider (IdP) Server

After talking to many companies about SIWE adoption, we found that many wanted to consolidate the Sign-In with Ethereum workflow to a single service that could be used to access their entire ecosystem using OpenID Connect to forward the user authentication. This reduces management overhead while also mitigating security risks for larger customers that have many services for their users to access within their product ecosystem. We are therefore building the IdP server towards this use case while also supporting a potential community server.

A community server could be run by a credibly neutral party that Ethereum users accept as an intermediary. We think a non-profit or DAO are the right structures to govern such a server.

Marketplace Integrations

We are currently working on adding support for Sign-In with Ethereum to the Auth0 Marketplace, which will enable any business or organization leveraging Auth0 to easily integrate Sign-In with Ethereum. We see this as a means to continue to drive traditional adoption of the standard and make it as easy as possible to integrate and let users control their identifiers.

Recently, the Auth0 Lab team demonstrated an experiment with SIWE, where they authenticated using the standard, and demonstrated an enriched profile by leveraging data from ENS and owned NFTs:


If you're interested in integrating Sign-In with Ethereum into your dapp, app, or service, we are more than happy to help and provide any support we can. As we continue our work supporting Sign-In with Ethereum, we especially welcome implementers who already have users relying on similar workflows, authors of related EIPs, and wallet vendors who would like to do more to support user-owned identities to join us.

If you are interested in being involved, please join our Discord server: