Account Abstraction for Web3 Gaming
The process of onboarding players to traditional games is generally straightforward. Web2 onboarding makes it convenient for players to utilize their existing social accounts, such as Apple ID or Google logins. These social accounts make single sign-on (SSO) simple to integrate and enable shared progress across multiple devices. For example, when players log in to the Epic Games store, Epic aggregates various accounts such as Google, Apple, and Nintendo, creating a frictionless onboarding flow and a unified player profile. Previously in web3, players were required to install a wallet and securely store their private keys. If players can navigate this process, they are then faced with the additional steps of approving and signing transactions in order to engage with the game itself. This cumbersome process of installing a wallet and managing its private keys can break the immersion in games and harm the overall experience as it adds unnecessary friction within the onboarding process.
In order for web3 gaming to achieve widespread adoption, it’s paramount to provide a user experience that is similar to that of web2. A wallet experience should not take away from 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 $20M-$40M in venture funding looking to provide a solution to this problem space and the recent implementation of Ethereum ERC-4337 has made it possible to offer “web2-like” user experiences, granting developers more flexibility and a modular solution to account management.
Before diving into what makes account abstraction special, it’s essential to understand the different account types Ethereum offers and how they differ. Ethereum has two account types: Externally-Owned Accounts (EOA), controlled by anyone with the private key; and Smart Contract Accounts (SCA), a smart contract deployed to the network and controlled by code.
Account abstraction is the idea of replacing the pre-defined, one size fits all account type (EOA) with a single dynamic solution (SCA). Traditional EOAs such as MetaMask andRainbow can only perform predefined actions such as originating transactions, therefore limiting functionality. This is partially why you look at most live “crypto” games and see they are mainly idle/strategy games (e.g. DFK, Wolf Game, early Treasure games). Typical web3 game loops look something like this:
Player wants to spend x resource to craft y tool, the player selects the tool, the player approves a transaction to allow the spending of x resource, the player then signs another transaction initiating the crafting, 3 pop-ups later, the player finally receives their tool.
Leaving the player with a problematic experience. Smart Contract Accounts allow for improved user experiences and upgradable feature sets. Before ERC-4337, few projects utilized smart contract accounts (Argent, Safe), and most alternative solutions required significant protocol changes. ERC-4337 moves Ethereum’s verification logic into the EVM and allows smart contracts to originate transactions rather than traditional EOAs.
So how do smart contract accounts improve web3 gaming?
Account abstraction enables onboarding flows on par with that of web2. This approach grants developers the flexibility and control they need to create unique and personalized gaming experiences. Although many of today’s solutions offer very similar feature sets, here are a few must-have features:
Session Keys and Sponsored Transactions: Session keys are used to send transactions from a game on behalf of a player without requiring a wallet confirmation, and sponsored transactions allow game developers and ecosystems to subsidize player transaction costs. Additionally, Sponsored transactions allow the developer to specify which token is used for transaction fees (e.g. $AXS, $USDC). Many account abstraction SDKs offer this as a bundled service, but as ERC-4337 becomes commoditized over time, more teams will opt to build this in-house for a more “form-fit” solution. For example, the on-chain game “The Citadel” recently teased its experimental session keys and Proof of Play, creators of Pirate Nation, released their initial vertical slice with this functionality. So what does this look like in practice? Proof of Play creates a burner / secondary wallet for each user when they initially log in, this wallet is custodial and stored in a user’s browser storage. The burner wallet grants Proof of Play the right to pay for their user’s transactions. This means that assets are never transferred out of your secure wallet, and items earned in-game are automatically sent to your secure wallet.
Customizability: Game devs want 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 consist of pixel art!
Bundled transactions: Bundle transactions (multicalls) with one another to optimize gas and UX. Buying NFTs 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 once.
Social Recovery and Social Login: Social recovery methods allow players to recover their funds without sacrificing self-custody. Argent pioneered social recovery in 2018, allowing users to recover their accounts through trusted friends or family members. Social login allows players to sign on via their various existing social media accounts. Social login eliminates the need for players to remember multiple usernames and passwords or secure their private keys, making the login process efficient and user-friendly.
Delegate Access: A “Delegate wallet” is a smart contract account tied to a user’s cold wallet. Players sign once and authorize the account to act on their behalf without the risk of losing precious NFTs. Solutions such as Delegate.cash are gaining significant usage from NFT collectors who want a safer way to interact with various smart contracts. It’s only a matter of time before this is adopted by game companies looking to protect players’ assets. Liquid delegates are a fairly new concept and wrap delegation rights into an NFT. Liquid delegates are being used in gaming today. For example, Bored Ape holders are using liquid delegates to rent or grant access to their sewer passes which are used to play the endless runner Dookie Dash.
It’s worth noting that many existing solutions don’t just offer these features individually, but rather as a bundle. Service providers are striving to offer the best and most comprehensive, one-stop solution. While the above features can be considered “must have”, here are additional features to consider when looking for the most comprehensive solution.
Fiat On/Off-ramp: Previously, transferring funds to a non-custodial wallet has been cumbersome, often requiring a centralized exchange account just to use the network. This experience is amplified in gaming; anyone with experience playing a web3 game will tell you the pains of having to fund a new wallet specifically for that game. Many account management SDKs now offer third-party solutions, allowing players to easily fund their accounts using Moonpay, Stripe, or Wyre. While most ramping services still lack the seamless experience made possible by Apple Pay, it’s certainly a step in the right direction and prevents player churn at the “funding” stage.
White glove support: Game developers prioritize the availability of reliable support. Game devs want to know they chose a team they can rely on if/when they run into issues. By outsourcing account management, they are outsourcing much of their player’s onboarding experience.
Developer portal and Player Analytics Dashboards: Service providers are striving to deliver the best developer experience. Solutions such as Stardust let developers manage their games from a single dashboard, providing insights on game data and player metrics such as items created and tokens traded. Nefta takes this one step further and aims to bundle its AD SDK alongside its account management services, giving developers deeper insights to engage and monetize their audience.
Thanks for reading part one of Account Abstraction in Gaming. In part two, we’ll delve deeper into the topic by examining specific players in the industry and analyzing how they differentiate from one another. We’ll take a closer look at the various features and benefits offered by each, and explore how they are being used to enhance gaming in web3.
Additionally, I’d like to thank Philip Bankier, Alex Wettermann, Alex Lin, Cory Ross, Kevin Eun, Anthony Cheng and Carl Hua for providing input and reviewing my many drafts.
The opinions and ideas expressed in this article are solely those of the author and do not represent the official stance or views of any employer, past or present.
This post is for informational purposes only and does not constitute (i) an offer to sell or purchase any security or investment product or service, (ii) investment, legal, business or tax advice, or (iii) a basis for making any investment decision. Before making any investment decisions, it is strongly recommended you consult with a licensed financial advisor who can assess your specific investment needs and objectives. Accessing this post or any of its links or resources does not establish any form of relationship between the reader and Shima Capital Management LLC or its affiliates (“Shima Capital”). Any opinions expressed in this post are those of the individual author(s) and may not reflect the views of Shima Capital. No representations or warranties are made as to the accuracy, completeness, reliability, or suitability of the information provided. All information is subject to change without notice and may not be updated. All forward-looking statements are based upon assumptions that may not prove to be correct.
Welcome to P2E GAME
Hearing the echoes from Metaverse.