Interaction Diagram (Simplified)
Components
-
Dapp (Frontend):
- The user interface built with standard web technologies (React, Vue, etc.).
- Interacts with the user’s wallet (e.g., MetaMask).
- Uses the Cultura SDK to initiate transactions (write operations) and fetch data.
- Uses the Licensing SDK to initiate licensing transactions and query data about available Licensable Digital Assets.
- Cultura SDK provides a mock licensing sdk.
- May directly query the Subgraph for optimized read-only data displays (e.g., asset galleries).
-
Cultura SDK:
- A TypeScript library simplifying interactions with Cultura’s backend components.
- Provides methods for minting, attestation, royalty management, and data querying.
- Acts as the primary interface between the frontend and the on-chain/off-chain services.
- Connects to the Proof of Rights Protocol contracts, Digital Asset Contracts, Mock Licensing Protocol, Subgraph, and IPFS.
-
Backend Components:
- On-Chain (Cultura Network):
- Proof of Rights Protocol: The core logic managing asset verification. Includes:
- Cultura Attestation Service (CAS): Handles attestations, bonding, verification levels, and grades.
- Rights Bound Account (RBA): Smart wallet deployed per attestation, managing claims and royalty splits.
- Verifier Module: Manages rewards for verifiers.
- Schema Registry: Stores attestation data structures.
- Licensing Protocol (External or Mock): Facilitates formal licensing agreements for Level 2 assets. The SDK includes a Mock Licensing Protocol client for testing.
- CulturaDigitalAsset NFT: The primary NFT contract for original assets, implementing the Licensed ERC Standard.
- LicensedCreativeAsset NFT: NFT contract (often using
CulturaDigitalAssetitself) for assets created after licensing, linking back to parent(s). - Blockchain Network (Cultura L2): The underlying Layer 2 network securing transactions and contract execution.
- Proof of Rights Protocol: The core logic managing asset verification. Includes:
- Off-Chain Services:
- Subgraph (The Graph): Indexes events from on-chain contracts, providing a fast GraphQL API for reading structured data (assets, attestations, etc.). Queried by the SDK and potentially the frontend.
- IPFS: Decentralized storage for large files like NFT metadata (
termsURIcontent, images) and potentially the creative works themselves. Contracts store IPFS CIDs.
- On-Chain (Cultura Network):
Interactions Summary
- Frontend -> Cultura SDK: User actions trigger SDK calls.
- Frontend -> Licensing SDK: Query and perform licensing actions.
- Cultura SDK -> On-Chain Contracts: Executes transactions (minting, attesting, licensing, claiming) and reads contract state.
- Cultura SDK -> Subgraph: Fetches indexed, structured data for display or logic.
- Cultura SDK -> IPFS: Uploads/retrieves metadata files.
- On-Chain Contracts -> Blockchain Network: Transactions are recorded and state is secured.
- On-Chain Contracts -> Subgraph: Emit events that the Subgraph indexes.
- On-Chain Contracts -> IPFS: Store/retrieve CIDs pointing to off-chain data.
- Subgraph -> Frontend/SDK: Provides efficient read access to indexed data.
Core Process Flows
To understand the specific interactions for key processes, refer to these detailed guides which include focused diagrams:- Verification & Attestation Flow: How assets achieve Level 1 and Level 2 (Licensable).
- Licensing & Minting Flow: The end-to-end process of licensing a Level 2 asset and creating a Licensed Creative Asset.
- Royalty Payments Flow: How royalties are reported, processed, and claimed.
- Querying Assets & Rights: How the SDK interacts with the Subgraph.

