Breaking Down the Permission Layer
How Wallet Abstraction Transforms User Experience in a Multi-Chain World
Today, we will be diving into the permissions layer of chain abstraction, and explore how wallet abstraction enables a “one account, one balance” future.
Before we begin, however, we want to thank our partners, Particle Network and Everclear for helping us put this series together, and making it all possible.
As Liam mentioned in the first article of this series, Chain Abstraction is a vision for “a future where using blockchains requires no additional attention towards blockchains themselves or their UX frustrations”.
Essentially, this means that as a user you shouldn't have to worry about all the intricacies involved in interacting with blockchains (managing multiple wallets, gas fee tokens, etc.). All the information about the chain is abstracted from you, the user, by default; simply use applications.
Ultimately, the goal is for the blockchain experience to feel more like the traditional internet, where we can just travel from app to app without any user friction. Think about your everyday experience with the internet - when you go buy some shoes at Nike.com, you don’t sit there and wonder which cloud service the site is using. You just visit the site and buy some shoes.
However, this is not the case in the current crypto world, not necessarily because you’d want to know (although yes, many of us do), but more so because you have to know.
Let’s take a look at today’s web3 experience. Let’s say you’re a Polygon user that just heard about this cool new NFT launch taking place on the Base network.
First, you find a bridge to take your MATIC from Polygon to Ethereum
Once you receive your MATIC on Ethereum, you must go to a DEX (Uniswap, for example) and swap your MATIC for ETH.
Then, you need to make sure you add the Base network to your wallet. (you originally only. had Polygon connected)
Once you add Base to your wallet, you find and use a bridge to get your ETH from Ethereum to the Base network.
After successfully bridging ETH to BaseOnce on Base, you can visit the site to mint the NFT.
Okay, finally you’re done - but that was a lot of steps (and we skipped over so many!).
Now let’s extrapolate this to +1000 chains, which is what this modular revolution is heading towards, and things start getting crazy and unrealistic. Not at all suitable for general users.
Because of this experience, web3 has ended up producing siloes of users within every blockchain. The significant friction attached to moving funds across chains means users remain isolated in specific ecosystems, reducing incentives for true innovation, and new users face significant barriers-to-entry when entering the space.
This is where Chain Abstraction comes in.
Ideally, you shouldn’t have to go through all those steps. You should only have to download a wallet once, without worrying about connecting to a specific network that the dapp you want to use is deployed on, and you should only have to fund it once, while using any asset you have for gas fees. In essence, just fund a wallet and use applications; nothing more beyond this, only one step for end-users.
This is the promise of chain abstraction.
But as mentioned in our previous post from this series, chain abstraction is not one single product or solution, it’s a culmination of teams working together to achieve this experience.
Chain abstraction simplifies the interaction between users and multiple blockchains by creating layers that manage the complexity behind the scenes. It decouples user experiences and applications from the underlying infrastructure, enabling a seamless and user-friendly interface across different blockchain networks. In this modular blockchain future we’re heading towards, which will yield thousands of new chains, chain abstraction ensures that users can interact with these diverse ecosystems without needing to understand or manage the complexities involved.
The web3 experience starts feeling like, well, the traditional internet experience we’re all used to.
As mentioned, this vision for a chain abstracted world requires multiple teams working together across different layers - each layer solving a different problem, but together achieving this end-goal of a chain abstracted state.
That said, there are different ways these layers have been expressed:
The Chain Abstraction Stack, by Everclear (previously Connext), focusing on an intent-centric approach to chain abstraction.
The Multi-Layer Framework, by Particle Network, categorizing chain abstraction solutions through three interoperable layers.
& The CAKE Framework, by Frontier Research, providing a comprehensive mechanism of categorizing and understanding the granular technologies that compose chain abstraction.
As Tabasco from Particle Network told me: “we don't really see these frameworks as competing necessarily, just expressing different degrees of granularity basically”.
For the sake of this series, we will be using the CAKE framework as our reference in distinguishing between layers.
Image Source: Frontier Research
Each of the next few weeks, we will be focusing on different layers of the CAKE framework, starting here, with the Permission Layer (known as the Account Layer on the other two frameworks), a key component of chain abstraction that governs how users interact with dapps and blockchain networks.
Specifically, we will explore the crucial elements that make up the permission layer (The sub-layers within the layers, if you will). We’ll touch on account abstraction, wallet abstraction, intents, and orchestration. Together, these components allow us to get to a “one wallet, one account” future.
Okay, let’s dive in.
What Is the Permission Layer
The Permission Layer sits as the top layer of the CAKE stack, serving as the interface between users and blockchains. This is the layer where a user interacts with a dapp by connecting their wallet and requesting a specific outcome, or “intent”. Essentially, this is the layer in charge of abstracting all the technical complexities away from end-users, ensuring a seamless user experience.
At its core, the Permission Layer abstracts the intricacies of blockchain interactions by managing user intents—whether these are transactions, staking operations, or other blockchain-related activities—and ensuring they are executed securely, accurately, and efficiently.
Now, let’s take a look at account abstraction and intents to see how these technologies enable a wallet abstracted future.
Account Abstraction
Image Source: Four Pillars
Generally speaking, there are two types of blockchain accounts: Externally Owned Accounts (EOAs), and Contract Accounts. (although we should mention that OneBalance has unveiled a new account type recently, dubbed, “credible accounts”).
Traditionally, we’re accustomed to utilizing EOAs - this is what Metamask, Phantom, and most of the early wallets are. However, EOAs are limited in functionality to basic operations like initiating a transaction and interacting with smart contracts. Moreover, EOAs are tied to a single key pair (public & private key), meaning that if you lose access to the private key, you essentially lose access to the account.
Up until recently, with the rise of ERC-4337, EOAs were the only way to interact and sign transactions on Ethereum - ERC-4337 was not the first standard aiming to bring Account Abstraction to Ethereum, but it is the most accepted, as of today.
Enter smart contract wallets, which are enabled by contract accounts.
Contract accounts are what brings account abstraction to users. Contract accounts are managed by smart contract code, meaning that the behavior of the account is controlled by arbitrary custom logic. Put simply, this changes the wallet experience from a one size fits all model, to a model more custom suited to your own preferences, whether looking at security, execution, or any other parameter.
Let’s look at some of the benefits of Account Abstraction.
The benefits of account abstraction span across three different use-cases:
Signature Abstraction: As you know, every transaction you want to submit on a given network, requires you to provide a signature, which is traditionally done using a private key - meaning whoever controls this private key has access to the funds within a given account. With signature abstraction, users are able to define custom authorization rules, such as: transaction limits, multi-part approvals, social recovery, and freezing of funds.
Fee Abstraction: This enables users to pay gas fees using any token, as well as enabling teams to remove gas fees from their apps altogether - the fee is still paid, but the teams themselves sponsor the costs, using a “Paymaster” contract, which is part of the account abstraction model.
Nonce Abstraction (Batching): Typically, when making a simple swap, you must (1) approve the transaction, and (2) execute the transaction. Rather than splitting this swap into two separate transactions, they can be batched into a single one (approve and execute a swap in one go).
Again, because the account itself is a smart contract, a developer can program any sort of logic in there.
Intents
As Particle Network stated in a previous article, there hasn’t been an “a-Ha” moment for Account Abstraction yet because it only covers half of the equation.
“Account Abstraction has optimized the user experience from onboarding to expression, while still not addressing the path from expression to outcome.”
In other words, Account Abstraction has made it easier for users to enter the world of web3 and manage the complexity around owning an account, however, the user must still manage every single onchain operation they’d like to achieve - and now imagine wanting to perform a cross-chain operation - things get more complicated.
This is where intents come in.
Intents are exactly as they sound - referring to the intentions, or actions that the user wants to perform onchain, such as sending tokens, staking, or bridging. More specifically, an intent refers to the desired outcome a user wants, rather than the route that it takes to get there. This switches the perspective from transaction-based to demand-based.
The Permission Layer takes these high-level intents and translates them into executable instructions that the blockchain can process.
Let’s take a look at an example.
Traditional Transaction Approach: Imagine you want to swap 100 DAI (a stablecoin) for ETH on a DEX like Uniswap. Traditionally, you might execute this transaction by specifying the exact DEX and parameters (e.g., "I want to swap 100 DAI for ETH on Uniswap with a slippage tolerance of 0.5%"). This approach focuses on the transaction details, requiring you to choose the platform and parameters manually.
Intent-Centric Approach: However, your real intent might be broader: "I want to swap 100 DAI for the maximum amount of ETH possible at the lowest possible cost." The specific choice of DEX, the gas fees, and slippage parameters are not your primary concern. Instead, your intent is to achieve the best value for your DAI.
In an intent-centric design, the system would interpret your intent and automatically route your transaction through the optimal path—whether it's using a different DEX, aggregating liquidity across multiple platforms, or even splitting the swap across several transactions to minimize slippage and fees. As mentioned, the focus shifts from specifying the steps to defining the desired outcome.
This approach allows users to focus on their true objectives rather than getting bogged down by the intricacies of individual transactions. It also makes the ecosystem more accessible to non-experts who may not be familiar with the best platforms or strategies to achieve their goals.
Wallet Abstraction
So where does the term “wallet abstraction” come in?
Wallet abstraction aims to simplify the user experience by consolidating all blockchain interactions into a single interface, allowing users to interact with multiple chains and handle complex transactions effortlessly.
Wallet abstraction builds on the previous concepts (account abstraction & intents) to create a unified wallet experience that abstracts away the complexities of managing multiple keys, accounts, balances, and gas tokens across different blockchains.
Wallet abstraction primarily addresses state/balance fragmentation, allowing an account to have a consistent balance across all chains, eliminating the need for manually bridging between balance states (chains).
The goal is to create a “one account” future where users can interact with the entire blockchain ecosystem seamlessly.
Unified Balance Management: Wallet abstraction enables a single account to manage balances and transactions across multiple chains. Users no longer need to manually bridge assets or manage multiple accounts for different chains. The wallet interface provides a unified view of all balances, making interactions with various blockchains seamless and intuitive.
Streamlined Transactions: By abstracting away the complexities of dealing with multiple accounts, users can execute transactions across different chains from one interface. This reduces the friction involved in cross-chain interactions and promotes greater interoperability within the ecosystem.
Who’s Building This Future?
Arcana Network
Arcana is a modular L1 blockchain that recently unveiled its new vision of creating a chain abstraction protocol aimed at removing the complexities of dealing with multichain assets and gas fees. This enables users to enjoy a smooth multichain experience with just one wallet and one unified balance, without worrying about the specifics of bridging or paying gas fees across multiple chains.
While this vision was just formally unveiled a couple of months ago, Arcana has been building products in the abstraction space for some time now.
Auth SDK: A decentralized solution that enables email and social logins for apps, and instantly generates a secure non-custodial wallet for the user within the app.
Gasless SDK: Leverages account abstraction to allow developers to abstract gas fees from users. In other words, devs can sponsor gas fees making your dapp free for users.
SendIt: A consumer app that enables crypto transfers with just an email.
It’s also important to clarify how Arcana handles assets and transactions. Arcana does not store user assets. Instead, users always maintain custody of their assets within their wallets, similar to how they would with any Externally Owned Account (EOA) wallet. This approach prioritizes the current landscape where most users interact with EOAs, rather than jumping directly into Smart Contract Accounts, which are still evolving in the Ethereum ecosystem under Account Abstraction.
At the heart of Arcana’s solution is a:
Modular Cosmos based L1 that verifies user intents and acts as a state machine that is used as a basis for any reconciliation amongst users or solvers/fillers.
MPC (Multi-Party Computation) network, which ensures secure, distributed signing for solver settlements and rebalancing.
The various activities that the Arcana Chain Abstraction protocol undertakes include:
Intent Initiation: When a user expresses an intent, such as moving funds or interacting with a dApp, the funds from the user’s source chains (wherever they hold assets) are temporarily pooled into Arcana Vaults.
Solvers/Fillers Fulfillment: Solvers and fillers then fulfill the user’s intent on the destination chain. These entities ensure the user’s action is completed without requiring the user to bridge assets or interact with multiple chains manually.
MPC Network Validation: After the user's intent is fulfilled, Arcana’s MPC network operates to ensure that the solver or filler who completed the task is entitled to the appropriate settlement. This requires a distributed consensus from the nodes in the network.
Threshold Sign-Off: The MPC succeeds when a threshold number of nodes sign off on the validity of the intent, confirming that the solver/filler indeed completed the task correctly.
Vault Settlement: Once validated, the Arcana Vaults verify the signatures from the MPC network and proceed to settle the funds with the solvers/fillers, completing the process.
Here’s an actual demo showcasing Arcana’s chain abstraction suite.
In this demo, we can see a chain abstracted app in practice - Aave.
Traditionally, when using an dapp like Aave, the user must choose which network they’d like to use Aave from - the lending dapp is connected to several chains, each with their own markets and yield. Add chain abstraction to the mix and the user is presented with all markets, across all chains, under one single interface.
Arcana’s wallet presents the user with an aggregate balance of assets held across various chains. For example, I may have 5 USDC on Ethereum, Arbitrum, and Polygon each, but on my Arcana wallet, I only see a unified balance of 15 USDC. Again, no bridging involved at all.
This ultimately leads to a better developer experience, as you would no longer need to worry about re-deploying your app across each chain you want to steal users from. Instead, you can deploy your app once on top of Arcana’s L1, and automatically be connected with users (& apps) from the rest of the Arcana-supported networks.
Particle Network:
Particle Network is at the forefront of chain abstraction with Universal Accounts, designed to simply provide users with a single account and balance usable across any chain. Through Universal Accounts, Particle Network eliminates the need for manual management of assets across different chains; forget bridging or trying to remember what chains you hold funds on. Their stack offers three key functionalities: Universal Accounts, Universal Liquidity, and Universal Gas. Universal Accounts streamline user access by consolidating multiple blockchain identities into one, while Universal Liquidity and Universal Gas facilitate seamless cross-chain transactions and payments without the hassle of manual conversions. Essentially, use funds from any chain to pay for transactions and their associated gas fees.
Here’s a demo showcasing Particle Network in action.
Let’s walk through an example of what Universal Accounts look like in implementation:
Alice discovers a Play-to-Earn dApp. The dApp is hosted on Arbitrum and leverages Particle Network’s Universal SDK to enable Universal Accounts.
Alice starts using the dApp. The assets in her wallet (Polygon-native) are used for basic dApp interactions. Bridging is automatic, executed atomically as she interacts.
After playing for a bit, Alice earns some tokens. She uses them to buy an NFT for her friend Bob’s birthday. Unbeknownst to her, the NFT is hosted on Optimism. She can seamlessly send it to Bob’s Universal Account. Importantly, throughout her whole experience, Alice has only used a single gas token.
Bob decides to take a loan against the NFT on Solana and use the proceeds to buy a meme Bitcoin Ordinal. He does this in just a few clicks within a few minutes, all through the same account.
Just use applications, forget the underlying chains they use; this is essentially what Universal Accounts enable.
Backing Universal Accounts, Particle Network's architecture leverages a Layer-1 blockchain responsible for coordination and settlement of cross-chain transactions on external chains (powering the aforementioned properties of Universal Gas and Universal Liquidity).
Capsule:
Capsule is an embedded wallet service that is already being used by teams like Hedgehog, a registered investment advisor that helps bring tradfi practices to defi. Hedgehog utilized Capsule’s self-custodial wallet infrastructure to offer their users non-custodial storage of digital assets that met a security standard specific to their offering. Capsule uses Distributed Multi Party Computation to ensure user funds are never stored in one single place, allowing Hedgehog to transact across any EVM or ECDSA compatible chain. Capsule enables customized authentication methods such as biometrics, email, or socials, they offer wallets recoverability. Moreover, Capsule offers advanced automation features that enhance functionality for users like Hedgehog by enabling secure automations such as portfolio rebalancing and flexible permissioning for wallet access.
OneBalance:
OneBalance addresses the complexities of managing digital assets across multiple blockchains by offering a unified solution for users through its "Credible Accounts" system. These accounts consolidate a user's assets, making it easier to manage funds across various chains without needing multiple wallets. The Credible Accounts are designed to ensure secure and efficient transactions, with a focus on trust and reliability. OneBalance also introduces a mechanism known as "Resource Locks," which enhances transaction security by temporarily locking a portion of the user's assets as collateral during the transaction process. This ensures that transactions are completed smoothly and reduces the risk of failed or fraudulent transactions - this is great news if you’re a solver.
Xion:
XION is an L1 blockchain purpose built for consumer adoption through chain abstraction. The majority of chain abstraction protocols focus mostly on chain/rollup interoperability issues while XION is taking a different route by building an L1 that utilizes full protocol-level abstractions to tackle both app distribution and interop fragmentation issues. It enables developers to build consumer-ready applications (tackling distribution issues) and extends its seamless UX to unify users, liquidity, and enable composable apps across ecosystems (tackling fragmentation issues). From a user perspective this means utilizing familiar login methods such as email, Web2-like transacting with just a click, no plugins, no seed phrases, no gas fee complexities, and ability to interact across all devices.
Wrapping Up
In essence, the Permission Layer simplifies the user experience by abstracting away the technical details of blockchain interactions. It manages the complexities of blockchain operations behind the scenes, allowing users to interact with dapps as easily as they would with traditional web applications. This is a fundamental step towards achieving the vision of chain abstraction, where users no longer need to worry about the underlying blockchain infrastructure - they simply interact with the services they want to use.
& a huge thank you to our two additional partners who helped us craft this series: Arcana Network, and Nuffle Labs.