The system-wallet protocol
July 12th, 2023

Hi!

Intro

As many of you probably know, I am the lead dev at ethOS, a new crypto native mobile OS. I created the system-level wallet protocol which I will explain here.

The current problem with mobile3

As of right now, many mobile dapps use WalletConnect to let users connect their wallet. I believe that WalletConnect is a nice protocol, if you have your wallet and dapp on seperate devices, but it’s not the best for mobile dapps that want to connect to a local wallet. Reason being, the WalletConnect protocol makes network requests and establishes a connection between the wallet and the dapp (I am over-simplifying). Now that’s fine for two seperate devices, but on mobile it should be faster just by communicating locally with the wallet. Coinbase Wallet uses intent-based communications afaik, which is better because it is local, but it is still wonky and fails sometimes. Truth is, current mobile OS just aren’t built with wallets in mind. That’s the reason we built the system-wallet protocol.

The system-wallet protocol

On Android there are services. Any app can deploy one to do updates in the background or other tasks. These services can get killed by the OS for many reasons, for example high cpu usage. But there is another type of service in the Android world, and that is a system service. The system service is a service dispatched by the OS itself, and it is always on and reachable by design. Any app can connect to a system-service and execute certain methods (As long as the policy allows it). The system-wallet is 2 system-services. One public, and one private system service. These two system services are connected via the SystemUI, where the UI is shown and the user can accept or decline the request.

Why it’s better

No network requests means much faster execution of requests and much better UX. All the communication happens on the device which increases privacy over other protocols.

And now here is the best part, the system-wallet protocol is setup so any other OEM developer can adopt it. It is not ethOS specific, and any Android flavor can add the system-level wallet protocol if they want to. Even base-Android can add it if they want to. Everything is open-source, and it will always be this way. Everyone can inspect the code and add improvements, or add new wallet-methods to the system-level protocol.

Subscribe to mhaas.eth
Receive the latest updates directly to your inbox.
Mint this entry as an NFT to add it to your collection.
Verification
This entry has been permanently stored onchain and signed by its creator.
More from mhaas.eth

Skeleton

Skeleton

Skeleton