Skip to main content
This guide is currently React only.

Introduction

This guide shows you how to implement account deletion functionality without using Dynamic’s UI components. When a user deletes their account, all associated data will be permanently removed, including their wallets, embedded wallets, verified credentials, etc.
Account deletion is permanent and cannot be undone. All associated data will be irrecoverably deleted.

Using our UI

The widget includes account deletion in the Account & Security section. Users can self-serve deletion from there.
Account Deletion
Account deletion is permanent and cannot be undone. All associated data will be irrecoverably deleted.

Using your UI

  • React
React provides the useDeleteUserAccount hook to handle account deletion with loading states and error handling.
React
import { FC } from 'react';
import { useDeleteUserAccount } from '@dynamic-labs/sdk-react-core';

const DeleteAccount: FC = () => {
  const { deleteUser, error, isLoading } = useDeleteUserAccount();

  const handleDeleteAccount = async () => {
    try {
      await deleteUser();
    } catch (err) {
      console.error('Failed to delete account:', err);
    }
  };

  return (
    <div>
      <button onClick={handleDeleteAccount} disabled={isLoading}>
        {isLoading ? 'Deleting...' : 'Delete Account'}
      </button>

      {error && <p className="error">Error: {error.message}</p>}
    </div>
  );
};

Best Practices

  • Always confirm deletion: include a confirmation step before proceeding.
  • Clearly explain what data will be deleted and that the action is permanent.

Hook Types and Functions

The useDeleteUserAccount hook provides:
  • deleteUser: Function to initiate account deletion
  • isLoading: Boolean indicating if deletion is in progress
  • error: Error object if deletion fails
I