Non-Transferable Tokens
Configure tokens in your smart contract to be non-transferable (or "soulbound").
To make tokens in your contract non-transferable, set the transfer role to be empty.
const rolesAndMembers = await contract.roles.getAll();
const updatedRoles = {
...rolesAndMembers,
transfer: [],
};
await contract.roles.setAll(updatedRoles);