auth icon indicating copy to clipboard operation
auth copied to clipboard

Ethereum addresses with different cases create duplicate identities

Open lingcoder opened this issue 1 month ago • 0 comments

Bug report

Ethereum addresses with different cases create duplicate identities

Description

Supabase Auth treats Ethereum wallet addresses as case-sensitive strings when creating Web3 identities, causing the same wallet to create multiple identity records if the address casing differs (e.g., checksum format vs lowercase).

Current Behavior

When a user signs in with an Ethereum wallet:

  1. During migration: identity created with provider_id = "web3:ethereum:0xabcd1234..." (lowercase)
  2. During login via MetaMask: identity created with provider_id = "web3:ethereum:0xAbCd1234..." (EIP-55 checksum)
  3. Result: Same wallet, two different identity records in auth.identities

lingcoder avatar Nov 21 '25 05:11 lingcoder