Skip to main content

Quick Start Guide

Welcome to the Cultura SDK! This toolkit enables developers to interact with Cultura, a Layer 2 Ethereum blockchain serving as the global registry for human creativity and intellectual property. Cultura ensures transparent licensing, revenue sharing, and secure provenance for creative works. This SDK provides a comprehensive set of tools for working with Digital Assets, Rights Attestations, and Licensing in the Cultura ecosystem.

Installation

Quick Start

The SDK can be configured for different environments and with different wallet connections:

Environments

The SDK supports the following environments:
  • local - Local development environment
  • devnet - Cultura Devnet (subject to heavy changes and frequent resets)
  • testnet (default) - Cultura Testnet (stable environment for testing)
The environment is set at SDK instantiation time and doesn’t rely on environment variables. Always explicitly specify the environment you want to use when creating the SDK instance.

Usage with Frontend Frameworks

React Example

Core Features

  • Digital Asset Management: Create, mint, and manage Digital Assets
  • Rights Attestations: Attest to rights ownership and verify attestations
  • Licensing: License Digital Assets and manage licensing rights
  • Query: Query indexed blockchain data via The Graph

Configuration Options

When creating an SDK instance, you can provide a configuration object with the following options:

SDK Initialization Methods

The Cultura SDK offers different initialization methods depending on your use case:

Read-Only Access: create()

The create() method initializes a read-only SDK instance without wallet connection. Use this when:
  • You only need to query or read data from the blockchain (like token information, attestation details)
  • You’re building an application that displays blockchain data without write operations
  • You need a fallback mode when a wallet isn’t available
  • You’re working on server-side applications that only need to read data
Note that operations requiring transaction signing (like minting assets, creating attestations, or transferring tokens) will throw errors if attempted with a read-only instance.

Wallet-Connected: createWithWallet() and createWithAccount()

Use these methods when your application needs to perform transactions like:
  • Creating and minting Digital Assets
  • Managing rights attestations
  • Approving operations
  • Transferring tokens
  • Any other operation that requires transaction signing

Query Example

Here’s a quick example of querying data with a read-only SDK instance:

Examples

For more comprehensive, in-depth examples of SDK usage flows, check out the examples in the examples/ directory:
  • query-examples.ts: Demonstrates various query operations using the SDK
  • verified-rights-licensing-flow.ts: Shows a complete flow for verified rights licensing
You can run these examples to see the SDK in action and understand common integration patterns:

License

MIT