DAT Lifecycle Example
Last updated
Last updated
createClass(
1,
"Medical Dataset",
"Open-source dataset for disease classification",
"ipfs://metadata/med-dataset-class"
)
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
transferValue(user1TokenId, agentTreasuryTokenId, 100 * 1e6);
agentTreasuryTokenId
may be a treasury contract address
Supports βpay-as-you-useβ or delegated billing models
Assume an agent earns 10 USDC:
agent.payToDATHolders(classId, 10 USDC);
Contract calculates each DATβs shareRatio
Distributes revenue proportionally
require(block.timestamp < dats[tokenId].expireAt, "Token expired");
Used for subscription-based AI services or time-bound licenses