Summary
Implement a background sync service that fetches on-chain metadata from each creator key contract and keeps the API layer's metadata cache consistent with the contract state.
Scope
- Metadata sync job runs on key creation and on MetadataUpdated event
- Synced fields: name, symbol, description, image_cid
- Image CID resolved to Pinata gateway URL and stored
- GET /keys/:keyId/metadata — returns synced on-chain metadata
- Stale flag included if sync job is behind by more than 10 minutes
Acceptance Criteria
ETA
12 hours
Summary
Implement a background sync service that fetches on-chain metadata from each creator key contract and keeps the API layer's metadata cache consistent with the contract state.
Scope
Acceptance Criteria
ETA
12 hours