Skip to main content

Wallet Management for Game Studios

This guide offers essential tips for secure wallet management in blockchain games. It covers secure processes, example scenarios for wallet setups, and best practices for handling various on-chain operations and funds.
Transaction data encodingTransaction data encoding
💡WHO IS THIS FOR?
Developers deploying smart contracts on zkEVM, and Administrators of on-chain funds and treasuries.

What is Wallet Management?

Developing a blockchain-based game involves managing funds and in-game operations. Key aspects include:

  • Receiving royalties from asset sales
  • Managing game token liquidity pools
  • Minting ERC721 and ERC1155 assets

Why is Secure Wallet Management Important?

Ensuring secure processes for web3 wallets is crucial to protect your funds and avoid hacks that can affect game economics, risking the playability of your game.

💡Beware of Phishing
Never share your private keys or seed phrases with anyone. Immutable will never ask for this information.

How to Ensure Secure Wallet Management

Never Store Private Keys or Seeds

Private keys or seeds should never be stored on your computer as they allow access / recovery of your wallet. Store them securely, and if choose to back them up, using encrypted backups like externally encrypted drives or secure password managers (e.g., 1Password).

Use Hardware Wallets

Hardware wallets enhance security by requiring physical approval for transactions, providing an extra layer of protection for your digital assets. Vendors such as Ledger and Trezor offer reliable hardware wallets for secure cryptocurrency storage. To maintain optimal security, always protect the physical device and regularly audit access to your wallet accounts. Additionally, avoid purchasing second-hand wallets as they may have been compromised or tampered with, posing a significant risk to your funds.

Hardware wallets are highly recommended for storing valuable assets such as prized NFTs or significant amounts of cryptocurrency. Ideally, interactions with hardware wallets should be minimal to maintain their security integrity. Due to their offline nature and requirement for physical interaction, these wallets are often referred to as "cold wallets." While they offer the highest level of security, it's important to note the trade-off: access speeds are slower compared to online wallets, prioritizing protection above convenience.

  • Securely storing large amounts of cryptocurrency
  • Conducting infrequent transactions or executing smart contract operations, such as deployments

Providers:

Use Multi-Signature Wallets

Multisig wallets are smart contract wallets deployed and residing on the blockchain. They require a quorum of approvers before transactions can be executed, enhancing security. These wallets also offer useful features such as setting transaction limits, freezing accounts, whitelisting addresses, and implementing social recovery mechanisms. However, a significant drawback is their susceptibility to vulnerabilities in the underlying smart contract code.

Providers:

Use AWS KMS or Other Cloud KMS Solutions

AWS KMS can generate cryptographic key pairs, specifically private/public key pairs using the ECC_SECG_P256K1 curve, suitable for use on the Ethereum blockchain. Utilizing AWS KMS for signing transactions is recommended for daily operations that prioritize speed over the more time-consuming approval processes associated with hardware wallets or multisig setups. Additionally, AWS KMS ensures that private key material remains unretrievable, adding another layer of security.

Security of AWS KMS is inherently managed through AWS IAM policies, allowing for granular permission controls and audit capabilities. To maintain security, limit access to AWS KMS strictly to individuals and services that genuinely require it.

Providers:

  • AWS Key Management Service
  • GCP Key Management Service
  • Azure Key Vault

Key Usage and Management

Administrative keys for contracts must be distinct and separate from operational keys. Administrator keys should be closely safeguarded and exclusively used for administrative functions. In contrast, operational keys, such as those employed in minting in-game assets, should be entirely separate. This distinction is crucial because operational keys often reside in less secure environments than administrative keys, increasing the risk of compromise.

Example Scenarios for Wallet Usage

ScenarioRecommended Wallet
Treasury wallet storing majority of fundsMultisig wallet (3 out of 5 quorum)
Programmatic signerAWS KMS or similar provider
Deploying smart contracts as adminHardware wallet
Admin functions on smart contractsMultisig wallet (3 out of 5 quorum)
Emergency operations requiring fast SLAsMultisig wallet (2 out of 10 quorum)

Example: Wallet Management and Usage

The following example illustrates a straightforward scenario of a player purchasing an in-game item that could represent an NFT. This example demonstrates the potential execution and transaction flow when utilizing Immutable Products. Of note are the boxes indicating different types of wallets and their respective roles within the system.

  • AWS KMS (Wallet): Signs transactions in the backend. Frequently accessed; stores no funds.
  • Hardware / Multisig Wallet: Receives funds from player purchases.
Select Immutable

Summary

Secure wallet management is essential for blockchain game developers to protect their funds and ensure the integrity of their in-game economies. By following best practices and utilizing secure wallet solutions, developers can safeguard their assets and maintain the trust of their players.

If you need any further assistance or have any questions, please reach out to us on Discord.

💡Beware of Phishing
Never share your private keys or seed phrases with anyone. Immutable will never ask for this information.

Related content