DEMO VERSION
Please select your role and verify your identity with your estate-authorized wallet
This will sign a message to verify your identity...

Plain Language Digital Assets Will (Demo Content)

I, John Doe, declare this my digital assets inheritance plan. Upon my passing, my digital assets shall be distributed according to the following terms.

Current Asset Allocation

Immediate Lump Sum to Caretakers

50% of the total estate will be released immediately to Jane Smith (Custodian) for the ongoing care, education, and well-being of my children: Alice Doe, Bob Doe, and Charlie Doe.

Guidelines for use: Funds are to be used exclusively for the children's housing, education, healthcare, and general support. Annual transparency reports required.

Vesting Schedule per Child

Each child receives equal shares of the remaining 50% with the following milestones:

Milestone Alice Doe Bob Doe Charlie Doe
Monthly recurring allowance1% of share1% of share1% of share
Age 18 lump sum10%10%10%
Age 22 lump sum15%15%15%
Age 30 final releaseRemaining 25%Remaining 25%Remaining 25%

Verbose Smart Contract Details (Demo Content Only)

✅ High-Level Audits Passed
Simulated audits by PeckShield, Certik, and Quantstamp show no critical issues.

Below is a simplified sample Solidity smart contract that implements multi-sig triggering, custodian lump sum, and child vesting logic. This is for demonstration purposes only.

Sample Smart Contract

Contract Name: dTrustInheritance

Purpose: Manage inheritance distribution with vesting and multi-sig safeguards.

Key Functions:

  • triggerDistribution(): Requires multi-sig to release initial lump sum.
  • releaseMonthly(address child): Automates recurring allowances.
  • releaseMilestone(address child, uint8 age): Releases at ages 18, 22, 30.

// SPDX-License-Identifier: MIT
pragma solidity ^0.8.0;

contract dTrustInheritance {
    address public grantor = 0xGrantorAddress;
    address public custodian = 0xJaneSmith;
    address[] public children = [0xAliceDoe, 0xBobDoe, 0xCharlieDoe];
    mapping(address => uint256) public childShares;

    uint256 public totalEstate = 1000 ether; // Demo value
    bool public triggered = false;
    uint256 public requiredSignatures = 2;

    // Multi-sig, DMS, vesting...
    function triggerDistribution() external {
        // Logic for multi-sig check
        triggered = true;
        // Transfer 50% to custodian
    }

    function releaseMonthly(address child) external {
        // Monthly logic
    }

    function releaseMilestone(address child, uint8 age) external {
        // Age check and release
    }

    // Revocation, updates, etc.
}