Break glass
Get your money back with nothing but your passkey.
Endpoints
Editable on purpose. A hardcoded endpoint is a dependency on whoever runs it, and this tool is meant to have none — point it at your own node if you prefer.
How this works
Each slice session has its own wallet, derived inside a confidential contract on Sapphire from your wallet address plus the recipient's address for that session. A session starts with one transaction carrying two payments, which writes both addresses into your own wallet's history — so every session can be found again from the chain alone.
To return funds, this page asks Sapphire to sign a transfer as your session wallet. Sapphire only agrees when your passkey has signed that exact transfer, so the approval covers one transaction and cannot be reused. Both steps are free: the Sapphire call is a read, and Sui transfers of this kind cost no gas.
The enclave that runs a session cannot stop any of this. It never holds your passkey, and this path does not involve it.
Your main wallet is simpler still: the passkey is its key, so moving that balance needs no contract at all — just a signature and a public Sui endpoint. Session wallets are the other way round, which is why they take a moment longer.