Skip to main content
User-controlled wallets are self-custodial: the user’s MPC key share lives on their device, and Circle’s API does not provide an endpoint to delete a user, delete a user-controlled wallet, or bulk disable accounts. There is no “remove from app” or “deactivate user” operation alongside the List users and Get user endpoints. Use this guide to stop a user from accessing your app while preserving their self-custodial wallet.

Prerequisites

Before you begin, ensure that you’ve:

Steps

1

Revoke the user's session in your application

End-user access is gated by your authentication layer (social login, email OTP, or PIN) and the short-lived userToken your backend issues. Stop issuing new tokens for that user so your app can no longer call user-scoped wallet endpoints on their behalf.
2

Delete the user record in your own system

Remove the user-to-wallet mapping in your database so your app no longer surfaces the wallet to other flows.
3

Notify the user about their funds

Because the user controls their key share, any onchain balance stays in their wallet and is not affected by removing them from your app. Ask the user to sweep funds out beforehand if needed.
Circle retains the userId and associated wallet records to support audit and recovery. The user can still access their wallet through any other application that authenticates them with the same Circle account.