Establishing a user identity currently requires valid invite codes and keys. Using Sage’s React hooks simplifies the user creation process within your React application. Creating a User with Invites Using React Integration:
import { useUser } from '@sageprotocol/sdk/react';
import { useWallet } from '@suiet/wallet-kit';

function CreateUser() {
  const { create } = useUser();
  const { account, signAndExecuteTransaction } = useWallet();

  const handleCreateUser = async () => {
    const result = await create({
      amounts: [0, 0],                        // Required; typically [0,0] by default
      avatar: 0,                              // Optional avatar blob ID (default: 0)
      banner: 0,                              // Optional banner blob ID (default: 0)
      description: "Blockchain enthusiast",   // Supports markdown formatting
      inviteCode: "your-invite-code",         // Required invite code
      inviteKey: "your-invite-key",           // Required invite key
      name: "john-doe",                       // Globally unique username
      self: account.address                   // User's connected wallet address
    });

    if (result.ok) {
      await signAndExecuteTransaction({ transaction: result.transaction });
      console.log("User created successfully!");
    } else {
      console.error("User creation error:", result.err);
    }
  };

  return (
    <button onClick={handleCreateUser}>
      Create User
    </button>
  );
}

export default CreateUser;