Data Packages
Data Packages are signed envelopes that reference off-chain payloads. Only hashes and pointers are anchored on-chain.
For API validators, an optional adapter field records the anchorer/signer address.
AnchorId
anchorId = keccak256(abi.encode(
schemaId,
dataTypeHash,
provider,
windowStart,
windowEnd,
payloadHash
))
EIP-712 signature
The provider signs the envelope using OlympData domain:
name: OlympDataversion: 1chainId: L3 chainIdverifyingContract: DataAnchorRegistry
Proof bundle
Gateways return:
- Payload bytes (or JSON)
- Full DataPackage envelope
- Anchor tx reference + provider score
Valid dataset requirements (MVP)
- Schema ID and version MUST exist in SchemaRegistry.
- Payload hash MUST match the payload bytes.
- Window timestamps MUST be valid and within drift limits.
- Signature MUST match the expected signer for the tier.
- Anchor MUST exist on-chain and match the envelope fields.
- Payload size MUST respect gateway limits.
API validator models
- Tier A (Provider-Signed / Model 1): provider signs, adapter anchors.
- Tier B (Adapter-Attributed / Model 2): adapter signs + anchors (bootstrap).