I have a user account table that holds the basic user details (enough to log in).
There is a separate table (or tables if you want separate activations for buyers/sellers etc. - I have a business admin site that has separate activation tables for staff, board members, investors, management). This table has a foreign key ref to the member id as well as a status (starts as ‘pending’, ‘active’ once confirmed and ‘blocked’ if the org removes access). It also has a column for the profile id assigned to that activation (a FK ref to a profiles table - I usually have separate profiles tables for the roles)
I don’t know if it is relevant but, in my case I also have users who log in to multiple organisations so they can have an activation for multiple roles with multiple organisations.
e.g. User A is a investor and board member of Company 1 as well as a board member of Company 2 as well as a member of staff at Company 3 etc…