Custody for Web3 Gaming

Joan Alavedra
Group 289.svg

The terms self-custody, custodial, non-custodial, and others alike are casually thrown around in the industry by different products and protocols, leading to misunderstandings and a subsequent erosion of trust. It's high time we address and rectify this issue.

Although terminology aids in streamlining discussions, it can also pave the way for potential abuses, especially if the definitions are not watertight. This is because such ambiguities inevitably impact the trust and expectations of Web3 users.

Web3 gaming, like other verticals, is suffering from the lack of clarification of both terms, and thus we need a better explanation.

The Custodial and Self-Custodial Approach

Starting from the beginning, in crypto, there is a clear distinction between custodial, non-custodial, and self-custodial:

  1. Custodial wallets are managed by a third-party organization, which takes custody of the private keys instead of the crypto owner. This makes them more user-friendly and convenient, as users don't have to worry about managing their private keys. However, this also means that users have to trust the third-party provider with their funds and private keys, which can be a security concern.

  2. Non-Custodial wallets, where the private key is stored in an external database, but can never be executed unless the user authorizes. Unlike custodial solutions, users have more control over their assets, but they still need to trust the third-party provider to some extent.

  3. Self-custodial wallets, on the other hand, give users full ownership of their cryptocurrency and control over their private keys. This provides a higher level of security, as users are responsible for safeguarding their own funds and keys.

How does it apply to Web3 Gaming?

Much of the discussion on how to categorize wallet solutions today revolves around who is storing the keys and who can sign transactions. Broadly speaking, there are two options:

  1. The infrastructural provider, like Openfort, is given the permissions to sign the payload, managing the Key Management System (KMS).
  2. The application or game is given the permissions to sign the payload, taking on the task of managing the KMS.

Regardless of who has access to the keys, both these models can be viewed as managed accounts. Some in the industry may refer to this as a non-custodial approach, emphasizing the fact that they don't have direct access to the keys, despite their crucial role in signing transactions. The most significant distinction between these two options is who ends up managing the KMS.

Custodianship.svg

However, there is also a third category: self-custodial accounts. In this case, users are essentially self-hosting the keys and signing every transaction themselves, rather than having a provider or a game do it on their behalf.

While whether you're hosting the KMS or Openfort is won't affect the player experience, you may wonder what happens with self-custodial players. Traditionally, these users had the worst experience, but at Openfort we solve this with permissions.

While having a third-party custodian sign on your behalf might sound daunting, it's not entirely negative, particularly if you restrict the signature capacity. This is where session keys or temporary keys can play a significant role, offering granular-level permissions and authorization.

At Openfort, we provide the flexibility for games to choose their architecture. Whether you're just starting with a simple approach or scaling to a more complex model, we can support your growth.

More importantly, we enable you to offer consistent player experiences across all types of custodianship. From fully custodial to self-custodial, we strive to offer gasless transactions for your players, and a safe transfer of ownership that doesn't expose private keys.

Which Key Management System (KMS) Should You Choose?

When choosing how to manage the private key of newly created smart wallets, you need to think about the risk/cost of handling the keys of those wallets. Considering the valeu inside wallets and the cost of managing private keys should be two of the most relevant variables.

For gaming beginners, a custodial wallet might sound like the comfortable option in the short term. However, if you wish to bet in the long term usability of your game assets as well as avoiding compliance in different parts of the worlds, you might want to offer non-custodial to progressive self-custody.

CustodialShared-Custody/Non-CustodialSelf-Custodial
KMS HostedClient DB or 3rd-party KMS3rd-party KMS or MPCNA
Private Key VisibilityEncryptedEncryptedOnly owner
Private Key ControlCon execute anytimeCan't execute without ownerNA (Session keys)
Private Key Recovery3rd party3rd party or MPCSocial recovery (Guardians)

We believe the best approach is having a flexible ownership model that offers a standardized player experience across the different types of ownership models. That’s why regardless whether you decide to split the private key into 3 shards with TSS, use our (or your) own KMS, or onboard users with recoverable self-custodial accounts, we'll offer your players an outstanding experience across the board with the best security and cast guarantees in the market.

If you have more questions/ideas/queries, join our Developer Discord and let us know there. Furthermore, you can follow us on Twitter for our updates as we keep shipping.