remove_contact
Remove a labeled contact from one or all chains. Specify the chain to delete only that entry, or omit to remove from every chain.
Instructions
Remove a labeled contact. Without chain, removes the label from EVERY chain that has it (one device interaction per chain when removing a signed entry). With chain, removes only that chain's entry — the label can survive on other chains. The unsigned metadata row (notes / tags) is dropped only when no chain still references the label. Issues CONTACTS_LABEL_NOT_FOUND if neither the signed disk nor the unsigned in-memory store has the label. Issue #428: unsigned-only removals never need a Ledger; mixed labels (signed entry on one chain + unsigned on another) require pairing only for the signed-entry chain.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| label | Yes | Human-readable label, used to look up the contact by name in every prepare flow. Must be unique within a chain — adding the same label twice on the same chain replaces the address. | |
| chain | No | If specified, removes the label from THAT chain only. If omitted, removes the label from EVERY chain that has it (one device interaction per chain). |