TLAY Product Architecture
10. Conceptual Data Model
The following objects provide a useful conceptual model. Exact schemas may vary by implementation.
10.1 Machine Identity#
{
"machineId": "did:tlay:machine:example-001",
"ownerId": "did:tlay:org:operator-01",
"publicKeys": ["..."],
"capabilities": ["energy.purchase", "event.sign"],
"status": "active",
"policyRef": "policy:buyer-fleet-v3"
}10.2 Service Offer#
{
"offerId": "offer:charger-42:2026-08-27T10:00Z",
"sellerId": "did:tlay:machine:charger-42",
"serviceType": "energy.delivery",
"unit": "kWh",
"unitPrice": {
"amount": "0.31",
"currency": "USDC"
},
"measurement": "meter:v2",
"paymentMethods": ["eip3009"],
"validUntil": "2026-08-27T10:05:00Z",
"signature": "..."
}10.3 Economic Policy#
{
"policyId": "policy:buyer-fleet-v3",
"maxUnitPrice": "0.35",
"maxSessionValue": "25.00",
"dailyLimit": "100.00",
"allowedServices": ["energy.delivery"],
"allowedCurrencies": ["USDC"],
"approvedNetworks": ["eip155:8453"],
"requireProof": true,
"humanApprovalAbove": "50.00"
}10.4 Machine Event#
{
"eventId": "evt:01J...",
"sessionId": "session:01J...",
"machineId": "did:tlay:machine:charger-42",
"eventType": "delivery.slice",
"sequence": 17,
"timestamp": "2026-08-27T10:02:14.428Z",
"payloadHash": "sha256:...",
"previousEventHash": "sha256:...",
"paymentRef": "auth:0x...",
"signature": "..."
}10.5 Proof Receipt#
{
"recordHash": "sha256:...",
"batchId": "batch:01J...",
"merkleRoot": "0x...",
"merkleProof": ["0x...", "0x..."],
"anchor": {
"network": "eip155:8453",
"transactionHash": "0x...",
"blockNumber": 12345678
},
"verificationVersion": "1.0"
}These objects are linked by identifiers and hashes. The goal is not to impose one universal schema on every industry, but to establish common trust-bearing primitives.