sos-not-sus.git
🏆complete

SOS NOT SUS

🏆 HACKATHON

An emergency wallet escape prototype that uses EIP-7702 and LayerZero to move assets across chains to a preconfigured safe wallet.

tech_stack[]:
SolidityEIP-7702LayerZeroZircuitBaseArbitrum
project_info:
status:complete
last_update:11/23/2025
hackathon:ETHGlobal Buenos Aires 2025
git remote show origin
Repository:vonMangoldt/BlitzAyuda
Stars:1
Forks:0
Commits:0
Issues:0
Size:143 KB
License:None
git log --stat
Recent Activity:
Created:Nov 22, 2025
Updated:Jul 21, 2026
Last Push:Nov 23, 2025
Languages:
Solidity:80.9%
TypeScript:16.6%
CSS:2.0%
JavaScript:0.5%
git log --oneline -5
9b34e75
update readme
0xAkutiNov 23, 2025
099997a
Create package-lock.json
vonMangoldtNov 23, 2025
45c24ec
Update SOSButton.tsx
vonMangoldtNov 23, 2025
1584db3
Create route.ts
vonMangoldtNov 23, 2025
5e4b9f1
commented out already set stuff
vonMangoldtNov 23, 2025
README.md

SOS NOT SUS - A Cross-Chain Wallet Escape Button 🆘

Winner at ETHGlobal Buenos Aires 2025

  • 🥇 Zircuit - Best use of Account Abstraction (1st place)

Overview

We built SOS NOT SUS at ETHGlobal Buenos Aires as an emergency escape button for crypto wallets. You set up a safe destination and a separate trigger wallet in advance. A single trigger then starts moving your configured assets across chains to that safe address.

For the demo, we used a Degen1-style hardware gadget so you could activate the escape discreetly if someone threatened you or tried to take control of your wallet.

The Problem

Moving assets manually means switching networks, selecting tokens, and signing multiple transactions. In an emergency, there may be little time to do that. With SOS NOT SUS, you choose the trigger wallet, safe address, chains, and tokens during setup, so those decisions are already made when you need to act.

Key Features

  • Separate trigger wallet: A designated account can initiate the escape mechanism on behalf of the protected wallet.
  • Fixed safe destination: The delegation is restricted to transfers toward the configured safe wallet.
  • Coordinated execution: Zircuit initiates the cross-chain flow through LayerZero.
  • Hardware trigger: Start the escape from a physical gadget without navigating a wallet interface.
  • Cross-chain tracking: Follow the messages and transfers on LayerZero Scan.

Technical Architecture

EIP-7702 Delegation

We extended MetaMask's EIP-7702 delegation flow to give the trigger wallet one restricted action: initiate asset transfers to the safe destination. The protected wallet, trigger wallet, and receiving wallet each have a separate role.

LayerZero Messaging

An OApp on Zircuit batches messages for the destination networks, Base and Arbitrum in our demo. A destination OApp receives the message and initiates an lzCompose call to a Composer contract. The Composer extracts the original sender and invokes that wallet's delegation to perform the transfer.

Emergency Flow

  1. Configure the safe address and trigger authority before an emergency.
  2. Activate the hardware trigger to start the transaction on Zircuit.
  3. Send the corresponding LayerZero messages to the configured destination chains.
  4. Execute each destination's delegated transfer flow.
  5. Inspect the message and transaction progress across the networks.

One trigger starts the flow, with each destination chain executing its own transfers. You can follow a complete run in the example transaction.

Awards & Recognition

We won 1st place in Zircuit's Best use of Account Abstraction track at ETHGlobal Buenos Aires 2025.

Links