Skip to main content

Documentation Index

Fetch the complete documentation index at: https://www.dynamic.xyz/docs/llms.txt

Use this file to discover all available pages before exploring further.

deleteUser performs a hard delete of the authenticated user. All associated data — wallets, embedded wallets, verified credentials, metadata — is permanently removed. Once the API call succeeds, the SDK automatically logs the user out and clears all client-side authentication state.
Account deletion is permanent and cannot be undone. All associated data will be irrecoverably deleted.

Usage

import { deleteUser } from '@dynamic-labs-sdk/client';

const handleDelete = async () => {
  try {
    await deleteUser();
    // Auto-logout has already happened — redirect or update UI.
  } catch (error) {
    console.error('Failed to delete account:', error);
  }
};

Behavior

  • Requires an authenticated user — call only when isSignedIn returns true.
  • The API call is gated by MFA: if the user has MFA enabled and the action requires step-up, you’ll see an MFA challenge surface. Handle it with isMfaRequiredForAction before invoking deleteUser.
  • On success, the client emits logout (with reason: 'user-deleted') and userChanged ({ user: null }). Subscribe via onEvent or use the React hook useUser to react to the change.

Best practices

  • Confirm first. Always require an explicit confirmation step (a typed-in account name or a “Delete” word match works well).
  • Explain scope. Tell the user what is removed — wallets, balances, credentials, metadata — and that the action is irreversible.
  • Clear local state. If you cache user data outside the SDK (Redux, query caches, IndexedDB), clear it on success.