thirdweb
thirdweb

⌘K

DocsSupport
ManagedAccountFactory

Managed Account Factory

Deploy upgradeable smart wallets for your users, with the ability to push updates to all users.


thirdweb's Managed Account Factory

All of thirdweb’s smart wallets are EIP-4337 smart contract wallets with role based permission control.

App developers can issue smart wallets to their users programmatically by deploying a smart wallet factory.

thirdweb’s smart wallets have the following features by default:

  • Have multiple owners

  • Execute transactions (single and batched).

  • Send and receive native tokens.

  • Send and receive ERC-721 and ERC-1155 NFTs.

  • Multicall-able.

  • Store contract metadata.

Managed smart wallets ( ManagedAccount , ManagedAccountFactory )

The ManagedAccount smart wallet is an upgradeable smart contract written in the dynamic contract pattern.

App developers can issue ManagedAccount smart wallets programmatically by deploying a ManagedAccountFactory smart contract.

The admin of the ManagedAccountFactory contract can push upgrades to all ManagedAccount that it creates. This admin does not require any permissions on the ManagedAccount smart wallets to do so. An upgrade to the features of ManagedAccount applies to all ManagedAccount smart wallets created by the factory. This is the right wallet for developers who anticipate pushing upgrades to their users’ wallets.

Example use case of push upgrades:

An app wants its user wallets to only be able to own NFTs within its ecosystem. This would be an upgrade to the smart wallet contract’s onERC721Received and onERC1155Received transfer hooks.

The app can enforce this behaviour by pushing this upgrade to its user wallets.

Resources

1.5.28 Release Notes


Removed chain restrictions - beware that not all chains are supported by our infra however


DEFAULT_ADMIN_ROLE

(DEFAULT_ADMIN_ROLE)

view

Use this function in your app


import { readContract } from "thirdweb";
const data = await readContract({
contract,
method: "function DEFAULT_ADMIN_ROLE() view returns (bytes32)",
params: []
})

Published by

thirdweb.eth

View all contracts

Details

  • Publish Date

    Jun 17, 2024

  • Audit Report

    View Audit Report

  • Licenses

    Apache-2.0, MIT, GPL-3.0-or-later, GPL-3.0-only


  • Extensions

  • Extension detected

    Permissions


  • Share


    Learn about Publish