The recent implementation of Ethereum ERC-4337 enables Web3 to provide a user experience similar to Web2, providing developers with a more flexible and modular account management solution.

 

Written by Jack, Shima Capital

Compiled by: angelilu, Foresight News

 

The process of getting players into a traditional game is usually simple. In Web2, players can conveniently log into the game using their existing social accounts, such as Apple ID or Google. These social accounts make single sign-on (SSO) easy to integrate and enable sharing of progress across multiple devices. For example, when a player logs into the Epic Games Store, Epic aggregates accounts from Google, Apple, and Nintendo to create a smooth engagement process and a unified player profile. Previously in Web3, players needed to install a wallet and store their private keys securely. If players can figure out the process, they'll also face the additional step of approving and signing the transaction before they can start playing the game. The tedious process of installing a wallet and managing its private keys can break the immersion of the game and hurt the overall experience, as it adds unnecessary friction during the onboarding process.

 

In order for Web3 games to gain widespread adoption, it is critical to provide a user experience similar to Web2. The wallet experience should not affect the game itself, and in most cases, players should not even know they have a wallet! Throughout 2021 and 2022, companies such as Venly, Sequence, and Stardust raised $20 million to $40 million in venture funding in hopes of providing solutions to this problem, and the recent implementation of Ethereum ERC-4337 enables Web3 to provide a user experience similar to Web2, providing developers with a more flexible and modular account management solution.

 

Before we dive into what’s special about account abstraction, it’s important to understand the different account types Ethereum provides and how they differ from each other. There are two types of accounts in Ethereum:

 

  • Externally owned accounts (EOA), controlled by anyone with the private key;

  • and Smart Contract Accounts (SCA), a type of smart contract deployed to the network and controlled by code.

 

Account abstraction is the idea of ​​replacing predefined, one-size-fits-all account types (EOAs) with a single dynamic solution (Smart Contract Accounts SCAs). Traditional EOAs like MetaMask and Rainbow can only perform predefined actions, such as initiating transactions, thus limiting functionality. This is part of the reason why when you look at most live "crypto" games you find that they are mostly casual/strategy games (e.g. DFK, Wolf Game, early Treasure games). A typical Web3 game loop looks like this:

 

Player wants to spend x resources to craft y tool, player selects the tool, player approves the transaction to allow x resources to be spent, then player signs another transaction to start crafting, 3 popups later, player finally receives their tool.

 

Source: https://twitter.com/gelatonetwork

 

This cycle will bring a bad experience to users. Smart contract accounts can improve user experience and upgrade functionality. Before ERC-4337, few projects used smart contract accounts (Argent, Safe), and most alternative solutions required major changes to the protocol. ERC-4337 moves Ethereum's verification logic into the EVM and allows smart contracts to initiate transactions without the need for traditional EOA.

 

So how do smart contract accounts improve Web3 gaming?

 

Source: https://twitter.com/Delphi_Digital

 

Account abstraction makes the game onboarding process comparable to that of Web2. This approach gives developers the flexibility and control they need to create unique and personalized gaming experiences. While many solutions today offer very similar functionality, here are some must-have features:

 

Session Keys and Sponsored Transactions: Session keys are used to send transactions from the game on behalf of the player without wallet confirmation, and sponsored transactions allow game developers and the ecosystem to subsidize player transaction costs. Additionally, sponsored transactions allow developers to specify a token (e.g. AXS, USDC) to be used for transaction fees. Many account abstraction SDKs offer this as a bundled service, but as ERC-4337 becomes commoditized over time, more teams will choose to build this functionality in-house for a more “fit” solution. For example, the on-chain game “The Citadel” recently deprecated its experimental session keys, while Proof of Play, the creator of Pirate Nation, released an initial vertical product with this functionality. So what does this look like in practice? Proof of Play creates a secondary wallet for each user when they initially log in, which is escrowed and stored in the user’s browser storage. The secondary wallet grants Proof of Play the right to pay for its users’ transactions. This means that assets are never transferred out of your secure wallet, and items earned in the game are automatically sent to your secure wallet.

 

Customizability: Game developers need customizable wallet interfaces and in-game marketplaces. The wallet and in-game marketplace should blend seamlessly. Ideally, the wallet should be invisible to the player and the marketplace should match the theme and style of the game. If I’m building a pixel art game, the wallet and marketplace should be made of pixel art!

 

Bundled Transactions: Bundle transactions (multiple calls) together to optimize gas and UX. Buying an NFT can be done in one click instead of 3 or 4 clicks! Realms uses bundled transactions to allow players to harvest multiple farms or build multiple buildings at the same time.

 

Social Recovery and Social Login: Social recovery methods allow players to recover funds without sacrificing their right to self-control. Argent pioneered social recovery in 2018, allowing users to recover their accounts through a trusted friend or family member. Social login allows players to log in through their various existing social media accounts. Social login eliminates the need for players to remember multiple usernames and passwords or protect their private keys, making the login process efficient and user-friendly.

 

Delegated Rights: A “delegated wallet” is a smart contract account tied to a user’s cold wallet. Players sign once and authorize an account to delegate without risk of losing their NFTs. Solutions like Delegate.cash are gaining a lot of usage from NFT collectors who want a more secure way to interact with various smart contracts. It’s only a matter of time before gaming companies that want to protect player assets adopt it. Liquid delegation is a fairly new concept that wraps delegation rights into NFTs. Today, Liquid delegates are being used in games. For example, BAYC holders are using Liquid delegates to rent or grant access to their “Sewer Passes”, which are used to play the endless running game Dookie Dash.

 

It is worth noting that many existing solutions do not offer these features individually, but as a bundle. Service providers are striving to provide the best and most comprehensive one-stop solution. While the above features are considered "must haves", the following additional features need to be considered when looking for the most comprehensive solution.

 

Fiat Deposit and Withdrawal: Previously, transferring funds to a non-custodial wallet has been cumbersome, often requiring a centralized exchange account to use the network. This experience issue is amplified in games; anyone who has played a Web3 game knows the pain of having to set up a new wallet specifically for that game. Many account management SDKs now offer third-party solutions that allow players to easily top up their accounts using Moonpay, Stripe, or Wyre. While most upgrade services still lack the seamless experience that Apple Pay brings, it is certainly a step in the right direction to prevent players from losing money at the "funding" stage.

 

Developer portals and player analytics dashboards: Service providers are working hard to provide the best developer experience. Solutions such as Stardust allow developers to manage their games from a single dashboard, providing insights into game data and player metrics such as items created and tokens traded. Nefta goes a step further and aims to bundle its AD SDK with its account management service, providing developers with deeper insights to engage and monetize their audiences.

 

This is the first part of our account abstraction. In part 2, we will dive deeper into the topic by looking at specific players in the industry and analyzing how they differentiate from each other. We will take a closer look at the various features and benefits provided by specific players and explore how they can be used to enhance gaming in Web3.