Skip to main content

SDK Reference

For a visual overview of how the SDK fits into the broader ecosystem, see the Typical Dapp Architecture diagram. You might also find the Cultura Ecosystem Architecture Overview useful for higher-level context. For definitions of key terms like Verification Levels, Grades, and Asset Types, please refer to the Core Concepts documentation.

Getting Started

To quickly get up and running with the Cultura SDK, check out our Quick Start Guide.

Core User Flows

Understand the typical journeys within the Cultura ecosystem:

Modules

Core

Class: CulturaSDK

Main SDK client for interacting with the Cultura ecosystem. The SDK provides a comprehensive set of tools for interacting with the Cultura ecosystem, including Digital Asset management, attestations, and licensing.

Mocks

Class: MockLicensingProtocol

Client for the Mock Licensing Protocol contract. Used for testing and development purposes on Cultura testnets. This client interacts with a mock contract that simulates the actions a real licensing protocol might take. It allows developers to test the end-to-end flow of licensing a Level 2 asset and creating/verifying a Licensed Creative Asset without needing a fully functional external protocol.

Query

Class: DigitalAssetMethods

Methods for querying digital assets from The Graph The DigitalAssetMethods class provides specialized queries for retrieving digital asset data from The Graph subgraph. These methods allow efficient read-only access to digital asset data without requiring direct blockchain calls, which improves performance and reduces costs.

Class: Query

Client for querying The Graph subgraph data The QueryClient is the entry point for accessing indexed blockchain data through The Graph. It provides specialized methods for retrieving digital assets and verified rights information without making direct blockchain calls, improving performance and reducing costs.

Class: VerifiedRightsMethods

Methods for querying verified rights from The Graph The VerifiedRightsMethods class provides specialized queries for retrieving verified rights data from The Graph subgraph. These methods allow you to efficiently access rights attestation data without making direct blockchain calls.

Resources

Class: AttestationService

Client for interacting with the Cultura Attestation Service. The Attestation Service manages the creation and verification of attestations that prove digital asset ownership and rights. The attestation process is a crucial first step after minting a digital asset, where creators bond tokens to validate their ownership claims.

Class: BondToken

Client for interacting with the Bond Token (ERC20) contract Provides an interface for interacting with ERC20 tokens used for bonding in self-attestations and other platform functions. This client handles token operations like approvals and balance checks, with a test-only minting function.

Class: CulturaDigitalAsset

Client for interacting with the CulturaDigitalAsset NFT contract Functions for managing Cultura Digital Assets (implemented as ERC721 tokens with extended licensing capabilities)

Class: RightsBoundAccount

Client for interacting with the Cultura Rights Bound Account contract Handles payment distributions, royalty claims, and account management These accounts manage digital asset-related functions and handle royalty distributions to various stakeholders including attesters, Cultura Treasury, and parent digital asset owners. They are automatically deployed during the attestation process.

Class: Royalty

Client for interacting with the Cultura Royalty System contract This client provides a reference implementation for managing and calculating royalty distributions in the Cultura ecosystem. This module can be customized or replaced to accommodate different royalty calculation needs.

Class: SchemaRegistry

Client for interacting with the Schema Registry contract The Schema Registry contract is used to register and manage the schemas for digital asset attestations. It provides a method to register a new schema or get the hash of an existing schema.

Class: SignatureUtils

Client for interacting with the SignatureUtils contract

Class: VerifierModule

Client for interacting with the VerifierModule contract Manages reward distribution to verifiers based on their bonded tokens for verified rights