---
title: "Sign In With Ethereum (SIWE), Now Available on Auth0"
description: "Marketplace partner Spruce has expanded the Auth0 platform to use web3 wallets as an identity source."
authors:
  - name: "Samuel Frank"
    url: "https://auth0.com/blog/authors/samuel-frank/"
date: "Apr 19, 2022"
category: "Identity & Security,Security,Ethereum"
tags: ["nft", "security", "cryptocurrency", "ethereum"]
url: "https://auth0.com/blog/sign-in-with-ethereum-siwe-now-available-on-auth0/"
---

# Sign In With Ethereum (SIWE), Now Available on Auth0

Thanks to the hard work of [Spruce](https://www.spruceid.com/), following their [announcement on March 8th](https://blog.spruceid.com/spruce-developer-update-17/), you can now add Sign-in with Ethereum to your Auth0 tenant via their [marketplace integration](https://marketplace.auth0.com/integrations/siwe). While the debate rages on the value of cryptocurrencies, non-fungible tokens (NFTs), and decentralized autonomous organizations (DAOs), it’s clear that Web3 technologies have the potential to change the way we authenticate. The [Auth0 Lab team](https://twitter.com/Auth0Lab) has been [following Web3 developments closely](https://twitter.com/Auth0Lab/status/1501984403773394946?s=20&t=_wTmCWDZR0kQifVURed70Q), and we’re excited to promote this new capability in Auth0.

## Adoption 

<img src="https://images.ctfassets.net/23aumh6u8s0i/oPVdQLjdTS63FS60ODRzA/3892e933900b03cf12060cbdb9c34a9a/Uploaded_from_Sign_in_with_Ethereum" align="right" alt="Adoption" width="450" /> At the end of 2021, [crypto.com](http://crypto.com/) estimated that [300 million people](https://assets.ctfassets.net/hfgyig42jimx/5i8TeN1QYJDjn82pSuZB5S/85c7c9393f3ee67e456ec780f9bf11e3/Cryptodotcom_Crypto_Market_Sizing_Jan2022.pdf) own some form of cryptocurrency. That means those 300 million crypto users (as well as new ones) need a wallet to hold the private keys allowing them to access their currency. 

Diving in, [71 million of those cryptos](https://decrypt.co/89486/number-of-non-zero-ethereum-addresses-record-high-71-million-glassnode) wallets hold Ethereum. This massive adoption has led to an ecosystem of tools to help users leverage the [private keys in their wallets](https://developer.bitcoin.org/devguide/wallets.html) for more than just blockchain transactions. 

While many users lean on [Metamask](https://metamask.io/) for [non-custodial software wallets](https://www.bitcoin.com/get-started/custodial-non-custodial-bitcoin-wallets/) and a gateway for interacting with [Web3 DApps](https://ethereum.org/en/developers/docs/dapps/), other options are gaining market share. [Portis](https://www.portis.io/) and [Torus](https://toruswallet.io/) are other non-custodial wallet competitors.

<br><br><br>

[Coinbase](https://www.coinbase.com/) is a popular cryptocurrency exchange that creates [custodial wallets](https://www.coindesk.com/learn/custodial-wallets-vs-non-custodial-crypto-wallets/) on behalf of users to hold on to their cryptocurrencies. [With 89+ million verified users](https://www.coinbase.com/about#:~:text=Coinbase%20powers%20the%20cryptoeconomy,%2C%20earn%2C%20and%20use%20crypto.), it’s quickly becoming a trusted option. [Fortmatic](https://fortmatic.com/) is a custodial wallet just for authentication and gives users access to their private key with a traditional email/password flow that users recognize in web2.


[WalletConnect](https://walletconnect.com/) is both a standard and a set of SDKs that help any app connect to any type of Web3 wallet. With over 160 apps listed in its registry, it’s becoming a popular way for developers to get access to users’ wallets.

Transactions on the Ethereum blockchain are also increasingly getting easier to conduct courtesy of tools like the [Ethereum Name Service (ENS)](https://ens.domains/), which, similar to DNS, maps a unique human-readable name to the underlying machine-readable strings assigned to each wallet/account. This name can be used instead of the public key, and many apps know to find the address by looking at the ENS smart contract with a registry of the associated addresses. [With 300k+ users](https://ens.domains/#home-statistics), ENS is a growing trend in the Web3 community that makes it easier for the average person to work with their key.

## Sign-in with Ethereum (SIWE)

Ethereum, along with other blockchains that allow for “[smart contracts](https://ethereum.org/en/developers/docs/smart-contracts/)”, allow for additional authentication data to be stored on the blockchain. Non-fungible tokens (NFTs) are already being used to grant access to things like [web communities](https://thirdweb.gitbook.io/thirdweb/guides/membership-nft-for-discord), [restaurants](https://coinyuppie.com/empowering-the-membership-club-model-analyzing-the-worlds-first-nft-restaurant/), and [events](https://cointelegraph.com/news/showtime-nft-tickets-take-the-stage-in-2022-connecting-artists-and-fans). When our [Auth0 Lab team](https://twitter.com/Auth0Lab) started looking into Web3 technologies, we realized that smart contracts could be used to store data for [JWT claims](https://jwt.io/introduction), [verifiable credentials](https://en.wikipedia.org/wiki/Verifiable_credentials), and other authorization data. All that’s needed is a signature by the private key to prove the user’s ownership of those rights.

In early December 2021, the Auth0 Lab [released a demo](https://twitter.com/Auth0Lab/status/1468974610058137604?s=20&t=6GJfq6iCeKQ_vhonsCgNSw) of what this could look like using Auth0. It quickly [got the attention](https://twitter.com/metamask/status/1471177244450111498?lang=en) of Web3 organizations like Metamask and led to a jump into the [Auth0 Lab Discord membership](https://discord.gg/xkbkz9rZcD), a community open to anyone interested in discussing Auth0 Lab initiatives with the team. 

[Spruce](http://www.spruceid.com/), which builds decentralized identity tooling and [self-sovereign user data storage](https://www.spruceid.com/kepler) for Web3 users and organizations, released a [sign-in with Ethereum (SIWE) integration](https://marketplace.auth0.com/integrations/siwe) on the Auth0 marketplace. Now any Auth0 client can leverage SIWE in their applications.

![Spruce](https://images.ctfassets.net/23aumh6u8s0i/7qt8yG4BuFlFw5zshSeoVt/f1bd2e1300fa06af4d4d92f0e4625637/Uploaded_from_Sign_in_with_Ethereum)

This activity diagram shows how the oidc.login.xyz server can facilitate authentication. The website in this diagram is an Auth0 application. Like with any OIDC server, Auth0 can augment the data from any additional sources and help manage the JWT. It’s a great way to quickly plug your existing Auth0 application into the growing Web3 user base.

Currently, Metamask, WalletConnect, Fortmatic, Torus, and Coinbase are all supported in the integration.

## Adding Sign in With Ethereum to Your Tenant

It only takes minutes to add sign in with Ethereum to your Auth0 tenant! 

<AmpContent>
<amp-youtube
    data-videoid="AUC0L7ATsOc"
    layout="responsive"
    width="480" height="270">
</amp-youtube>
</AmpContent>
<NonAmpContent>
<div class='embed-container' style="position: relative; padding-bottom: 56.25%; height: 0; overflow: hidden; max-width: 100%;margin-bottom:40px;"><iframe style="position: absolute; top: 0; left: 0; width: 100%; height: 100%;" src='https://www.youtube.com/embed/AUC0L7ATsOc' frameborder='0' allowfullscreen></iframe></div>
</NonAmpContent>

### Step One: Add the Integration from the Marketplace

From [https://marketplace.auth0.com/integrations/siwe](https://marketplace.auth0.com/integrations/siwe), with a simple click of “Add Integration” and a quick selection of which tenant you’d like to add the integration to, you can get started with your setup.

![Step One](https://images.ctfassets.net/23aumh6u8s0i/5sEgcSRNSFANYAdz2dHD9Q/9eb81092329c05bf9e40cdf9a8d50bcb/Uploaded_from_Sign_in_with_Ethereum)

### Step Two: Obtain a Client ID and Secret

Obtain a Client ID and secret, this can be done with a simple CURL command:

```
curl -X POST https://oidc.login.xyz/register -d '{"redirect_uris":["https://YOUR_AUTH0_DOMAIN/login/callback"]}'
```

![Step Two](https://images.ctfassets.net/23aumh6u8s0i/6qu6mdHY7AEPtn146hdscW/aae8d0fe17316defe591973784a743e9/Uploaded_from_Sign_in_with_Ethereum)

### Step Three: Create the New Social Connection

Login to the Auth0 tenant you selected in Step One and head over to your social connections. A sign-in with Ethereum connection will be on the list:

![Step Three](https://images.ctfassets.net/23aumh6u8s0i/06A8NyYZB1me1aUoQNsHk/8e7710042f874be484e70b3da1a30b9f/Uploaded_from_Sign_in_with_Ethereum)

### Step Four: Configure the Social Connection

Accept the access request by clicking “Continue”, and add your Client ID from Step Two. If your application is a[ Confidential Application](https://auth0.com/docs/get-started/applications/confidential-and-public-applications), add the Client Secret. 

![Step Four](https://images.ctfassets.net/23aumh6u8s0i/34XGbspkzKnoq9HCNZZHmh/cb71bc313c862877fdab1145b57b1852/Uploaded_from_Sign_in_with_Ethereum)

### Step Five: Enable the Connection on Your Application

Finally, toggle the connection to on for the application you’re trying to add it to:

![Step Five](https://images.ctfassets.net/23aumh6u8s0i/32ac6TFbbxiXFOgL0kGyDE/63304bbfa56209f8d2507c979e636ca3/Uploaded_from_Sign_in_with_Ethereum)

That’s it! If you need additional help, review the installation instructions on the [integration marketplace page](https://marketplace.auth0.com/integrations/siwe), and you can always join the [Spruce discord server](https://discord.gg/Sf9tSFzrnt).

## Future Plans for Sign-in with Ethereum

Sign-in with Ethereum (SIWE) [is an open standard](https://eips.ethereum.org/EIPS/eip-4361), led by Spruce with support from the Ethereum Foundation and ENS. It was built [in public](https://login.xyz/) over a number of months with the input of security experts, Ethereum community members, and Web3 projects. Spruce will continue to support their existing work on [numerous libraries for direct integration](https://docs.login.xyz/) and their OpenID Connect Identity Provider Server, which is also [open source](https://github.com/spruceid/siwe-oidc).

## What’s Next?

The Auth0 Lab team is deeply invested in exploring Web3 identity potential. You can follow our progress on [Twitter](https://twitter.com/auth0lab). If you’re interested in speaking with the team, join our discord and start a [thread](https://discord.gg/xkbkz9rZcD).

The Auth0 Lab team is working on demo features and apps that will show the potential of Web3 identity for Web2 and Web3 orgs alike. We look forward to sharing our experiments, working with you, learning from you, and building awesome things together.

The [Auth0 Marketplace](https://marketplace.auth0.com/) is always looking for partners to build new extensions onto Auth0. Visit [https://auth0.com/integrate](https://auth0.com/integrate) to learn more.