Skip to main content
Dev-controlled wallets are persistent onchain accounts. Circle’s API does not provide a delete, disable, or archive endpoint for individual wallets or for wallet sets, and there is no bulk delete operation. Once a wallet is created, its address and key material remain part of your wallet set. Use this guide to retire a wallet from active use while keeping it available for audit and reconciliation.

Prerequisites

Before you begin, ensure that you’ve:

Steps

1

Sweep any balance

Send all token and native balances to another wallet you control before stopping use of the wallet. See Transfer tokens across wallets for the transfer flow.
2

Re-tag the wallet

Call Update a wallet (PUT /wallets/{id}) and update the name and refId. For example, prefix refId with archived- so your application can filter the wallet out of active lists. The wallet remains available to query for audit and reconciliation.
3

Stop using the wallet in your application

Remove the wallet’s id and refId from any user record or assignment pool so it is no longer used for new transactions.
4

Block further activity with policies

Use the Compliance Engine to screen and deny transactions on retired wallets, or enforce equivalent rules in your own backend before submitting transactions.
There is no batched delete or disable endpoint. To retire many wallets at once, iterate the same flow over a list of wallet IDs in your code: sweep, re-tag with PUT /wallets/{id}, then remove each wallet from active assignment in your application.