Custodial Accounts Transactions
Introduction
Our system differentiates between custodial accounts and non-custodial accounts:
Non-custodial accounts: When users log in using MetaMask, WalletConnect, or Xaman Wallet, they are utilizing non-custodial accounts.
Custodial accounts: When users log in using Google, Facebook, or Email, they are utilizing custodial accounts. These accounts allow us to track and regulate transactions, making it easier for users without web3 wallets to access our system.
Transaction Types
Transactions in our system cover a wide range of web3 transactions, including but not limited to:
Sending ERC20 tokens
Bridging ERC20 tokens
Staking ERC20 tokens
Sending ERC721 NFTs (collectibles)
Bridging ERC721 NFTs (collectibles)
Transaction Process for Custodial Accounts
Custodial account transactions are unique as these users cannot sign transactions using their web3 wallets. To ensure security and align with the characteristics of web3 transactions, we have developed a special application called the Custodial Signer. This application securely handles the transaction signing process by communicating with a server specifically designed to manage custodial account transactions.
Integration Guide
To use custodial accounts to complete transactions, there are two approaches:
Using the React SDK:
This is the simpler method. The React SDK provides a wagmi provider and implements the Futureverse Connector, which can directly communicate with the custodial signer to complete the signing process and send the transaction to the blockchain.
Using the Barebones Solution:
This method is more complex. It requires users to implement a popup window and communicate with the custodial signer via post messages to obtain the signature. Then, the obtained signature is used to send the transaction to the blockchain.
Code Example: Barebones Solution
Step 1: Get Signature by Communicating with Custodial Signer
Step 2: Send Transaction to Blockchain
Last updated