Powered by

A design system from Family

Sign In With Ethereum

ConnectKit provides a simple solution for integrating SIWE, a secure authentication standard, to your application.

This helps enable you to build features that require proving a user has full control over their wallet.

Features

Get the experience you and your users deserve.

Secure Authentication Standard

Enable a secure communication between client and server with the EIP-4361 protocol.

Dedicated Next.js Package

Streamline the process of adding SIWE to your Next.js app.

Optional Custom Backend

If you're not using Next.js, you can set up a custom backend instead.

Build Authenticated Features

Use SIWE to build features like token gating, account creation, and more.

Streamlined UX

ConnectKit handles the user journey and authentication flow for you.

Simple Setup

Let ConnectKit do the heavy lifting and get started in minutes.

Try It Out

Connect a Wallet below to see the Sign In With Ethereum prompt. If you have already connected a wallet, open the ConnectKit modal to see the prompt.

If this is your first time implementing Sign In With Ethereum, have a read first and familiarize yourself with some of the core concepts.

Context

A SIWE flow generally consists of two parts, the client-side and the server-side.

The client-side is responsible for authenticating the user with a signed message and the server-side is responsible for verifying and storing the user's authentication state.

Here's what a typical SIWE flow would look like:

  1. User connects their wallet to a client-side app.

  2. Client-side app prompts user to sign a SIWE message generated using a nonce from the backend.

  3. User signs the message, and then sends the message with the signature to the backend for verification. This proves to the backend that the user controls the connected wallet address.

  4. Upon successful verification, the backend establishes a session via your choice of session storage (cookie, JWT, or similar).

Setup

To help streamline the process of adding SIWE to your project, we offer a small, easy-to-install package for Next.js apps. For all other frameworks see the custom backend setup.