Asset Types
Licensable Digital Assets
- Definition: Original digital creations (e.g., art, music, text) minted on the Cultura blockchain, typically using the
CulturaDigitalAssetcontract. See Minting Flow. - Purpose: Represent the foundational intellectual property within the ecosystem.
- Requirement for Licensing: Must achieve Level 2: Verified Rights through the attestation and verification process to become eligible for formal licensing via integrated protocols.
Licensed Creative Assets
- Definition: Assets created after a Licensable Digital Asset has been formally licensed through a licensing protocol. They represent compliant derivative product or creative works based on the terms of the license.
- Standard: Adhere to the Licensed ERC standard (an extension of ERC721/ERC1155, implemented in
Licensed_ERC.sol), embedding licensing terms, rights info, and provenance. - Linkage: Always link back to the parent Licensable Digital Asset(s) via the
parentDigitalAssetsarray stored during minting. - Verification: Can optionally undergo their own attestation and verification process to establish verified rights for licensing of the derivative work.
- Representation Patterns: There are two primary ways a Licensed Creative Asset can be represented:
- Direct Representation: The digital asset implementing the Licensed ERC is the licensed product. Its metadata (
termsURI) points directly to the creative work (image, music file, etc.) and describes it. - Reference Representation: The NFT digital assets as a license token. Its metadata describes the license itself and might link to an external product (which could be off-chain or a separate NFT collection).
- Direct Representation: The digital asset implementing the Licensed ERC is the licensed product. Its metadata (
Verification & Attestation Concepts
Verification Levels
Assets progress through verification levels indicating trust and integration within the Cultura ecosystem:- Level 0: Minted: The initial state of any newly minted Digital Asset. The asset exists on-chain, but no formal claims about its authenticity or rights have been made or verified within the Cultura protocol. It is not yet licensable through Cultura-integrated protocols.
- Level 1: Attested: Achieved when the asset owner successfully completes the initial attestation process using
CAS.attest(). This involves bonding tokens and making a formal claim about the asset. ARightsBoundAccountis deployed for the asset. The asset is still not considered licensable via standard protocols at this level. - Level 2: Verified Rights: Achieved when a Level 1 attestation receives sufficient verification from the community or whitelisted verifiers to meet the thresholds defined by its Grade. Verifications are submitted using
CAS.verifyAttestation(). An asset at Level 2 is considered a Licensable Digital Asset.
verifyAttestation(). “Verified Rights” refers to the resulting L2 status.
Grades
- Definition: Categories (S, A, B, C) assigned during the initial
attestcall, chosen by the asset owner. - Function: Determine the initial bond amount (
fee) required for Level 1 and the thresholds (total bonded tokens or number/type of verifiers) needed to reach Level 2. - Hierarchy:
- S (0): Highest requirements, highest trust signal.
- A (1): Premium requirements.
- B (2): Intermediate requirements.
- C (3): Entry-level requirements.
- Immutability: The Grade cannot be changed after the initial attestation.
- Representation: While conceptually referred to as S, A, B, C, Grades are represented numerically (0, 1, 2, 3 respectively) in contract interactions (e.g.,
attestfunction parameter,digitalAssetGradesmapping) and often in SDK function return values (getDigitalAssetGrade). Subgraph queries and results typically use the string representation (“S”, “A”, “B”, “C”). - Configuration: Defined within the
CAS.solcontract (gradesmapping stores configuration per numerical grade,levelsmapping corresponds to Grade thresholds).
Bonding
- Definition: The act of locking ERC20 tokens (the designated
bondToken) within the Cultura Attestation Service (CAS.sol) contract. - Purpose: To provide economic incentive (“skin in the game”) and security for attestations and verifications. Requiring a bond makes spamming attestations costly and aligns incentives for verifiers to verify valid assets.
- Process:
- Attestation (Level 0 -> 1): The asset owner bonds an initial amount determined by the chosen Grade.
- Verification (Level 1 -> 2): Verifiers bond tokens to verify an existing attestation using
CAS.verifyAttestation().
- Outcome: Bonded tokens contribute to meeting the thresholds for Level 2 and are potentially used in reward/slashing mechanisms (though challenge/slashing details are less defined in current docs).
Verification
- Definition: The action taken by community members or whitelisted verifiers to verify a Level 1 attestation.
- Process: A verifier calls
CAS.verifyAttestation(), specifying theattestationUIDand the amount of tokens they wish to bond. - Impact:
- Increases the
currentBondAmountassociated with the attestation. - Increments the count of unique verifiers (
communityUserCountorWLVerifierCount). - Contributes towards meeting the Grade’s thresholds for promotion to Level 2.
- Increases the
Standards
Licensed ERC Standard
- Definition: An extension of ERC721/ERC1155 standards, implemented in
Licensed_ERC.soland inherited byCulturaDigitalAsset.sol. - Purpose: To embed detailed licensing information, rights, and provenance directly into NFT metadata.
- Key Features:
- Stores
LicenseInfoincluding asset name, description, creator,termsURI. - Crucially stores
parentDigitalAssetsarray, linking derivative/licensed assets back to their original sources and defining royalty splits. - Provides
getLicenseInfofunction to retrieve this embedded data.
- Stores
- Applicability: Used for both original “Licensable Digital Assets” (where
parentDigitalAssetsis empty) and “Licensed Creative Assets” (whereparentDigitalAssetsis populated). - Metadata URI: The
termsURIfield within theLicenseInfostruct stores the URI pointing to the asset’s metadata JSON file (which typically includes name, description, image URI, etc., following ERC721/ERC1155 metadata standards). ThistermsURIis set during the minting process and is usually the same URI returned by the standardtokenURI()function.
Tokens
Bond / Payment Token
- Definition: A specific ERC20 token designated within the Cultura ecosystem for economic interactions.
- Usage:
- Used for bonding in the Cultura Attestation Service (
CAS.sol) during attestation (Level 0->1) and verification (Level 1->2). - Used as the payment token for royalty distributions managed by the Cultura Royalty System (
CRS.sol),RightsBoundAccount.sol, andVerifierModule.sol.
- Used for bonding in the Cultura Attestation Service (
- Note: In the current implementation and SDK (
sdk.bondToken), the same token serves both purposes. Contract initializers (bondTokenin CAS,_culturaPaymentTokenAddressin CRS,_tokenAddressin RBA,_paymentTokenin VerifierModule) should be set to the same ERC20 token address for the system to function correctly.

