Fusionist
Behind the Code

OP Endurance has its first AA Wallet: Up Wallet

If you’ve read our previous articles, you should have a general idea of what our team has accomplished since its inception:

  1. We are developing the company’s first AAA Gamefi, named Fusionist1.
  2. Next, we established our own L1 chain called Endurance. We also gradually released our native currency, ACE, on our website through gamified methods, attracting early users.
  3. With the proliferation of L2 technology, we believe that the time is becoming ripe for a closer integration between the blockchain and games. To explore the future of onchain games, we introduced the Rollup L2 for Endurance — OP Endurance.

By now, you can tell that we are a company dedicated to blockchain gaming. One of the biggest obstacles in the blockchain gaming experience is the wallet. Users despise:

  1. Paying transaction fees for on-chain interactions within the game.
  2. Continuously confirming these interactions in a pop-up wallet interface.
  3. Game wallets that either hold the assets for the player (custodial) or don’t (non-custodial), but aren’t self-custody.

Our solution is the Up Wallet, an Account Abstraction Wallet that adopts the EIP-4337 standard.

Thanks to the advantage of coming later, we didn’t adopt some of the “older technologies” to address this issue. For instance, the well-known Meta Transactions (ERC-2771) approach. Before EIP-4337 became the de facto standard, I could understand the necessity of the Relayer solution. For example, the onchain game Pirate Nation used it as their own Game Wallet solution. However, by Q3 of 2023, there’s no reason for us to not adopt EIP-4337 fully.

However, to be fair, the AA Wallet is not a silver bullet; it can’t solve every problem. Below, I’ll list all the drawbacks I can think of, as well as how we skillfully circumvent them (what’s left are just the pros :-P).

Traditional Drawbacks of AA Wallets

  1. Expensive Transaction Gas Fees. Fundamentally, the AA Wallet is a smart contract wallet. Thus, it carries the most significant drawback of smart contract wallets: they are costly. For example, on Ethereum, the fees for these two nearly simultaneous transactions, Transaction A and Transaction B, differ by about $2.00 USD!
  2. Wallet Creation is Expensive! Compared to EOA wallets, there’s an additional deployment cost. What’s worse, if you need to create wallets on N chains, you’ll have to deploy N times, incurring N sets of transaction fees.
  3. You can’t directly view your AA Wallet on traditional mobile wallets like Metamask/TrustWallet. Since it’s not an EOA wallet but a smart contract wallet, it’s just like all smart contract wallets (like Safe Wallet). To use it conveniently, you’d need to install the official app of the wallet. Of course, just like all smart contract wallets, you can choose to use it directly through your script command line, especially if the official app becomes unavailable.

How Do Our Up Wallet Skillfully Circumvent These Issues?

  • The way Transaction fees are calculated on L2 is entirely different from L1, making the above mentioned 1st and 2nd disadvantages less prominent. The gas fee difference between “Contract Wallet VS EOA Wallet” has been substantially reduced. For instance, on the Optimistic chain, the fee difference between these two transactions has shrunk to just $0.18. Furthermore, with proposals like EIP-4844 aiming to optimize DA storage costs, this difference on L2 will further diminish (this also explains why the AA Wallet’s most widespread use cases are on L2 chains).
  • While we need an additional Frontend UI to interact with the AA Wallet, our users are already accustomed to interacting daily on our official portal ace.fusionst.io. So adding an wallet page isn’t a significant hurdle for them.

Additional Advantages of Up Wallet

Since this is a technical blog, I presume the readers are already somewhat familiar with the benefits of EIP-4337. Therefore, we won’t emphasize the general theoretical advantages but will focus on Up Wallet’s unique benefits:

  • The official Paymaster is sustainable, not a short-term loss-leading subsidy! Up Wallet isn’t just another VC-driven wallet tech solutionᵀᴹ; it’s an official wallet under the Fusionist brand. The Fusionist company also owns its own L1 chain, Endurance, as well as its L2 chains (like the current OP Endurance and the future ZK Endurance), along with numerous upcoming onchain games set to launch on these L2 chains (even the main parts of the Fusionist game, Game1/Game2, are in the works). All of these games conveniently require the Up Wallet. This forms a comprehensive ecosystem where any loss from the wallet’s transaction fees is balanced out by profits elsewhere in the ecosystem.
  • In-game interactions without pop-ups! As is well-known, AA Wallets can support a plethora of selectable extended features. Our Up Wallet has incorporated one of the most significant game experience enhancing features: the Session Key. This allows the wallet to claim in-game assets during the gaming process without any pop-ups, all while maintaining self-custody.

Additional Technical Details

During the development of Up Wallet, we didn’t aim to reinvent the wheel.

  • For the smart contract section, we are currently utilizing ZeroDev’s Kernel library. What we value are its performance, its code extensibility, and the developer’s enthusiasm towards its development. Moreover, although we did not opt for it, the contracts from the Openfort company are also outstanding. They are a small game wallet startup, and we wish them luck.
  • For the Bundler section, we chose to use the Alto Bundler open-sourced by Pimlico, the most used provider on the Optimistic Mainnet.
  • In the Paymaster RPC segment, we carried out secondary development based on Candide’s code to satisfy our specific logical requirements.

Without their open-source code, it would have been impossible for our few programmers to fill this gap in the Fusionist ecosystem in such a short time. We are grateful to them, and as promised, we’ll strive to make all our source code as open as possible.

FAQ

  • Where can I test and experience the complete workflow of Up Wallet?
    • We have currently launched a casual game as a showcase on the OP Endurance testnet, where Up Wallet is fully integrated. Users can log in to the game to experience it. Please stay tuned for updates on our official Twitter/Discord channels.
  • What’s the future technical roadmap for Up Wallet?
    • We plan to develop versions for Android and iOS.
    • If we receive a lot of positive feedback, we will strive to make it more versatile and package it into a blockchain game wallet SDK, which will be open-sourced for game developers on other chains.
  • I have a better suggestion/idea/solution, can I…
    • Absolutely! The positioning of Up Wallet within the Endurance ecosystem is merely as an official wallet. If other wallet developers are interested in our ecosystem, we warmly welcome you to join us!

  1. Although it can be confusing, “Fusionist” is both the name of our company’s first AAA game and the name of our company. ↩︎

Update: 2023-09-19
Tags: