Skip to main content
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.

Example

Accessors

chain

Get Signature

get chain(): undefined | Chain
Get the current chain configuration
Returns
undefined | Chain

attestationService

Get Signature

get attestationService(): AttestationServiceClient
Access the Attestation Service client for creating and verifying attestations. The Attestation Service manages the creation and verification of attestations that prove Digital Asset ownership and rights.
Example
Returns
AttestationServiceClient The Attestation Service client instance

schemaRegistry

Get Signature

get schemaRegistry(): SchemaRegistryClient
Get the SchemaRegistry client instance
Returns
SchemaRegistryClient

culturaDigitalAsset

Get Signature

get culturaDigitalAsset(): CulturaDigitalAssetClient
Get the CulturaDigitalAsset client instance
Returns
CulturaDigitalAssetClient

digitalAsset

Get Signature

get digitalAsset(): CulturaDigitalAssetClient
Get the culturaDigitalAsset client instance (alias for culturaDigitalAsset for backward compatibility)
Deprecated
Use culturaDigitalAsset instead
Returns
CulturaDigitalAssetClient

rightsBoundAccount

Get Signature

get rightsBoundAccount(): RightsBoundAccountClient
Get the Rights Bound Account client instance This needs to be set manually using setRightsBoundAccount before use
Returns
RightsBoundAccountClient

royalty

Get Signature

get royalty(): RoyaltyClient
Get the Royalty client instance
Returns
RoyaltyClient

signatureUtils

Get Signature

get signatureUtils(): SignatureUtilsClient
Get the Signature Utils client instance
Returns
SignatureUtilsClient

verifierModule

Get Signature

get verifierModule(): VerifierModuleClient
Get the Verifier Module client instance
Returns
VerifierModuleClient

query

Get Signature

get query(): QueryClient
Get the Query client instance for querying indexed blockchain data
Returns
QueryClient

bondToken

Get Signature

get bondToken(): BondTokenClient
Get the Bond Token client instance
Returns
BondTokenClient

mockLicensingProtocol

Get Signature

get mockLicensingProtocol(): MockLicensingProtocolClient
Get the Mock Licensing Protocol client instance
Returns
MockLicensingProtocolClient

pop

Get Signature

get pop(): POPModuleClient
Get the POP Module client instance
Returns
POPModuleClient

Methods

setRightsBoundAccount()

setRightsBoundAccount(rightsBoundAccountAddress): void
Set the rights bound account address for the rightsBoundAccount client This is needed when working with licensedAssets created via mockLicenseRight

Parameters

rightsBoundAccountAddress
`0x${string}` The address of the Rights Bound Account

Returns

void

create()

static create(config): CulturaSDK
Create a new SDK instance

Parameters

config
CulturaConfig = {} SDK configuration

Returns

CulturaSDK

createWithWallet()

static createWithWallet(ethereum, config): CulturaSDK
Create a new SDK instance with a wallet

Parameters

ethereum
any Ethereum provider (e.g., window.ethereum)
config
Omit<CulturaConfig, "wallet"> = {} Additional SDK configuration

Returns

CulturaSDK

createWithAccount()

static createWithAccount(account, config): CulturaSDK
Create a new SDK instance with a specific account

Parameters

account
Ethereum account address or Viem Account object created with privateKeyToAccount() undefined | `0x${string}` | Account
config
Omit<CulturaConfig, "account"> = {} Additional SDK configuration

Returns

CulturaSDK

Example

createWithSmartWalletClient()

static createWithSmartWalletClient(privyClient, config): CulturaSDK
Create a new SDK instance with a Privy Smart Wallet Client

Parameters

privyClient
any The Privy SmartWalletClientType instance
config
Omit<CulturaConfig, "account" | "wallet"> = {} Additional SDK configuration

Returns

CulturaSDK

getWalletBalance()

getWalletBalance(): Promise<bigint>
Get the balance of the connected wallet

Returns

Promise<bigint>

getBalance()

getBalance(address): Promise<bigint>
Get the balance of any address

Parameters

address
string Ethereum address

Returns

Promise<bigint>

Properties

config

readonly config: CulturaConfig

publicClient

readonly publicClient: object

walletClient?

readonly optional walletClient: object