Architecture
Smart contracts

Smart contracts

Wallet implemented as a Diamond Proxy with facets for each feature. Wallet has the following facets:

  • AccountFacet Verifies passkey signatures, processes paymasters
  • BatchFacet Allows to call multiple contracts in one transaction
  • DeviceConnectFacet Allows to connect or disconnect devices to account
  • DiamondCutFacet Allows to add, remove facets and upgrade the account
  • DiamondLoupeFacet Allows to check current facets for account
  • SessionFacet Allows to create / remove background sessions that confirm transactions in background
  • SocialRecoveryFacet Allows to add guardians, initiate and confirm social recovery
  • SubscriptionFacet Allows to add and remove autopayments that are charged periodically

User wallet contains all the facets and allows to update account facets when update is available. To call the facets you need to call the account address with corresponding ABI


Facets