Skip to main content

Delete

Delete removes the encrypted keyshare file from the device. That's it — no server call, no on-chain action.

How the example does it

vault/.../session/VaultSessionManager.kt
suspend fun deleteKey(keyId: String) {
store.delete(keyId)
}

What delete does NOT do

  • Tell the server. The cloud party still holds its share until its own GC runs.
  • Touch the blockchain. The address, balance, and transaction history are unaffected.
  • Prevent recovery. If you create a new wallet of the same KeyType, it gets a different keyId and a different address — the old address is frozen from this device's perspective (no device share → no 2-of-3 signature possible), but the server share still exists.

If the goal is "this device should not be able to sign for this address anymore," deleteKey is sufficient. If the goal is "no party anywhere holds material for this address," that requires coordinating with whoever runs the server.