> ## Documentation Index
> Fetch the complete documentation index at: https://docs.cultura.xyz/llms.txt
> Use this file to discover all available pages before exploring further.

# Cultura Ecosystem Architecture

> A detailed view of the actors, components, and integrations within the Cultura ecosystem.

This diagram provides a comprehensive view of the actors, components, and potential integrations within the Cultura ecosystem, including proof-of-popularity, dispute resolution, and composability examples like RWA tokenization.

It builds upon the [Typical Dapp Architecture](./typical-dapp-architecture) by showing the interactions between different user roles and specialized modules.

```mermaid theme={null}
---
config:
  look: classic
  theme: base
  layout: elk
  elk:
    nodePlacementStrategy: NETWORK_SIMPLEX
  height: 900px
---
%%{
  init: {
    'theme': 'neutral',
  }
}%%
flowchart TB
    %% Group definitions (Subgraphs)
    subgraph ProofOfRightsProtocol["Cultura Base Layer"]
        IPOwner["RightsHolder<br>_(Agents, Owners, Licensees)_"]
        Verifier["Verifier<br>_(Community, Whitelisted)_"]
        CommunityMember["User"]
        PopularityContract["Proof of Popularity<br>_(Community Curation)_"]
        subgraph PoRServices["Proof of Rights Protocol"]
            CulturaService["Cultura Attestation Service"]
            DisputeModule["Dispute Module"]
            SmartWallet["Rights Bound Smart Wallet"]
        end

        subgraph PoRStates["Verified Rights Levels"]
            BasicRights["Verified Rights<br>level: 1"]
            VerifiedRights["Verified Rights<br>level: 2"]
        end

    end

    subgraph NFTSystem["Digital Assets"]
        NFT["Digital Asset"]
        DerivativeNFT["Licensed Digital Asset"]
    end

    subgraph FinancialModules["Public Goods"]
        RoyaltyModule["Royalty Module<br>&lt;&lt;open source&gt;&gt;"]
        IPDerivativeERC["Licensed ERC<br>&lt;&lt;standard&gt;&gt;"]
    end

    subgraph LicensingSystem["Licensing System"]
        Licensee["Licensee"]

        LicensingProtocol["Licensing Protocol"]
    end

    subgraph RWASystem["RWA Tokenization System<br><i>Example of Composability</i>"]
        RWAIssuer["RWA Issuer"]
        RWATokenHolder["RWA Token Holder"]
        RWATokenContract["RWA Token Contract"]
    end

    %% Relationships - Core Protocol Internals
    CulturaService -->|creates after<br>attestation| BasicRights
    BasicRights -->|upgrades to after<br>verification| VerifiedRights

    %% External interactions with Protocol
    IPOwner -->|creates| NFT
    IPOwner -->|submits bond+<br>attestation| CulturaService
    Verifier -->|provides bond+<br>verification| CulturaService
    NFT -->|submitted to| CulturaService
    VerifiedRights ~~~ NFT

    %% Proof of Popularity flow
    CommunityMember -->|bonds tokens/votes<br>to signal interest| PopularityContract
    Verifier <-->|prioritizes assets<br>for review| PopularityContract
    PopularityContract -->|highlights<br>popular assets| BasicRights

    %% Dispute Flow
    CommunityMember -->|may initiate dispute| DisputeModule
    IPOwner -->|may respond to| DisputeModule
    Verifier -->|may have bond<br>slashed by| DisputeModule
    DisputeModule -->|may revoke| VerifiedRights

    %% NFT & Financial Modules
    NFT -->|bound to when verified| SmartWallet
    RoyaltyModule -->|routes payments to| SmartWallet
    SmartWallet -->|pays holder| IPOwner
    SmartWallet -->|pays fees to| Verifier

    %% Licensing System
    VerifiedRights -->|enables use in| LicensingProtocol
    Licensee -->|uses| LicensingProtocol
    LicensingProtocol -->|produces| DerivativeNFT
    DerivativeNFT -->|implements| IPDerivativeERC
    IPDerivativeERC -->|compatible with| RoyaltyModule
    DerivativeNFT -->|can be verified by| CulturaService
    DerivativeNFT -->|linked to parents| NFT
    RoyaltyModule -->|reads license info from| DerivativeNFT
    Licensee -->|reports usage to| RoyaltyModule

    %% RWA Tokenization - Shows Composability
    RWAIssuer -->|creates| NFT
    RWAIssuer -->|deploys| RWATokenContract
    NFT -->|linked to| RWATokenContract
    RWATokenContract -->|distributes to| RWATokenHolder
    SmartWallet -->|pays royalties to| RWATokenContract

    %% RWA leverages Proof of Rights and Licensing
    RWAIssuer -.->|uses for rights verification| VerifiedRights
    RWASystem -.->|can integrate with| LicensingSystem

    %% Node styles based on Cultura colors
    classDef userPersona fill:#FF8F5B,stroke:#E65100,color:#333
    classDef coreSystem fill:#006466,stroke:#065A60,color:white
    classDef thirdParty fill:#AFBFC0,stroke:#607D8B,color:#333,stroke-dasharray:5 5

    class IPOwner,Licensee,Verifier,RWATokenHolder,CommunityMember,RWAIssuer userPersona
    class CulturaService,BasicRights,VerifiedRights,SmartWallet,RoyaltyModule,DisputeModule,IPDerivativeERC,PopularityContract coreSystem
    class NFT,LicensingProtocol,DerivativeNFT,RWATokenContract thirdParty

    %% Style the subgraphs
    style ProofOfRightsProtocol fill:#E6FFFF,stroke:#065A60,stroke-width:2px
    style NFTSystem fill:#EAF7F7,stroke:#065A60,stroke-width:2px
    style LicensingSystem fill:#F0F8F8,stroke:#607D8B,stroke-width:2px
    style RWASystem fill:#F0F8F8,stroke:#607D8B,stroke-width:2px

    style PoRServices fill:#DCFFFF,stroke:#065A60,stroke-width:1px
    style PoRStates fill:#DCFFFF,stroke:#065A60,stroke-width:1px
    style NFTSystem fill:#DCFFFF,stroke:#065A60,stroke-width:1px
    style FinancialModules fill:#DCFFFF,stroke:#065A60,stroke-width:1px

    %% Add composability note
    classDef composabilityArrow stroke:#607D8B,stroke-width:2px,stroke-dasharray:5 5
```
