Sign a short message to prove you own the wallet. No approval, no transaction, no SOL spent. We set an httpOnly session cookie and you're in.
We verify the signature server-side, burn the nonce, and set an httpOnly session cookie.
Signing a message costs no SOL. We never request approval for value to move.
The same sign-in works for both. Your role is inferred from whether this wallet owns a creator profile.