project screenshot 1
project screenshot 2
project screenshot 3
project screenshot 4

Unify - Make your AA cross-chain

AA is the future of web3 wallets, but they have a big problem. If you have an AA in several networks, they can’t communicate with each other. It's a problem when you want to change ownership or sensitive settings. Unify helps AA projects make their AA cross-chain.

Unify - Make your AA cross-chain

Created At

ETHGlobal Paris

Winner of

❌ Polygon — 🥇 Best LxLy Bridge Extension

Project Description

Account Abstraction is the future of web3 wallets, but they have a big problem. If you have an Account Abstraction in several networks, they can’t communicate with each other. It's a problem when you want to change ownership or sensitive settings. Unify helps Account Abstraction projects make their Account Abstraction cross-chain.

For example, if you have a Gnosis Safe on 5 networks and want to add a new owner to your Safe account, you must send 5 transactions to each chain. If you have a threshold of more than 1, you need 5 times collect signatures and make 5 transactions. And if you make a mistake in any chain, you will have an out-of-sync, and you will need to send a new few transactions to fix it. In bad case for 5 networks, you will need 20 clicks in your UI and 10 transactions to add a new owner.

Unify is the protocol for communications between your Account Abstraction from any network. You can update ownerships or other sensitive settings for all chains with one transaction in L1 without the risk of being out of sync. Unify will make your existing Account Abstraction cross-chain and add more UX to your product.

How it's Made

The idea is to create two types of Account Abstraction—the Main Account Abstraction for L1 and Sub Account Abstraction for L2. You can have more than one L2 for your Account Abstraction. For MVP, we make our solution for Gnosis Safe and PolygonZKEVM. It's good technology because Gnosis Safe is a framework for Account Abstraction, and PolygonZKEVM is zk-rollup with a short sync time with L1. L2 is more secure than Sidechains and other stuff, but this scheme is valid for sidechains too.

We make MVP for PolygonZKEVM and Gnosis Safe. We create two modules for Safe: SenderUnify - this module lives on Ethereum (testnet) and sends information about owners and thresholds from your L1 Safe to other L2s. ReceiverUnify - this module lives on Polygon ZKEVM (it can also live on other L2s) and is responsible for receiving messages from L1 and updating the configuration in Safe existing on PolygonZKEVM.

We use PolygonZKEVM Bridge (LxLy Bridging) to send messages. We focused on L2 because L2 allows you to receive and send messages based on L1 security. It seems to us that the future of scalability is in L2, which means that solutions such as cross-chain AA will gain more momentum. In addition, we believe that the time for bridging data between L1 and L2 will be even shorter.

Technical algorithm:

  1. User change their owners in L1 (Ethereum)
  2. User call sync() in SenderUnifyModule in their Safe
  3. SenderUnifyModule send message to PolygonZKEVM Bridge
  4. PolygonZKEVM Bridge sends a message to ReceiverUnifyModule
  5. ReceiverUnifyModule updates owners/threshold in Safe in L2 (PolygonZKEVM)
  6. Done. Your Safe is synced.

Change of ownership and threshold happen on L1. L2 receives the result of the execution and updates the settings internally. It does not repeat the execution, as it would if you sent transactions to each L2 yourself. Therefore, in our scheme, there is no problem with out-of-sync because the system will come to the same data anyway.

If you had several Safe accounts without Unify, for example, ten L2, you would have done the same number of clicks and transactions. With Unify, one transaction is enough to update the data for all L2.

Please, follow these steps for testing our live MVP:

  1. Create a Safe with owners
  2. Open Custom Apps in your Safe Web Wallet 3.. Enter https://unify-inky.vercel.app/ in the URL for the Safe App
  3. Follow the steps in the Unify Safe App. One step can run up to 5 minutes, so don't turn off the application.
  4. Change owners in Safe Web Wallet
  5. Open the Unify Safe App and call sync. This may take up to 15 minutes.
  6. Finish. Your account is synced.
background image mobile

Join the mailing list

Get the latest news and updates