DAT Lifecycle Example

Step 1: Create Class (AI Asset Category)

createClass(

1,

"Medical Dataset",

"Open-source dataset for disease classification",

"ipfs://metadata/med-dataset-class"

)

Step 2: Mint DAT Token (Bind & Issue Asset)

mintDAT(

user1,

1, // classId: Medical Dataset

1000 * 1e6, // value: 1000 (6 decimals)

500, // shareRatio: 5%

0 // expireAt: never expires

);

💡 Option: Mint multiple DATs to simulate multi-user ownership

Step 3: Service Payment (Agent Invocation)

transferValue(user1TokenId, agentTreasuryTokenId, 100 * 1e6);

  • agentTreasuryTokenId may be a treasury contract address

  • Supports “pay-as-you-use” or delegated billing models

Step 4: Revenue Share Demonstration (Future Extension)

Assume an agent earns 10 USDC:

agent.payToDATHolders(classId, 10 USDC);

  • Contract calculates each DAT’s shareRatio

  • Distributes revenue proportionally

Step 5: Token Expiration (Optional)

require(block.timestamp < dats[tokenId].expireAt, "Token expired");

Used for subscription-based AI services or time-bound licenses

Last updated