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:
- During migration: identity created with
provider_id = "web3:ethereum:0xabcd1234..." (lowercase)
- During login via MetaMask: identity created with
provider_id = "web3:ethereum:0xAbCd1234..." (EIP-55 checksum)
- Result: Same wallet, two different identity records in
auth.identities