Introducing xRaise Wallet, a native smart contract-based wallet built on account abstraction

xRaise
8 min readJan 5, 2023

--

At xRaise, we recognize that adopting Web3 technology and managing digital assets can be intimidating. That’s why we are dedicated to simplifying the process for businesses, games, apps, and stores to integrate crypto payments and raise funds easily and securely.

If you would like to learn more about our solutions, please review our docs.

However, today we will be talking about the xRaise wallet.

We have created the xRaise wallet to make our services more accessible to those who may not be familiar with cryptocurrency. This native smart contract-based wallet is built on account abstraction and will play a crucial role in the xRaise ecosystem and beyond. By leveraging account abstraction coupled with scalable layer 2 network zkSync, the xRaise wallet aims to revolutionize how crypto payments are made by offering users more convenience, scalability, and security in managing their digital assets.

In this article, we will dive into the features and capabilities of the xRaise wallet.

Managing private keys is hard

Let’s rethink how you manage your wallet right now. When you create a new wallet on Ethereum, you are required to save your private key or seed phrase in a secure location. The private key generates the public key, which is then used to create your wallet address. This wallet address serves as a record in the public ledger where assets such as ETH or tokens like USDT are stored. However, if you lose your private key or seed phrases, you will lose access to your wallet forever, which can be a major problem for regular users. If someone were to steal your private key, they could take all the assets in your wallet.

Unfortunately, even experienced users have fallen victim to attacks, thus it is obvious that we cannot expect newcomers to the crypto ecosystem to maintain their private keys. Even if they momentarily lose access, users must be able to retrieve their wallets.

Web3 UX isn’t great

When users interact with web3 applications such as Uniswap, they must authorize and sign each activity, which can be confusing for regular users. Additionally, the user may need to pay a high fee, potentially around $14, for a token approval transaction on a busy day, in addition to the main exchange transaction. This can be inconvenient for users who need to make frequent daily transactions. Signing each transaction can also disrupt the game user experience, which may explain why we don’t see many games integrating cryptocurrencies. Gamers may want to avoid constantly being interrupted by wallet pop-ups during gameplay. Another issue with EOA (Externally Owned Account) wallets is that they do not support recurring payments or subscriptions for services, as the user would need to approve every transaction in their wallet.

What is account abstraction

Long-standing aspirations of the Ethereum developer community include account abstraction. Account abstraction is a concept in blockchain technology that enables using multiple cryptographic keys to represent a single account. Instead of only being utilized to execute application logic, EVM code would also be used to implement the wallet verification logic like nonces, custom signatures, etc. This opens multiple possibilities for improving wallet UX and managing access for regular users.

What is under the hood

Instead of storing your balances directly on your address with a private key, you can use account abstraction to store them on a virtual account, which is a smart contract. When you create a wallet, a smart contract will be deployed to act as your account. This smart contract can be programmed to verify your identity before allowing transactions to be processed. You can register your Webauthn public key and provide the address of your local key pair to trusted parties for this purpose. If you want to connect a second device to your account, you can register its internal keypair address with the appropriate permissions, allowing it to access your funds. This process can be streamlined by using a QR code to connect any device easily, and a website session can be created to manage the permissions you choose to provide.

Overall, using a smart contract to manage your balances allows you to have more control over access to your funds and the ability to connect multiple devices to your account easily.

Forget about saving private keys or seed phrases

The user account can validate transactions using various authentication mechanisms, including signature algorithms that verify the user’s identity. One such algorithm is webauthn (https://webauthn.io/), a passwordless authentication or signing algorithm supported by modern browsers. With webauthn, a website can request that the browser create a credential and sign data using it. The browser will then prompt the user for their fingerprint or system PIN code to confirm the signature. This signature can then be verified on the blockchain, allowing users to create a wallet without downloading and installing any additional software.

In addition, this means that users do not have to worry about writing down their private keys on paper, making the process more secure and convenient.

If you want to use a mobile wallet in addition to your in-site wallet, you can easily do so by installing the mobile wallet app and sharing the session from your in-site wallet to the mobile app using a QR code. The mobile app will generate a keypair internally and register its address on the blockchain through your in-site wallet. This allows you to use both wallets seamlessly and easily manage your assets on the go.

Your on-site and mobile wallets will use different signing mechanisms, but your smart contract account will pass both.

Key features of the xRaise wallet:

  • Self-custodial, i.e., each wallet is a smart contract based on account abstraction, user controls access.
  • Subscriptions — users can approve and manage subscriptions to services in cryptocurrencies
  • Cheap and fast transactions, built on zkSync (~0.1$ typical transaction).
  • No seed phrases
  • No ETH is needed to pay commissions;
  • Social recovery technique
  • Pay commissions in USDC/USDT/RAISE.
  • Users can set wallet inheritance (For example, if the wallet is not active for 1/2/3 years, the access will be passed to another wallet set by the user)
  • No extra transactions are needed, like approvals (we aggregate transactions using tx batching).
  • Sessions (Access for certain type of actions for a certain period of time) — Great for games.

FAQ Section

What if I created an account and lost access? All my money is gone?

No. Here, social recovery comes into play. While creating your wallet, you enter your e-mail or other social accounts that will help restore access to your wallet.

You must enter your account into recovery mode if you lose your wallet access. For security reasons, access to your account will be blocked for two days. For this period, the recovery request can be canceled. If it’s not canceled, you must prove your social account’s possession by entering an email code or a Twitter message.

Two days. It’s so long. Can I restore access faster?

You can restore your access faster with the help of your family or friends. You can provide your close friends’ and relatives’ addresses using the xRaise wallet. If you lost your access, you could ask them to approve your wallet recovery in their wallets.

Is social recovery secure? Why can’t you fake my Twitter recovery and take my money?

Social recovery is a widely discussed issue in the community. The discussions got to the point where several independent guards were used. [links, quotes]. With approval from other users, this brings a perfect security level.

You said that my existing account is a smart contract and will be deployed on the blockchain. Who will pay for the deployment?

A paymaster is a concept that was introduced by the ZkSync team. Paymaster is a smart contract or an account with some logic that can pay for the transaction. For instance, you would designate a paymaster to take some USDT from your account, convert it to Ether, and then use this Ether to pay for the transaction if you wanted to pay the transaction fee with tokens such as USDT. Some transactions will be free for users thanks to Paymaster’s ability to accept payments made using its Ether. At the moment, we subsidize the creation of an account. In the future, merchants and game-related projects can pay for user wallet creation transactions if they want to. Also, they can make some contract calls free for users.

Sessions and in-site wallets are fantastic and worthwhile. But if I’m a user or a merchant, what additional benefits will it bring me?

Our primary focus is crypto payments. Consider entering a site like Airbnb and creating an account with your email and fingerprint sensor without leaving the site. Next, you top up your balance using a credit card and get your crypto or USDT. Then you tap the pay button, and that’s it; you’ve booked an apartment! Then you enter Netflix, try to buy a subscription here, tap your fingerprint sensor, and the same wallet with the remaining money is opened.

Crypto subscriptions are one of xRaise’s standout features. Since your wallet is a smart contract, the service can take a fixed amount of money every month. As a result, the subscription model is a modern monetization model used by the most prominent businesses.

In January, we will open a registration form for the xRaise wallet testnet. We heartily encourage Web3 projects to try out our product.

Stay tuned!

Learn More About xRaise on:

website: https://www.xraise.io/

docs: https://docs.xraise.io/

Medium, X(formerly Twitter), Discord

DISCLAIMER

xRaise develops open-source software and self custodial wallet but does not independently provide, manage, or oversee the Protocol or any blockchain network. The Services are created to help users engage more conveniently in-game, dApp services.

xRaise is self-custodial. You will retain full control of the digital assets stored in your wallet at all times, and xRaise will never assume custody of, or exert any control over, those digital assets. xRaise will not have access to, take possession of, or otherwise have the ability to control the digital assets stored in your wallet.

WE DO NOT guarantee any profits or rewards, and any involvement in this project is entirely at the participant’s own risk. Participation in this project is done solely at the discretion of the individual, and any potential risks should be thoroughly evaluated prior to involvement.

Please note that owning and investing in RAISE token does not guarantee rewards, profits, ownership of company shares, or similar benefits. The value of token can be volatile and is subject to market fluctuations, which may lead to partial or total investment losses. We do not guarantee the future value of our token, nor do we provide investment advice or recommendations. Consequently, we strongly recommend conducting your research and assessing your personal risk tolerance before making any investment decisions. Mentions of potential exchange listings are purely hypothetical, and there is no guarantee that they will materialize. All investments inherently involve risk, and individual investments do not ensure actual results or returns. Investors bear sole responsibility for any investment decisions they make.

--

--

xRaise

A smart contract wallet & SDK platform for blockchain gaming.