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 addressSupports “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