Frequently Asked Questions

1. What is Hereditas?

Hereditas is a decentralized protocol designed to streamline and secure the process of digital asset inheritance on the blockchain. By leveraging smart contracts, Hereditas ensures that your digital assets, such as Ether (ETH) and ERC20 tokens, are distributed according to your wishes upon predefined conditions.

2. How Does Hereditas Work?

Hereditas operates through Inheritance Contracts, which are smart contracts deployed on the blockchain. As the contract owner, you can:

  • Define Beneficiaries: Specify who will inherit your assets and their respective shares.
  • Set Inactivity and Grace Periods: Determine the duration of inactivity after which the inheritance process is initiated and an additional grace period during which only beneficiaries can act.
  • Deposit Assets: Transfer Ether (ETH) and ERC20 tokens into the contract to be distributed upon triggering conditions.
  • Manage Beneficiaries: Add or remove beneficiaries, with the contract automatically adjusting the shares of existing beneficiaries proportionally.
  • Distribute Assets: Upon meeting the conditions, assets can be distributed to beneficiaries, ensuring a transparent and tamper-proof process.

3. What Are the Key Features of Hereditas?

  • Automated Asset Distribution: Ensures timely and accurate distribution of digital assets without the need for intermediaries.
  • Customizable Conditions: Set specific inactivity periods and grace periods tailored to your needs.
  • Security: Utilizes OpenZeppelin’s ReentrancyGuard to protect against common smart contract vulnerabilities.
  • Flexibility: Supports both ETH and ERC20 tokens, allowing for a wide range of digital assets to be included.
  • Beneficiary Management: Easily add or remove beneficiaries, with automatic proportional adjustments to remaining beneficiaries' shares.
  • Developer Fee Structure: Incorporates a transparent fee system for developers involved in the asset distribution process.
  • Executor Fee: A 1% fee is applied at the point of asset distribution for executors who initiate the process after the grace period.

4. How Do I Create an Inheritance Contract?

  1. Connect Your Wallet: Use a compatible Ethereum wallet (e.g., MetaMask) to connect to the Hereditas platform.
  2. Fill Out the Form:
    • Beneficiaries: Enter the addresses of your beneficiaries and allocate their respective shares.
    • Inactivity Period: Define the duration of inactivity after which the inheritance process begins.
    • Grace Period: Set an additional period during which only beneficiaries can initiate distribution.
    • Initial ETH Deposit (Optional): Specify an amount of ETH to be deposited into the contract initially.
  3. Submit the Contract: Confirm and deploy the contract. A developer fee will be deducted automatically from all ETH deposits.
  4. Manage Your Contract: Once deployed, you can view, manage, and monitor your contract through the Hereditas dashboard.

5. What Assets Are Supported by Hereditas?

Hereditas supports:

  • Ether (ETH): The native cryptocurrency of the Ethereum blockchain.
  • ERC20 Tokens: Any token compliant with the ERC20 standard, allowing for a diverse range of digital assets to be included in your inheritance contract.

6. How Are Assets Deposited into the Contract?

Ether (ETH): You can send ETH directly to the contract during creation or through subsequent deposits. All ETH deposits are charged a 0.1% developer fee.

ERC20 Tokens:

  • Initial Deposit: To enable asset distribution for a specific ERC20 token, you must deposit it through the contract at least once. This action allows the contract to distribute the asset to beneficiaries.
  • Subsequent Deposits: After the initial deposit, you can deposit ERC20 tokens directly to the contract’s address without incurring the developer fee. This method allows users to bypass the fee for future deposits of the same ERC20 token.

7. What Happens If I Deposit an ERC20 Without Registering It Through the Contract?

If you deposit an ERC20 token directly to the contract’s address without registering it through the contract at least once, the assets will not be distributed to your beneficiaries. To ensure that your ERC20 tokens are eligible for distribution:

  1. Register the Token:

    Deposit the ERC20 token through the contract at least once. This action registers the token, enabling the contract to manage and distribute it to beneficiaries.

  2. Post-Registration Deposits:

    After registering, you can deposit the same ERC20 token directly to the contract’s address in future transactions without paying the developer fee. These deposits will be eligible for distribution as registered assets.

Note: If you accidentally deposit an ERC20 token directly without registering it first, you can still register the token by making a deposit through the contract afterward. Once registered, the previously deposited tokens can be distributed to beneficiaries.

8. What Is the Grace Period?

The Grace Period is an additional timeframe following the inactivity period. During this period:

  • Beneficiaries: Only designated beneficiaries can initiate the distribution of assets.
  • Executors: After the grace period, executors (non-beneficiaries) can also trigger the distribution, subject to a 1% executor fee deducted from all assets being distributed.

9. How Are Developer and Executor Fees Calculated?

Hereditas incorporates a transparent fee structure:

  • Developer Fee: A 0.1% fee is automatically deducted from all ETH deposits made through the contract. This fee supports the ongoing development and maintenance of the Hereditas protocol.
  • Executor Fee: A 1% fee is applied at the point of asset distribution for executors who initiate the process after the grace period.

Additional Notes:

  • ERC20 Deposits: The developer fee is only applicable during the initial deposit through the contract to register the ERC20 token. Subsequent direct deposits of the same ERC20 token to the contract’s address do not incur the developer fee.
  • Fee Transparency: All fees are automatically deducted during transactions, ensuring users are aware of the deductions without manual intervention.

10. Can I Update or Cancel My Inheritance Contract?

Yes, as the contract owner, you have the authority to:

  • Add or Remove Beneficiaries: Modify the list of beneficiaries. When adding or removing beneficiaries, the contract automatically adjusts the shares of existing beneficiaries proportionally to maintain the total share distribution.
  • Update Periods: Change the inactivity and grace periods as needed.
  • Withdraw Assets: Before distribution, you can withdraw deposited assets from the contract.

Note: Once assets have been distributed (isDistributed flag is set to TRUE), certain actions, like modifying beneficiaries or withdrawing assets, are restricted to maintain the integrity of the distribution process.

11. How Secure Is Hereditas?

Hereditas is built with security as a priority:

  • Smart Contract Audits: Utilizes well-audited OpenZeppelin contracts to prevent vulnerabilities.
  • Reentrancy Protection: Implements ReentrancyGuard to safeguard against reentrancy attacks.
  • Immutable Developer Address: Ensures that the developer fee recipient cannot be altered post-deployment.
  • Transparent Operations: All transactions and distributions are recorded on the blockchain, ensuring transparency and immutability.

12. What Happens If I Want to Change My Beneficiaries?

While you cannot directly change the shares of existing beneficiaries, you can:

  • Add Beneficiaries: Introduce new beneficiaries and assign their shares. The contract will automatically adjust the shares of existing beneficiaries proportionally to accommodate the new allocation.
  • Remove Beneficiaries: Eliminate existing beneficiaries from the contract. The contract will automatically redistribute their shares proportionally among the remaining beneficiaries.

Note: The total shares must always sum up to 100% (10,000 basis points). The system ensures proportional adjustments to maintain this balance.

13. What Are "Interactions" with the Contract and How Do They Reset the Inactivity Period?

Interactions with the contract are any actions that indicate activity and reset the inactivity period. These interactions include:

  • Deposits: Adding ETH or ERC20 tokens to the contract.
  • Withdrawals: Removing ETH or ERC20 tokens from the contract.
  • Managing Beneficiaries: Adding or removing beneficiaries.
  • Heartbeat Function: Manually resetting the inactivity period without performing any other actions.

Each of these interactions updates the lastActiveTimestamp, effectively resetting the inactivity period countdown. This mechanism ensures that the inheritance process is only initiated when there has been no activity for the specified inactivity period.

Examples of Interactions:

  1. Depositing ETH or ERC20 Tokens:

    Every deposit transaction updates the lastActiveTimestamp, preventing the inheritance process from being triggered prematurely.

  2. Withdrawing Assets:

    When the owner withdraws assets from the contract, it signifies active management, thereby resetting the inactivity timer.

  3. Adding or Removing Beneficiaries:

    Modifying the list of beneficiaries indicates that the contract owner is actively managing the inheritance plan, resetting the inactivity period.

  4. Heartbeat Function:

    This function allows the owner to reset the inactivity period without making any other changes, ensuring the inheritance process remains inactive.

Importance of Interactions:

Regular interactions prevent the unintended initiation of the inheritance process by signaling ongoing management and activity by the contract owner.

14. Can I Distribute Assets Early?

No, assets can only be distributed after the defined inactivity and grace periods have been met. This ensures that the inheritance process is only triggered under the specified conditions, maintaining the contract’s integrity.

15. Which Blockchain Does Hereditas Operate On?

Hereditas is deployed on the Ethereum blockchain and the Base L2, leveraging its robust infrastructure and widespread adoption to ensure reliability and security.

The deployed contract addresses are below:

Ethereum Mainnet: 0xB30e7E3ae76c3d6Be2D70ABA661cd154B61e0f39

Base L2: 0x5F3425B4aC63c80643D91Bf4a93771acdBE1F25C

16. How Do I Connect My Wallet to Hereditas?

  1. Install a Compatible Wallet: Use wallets like MetaMask or WalletConnect.
  2. Navigate to Hereditas: Visit the Hereditas platform through your web browser.
  3. Click "Connect Wallet": Initiate the connection process.
  4. Authorize Connection: Follow the prompts in your wallet to grant Hereditas access.
  5. Start Managing Contracts: Once connected, you can create, view, and manage your inheritance contracts.

17. Are There Any Fees for Using Hereditas?

Yes, Hereditas incorporates a transparent fee structure:

  • Developer Fees: A small percentage (0.1%) of all ETH deposits is allocated to the developer upon depositing assets through the contract.
  • Executor Fees: Executors (non-beneficiaries who trigger distribution) incur a 1% fee at the point of asset distribution.

Additional Notes:

  • ERC20 Deposits: The developer fee is only applicable during the initial deposit through the contract to enable asset distribution. Subsequent direct deposits of the same ERC20 token to the contract’s address do not incur the developer fee.
  • Fee Transparency: All fees are automatically deducted during transactions, ensuring users are aware of the deductions without manual intervention.

18. How Can I Ensure the Privacy of My Inheritance Contract?

While Hereditas operates on a public blockchain, you can take the following steps to enhance privacy:

  • Use a Dedicated Wallet: Create a separate wallet specifically for your inheritance contracts.
  • Manage Access: Only share your contract details with trusted beneficiaries.
  • Avoid Sharing Sensitive Information: Do not include personally identifiable information within the contract parameters.

Note: Blockchain transactions are inherently transparent, so exercise caution when handling sensitive data.

19. Can I Include Multiple Types of Assets in a Single Contract?

Yes, you can include both Ether (ETH) and multiple ERC20 tokens within a single inheritance contract. This allows for diversified asset distribution according to your preferences.

20. What Happens to the Contract After Distribution?

Once assets are distributed:

  • isDistributed Flag: Set to TRUE, preventing any further distributions.
  • Immutable State: The contract remains on the blockchain, serving as a historical record of the distribution.
  • Contract Management: Certain actions, like modifying beneficiaries or withdrawing assets, are restricted post-distribution to maintain the contract's integrity.