Today we're announcing support for Web3 logins using Ethereum and Solana. This has been one of the historically most requested features for Supabase.

It's all based on the widely adopted Sign in with Ethereum standard (EIP-4361), which both Ethereum and Solana off-chain wallet authentication is based on. This protocol is widely adopted across all of the popular wallet applications (both software and hardware) today, so building a Web3 application on top of Supabase has never been easier.

We wanted to make it simple. The Sign in with Ethereum standard defines a particular message structure, one that looks like so:

_12example.com wants you to sign in with your Ethereum account:_120xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2_12_12I accept the ExampleOrg Terms of Service: <https://example.com/tos>_12_12URI: <https://example.com/login>_12Version: 1_12Chain ID: 1_12Nonce: 32891756_12Issued At: 2021-09-30T16:25:24Z_12Resources:_12- <https://example.com/my-web2-claim.json>

It's interpreted both by the wallet application, which presents a secure login confirmation dialog, while also being validated by Supabase Auth before issuing a user session.