Architecture Overview

Introduction

Story Protocol introduces a revolutionary open Programmable IP layer, elevating IP to a first-class entity in the blockchain ecosystem. At the heart of this system is the IP Asset, a smart contract designed to serve as the core identity for each IP. This account-centric approach enables the storage and management of data, as well as the execution of diverse functions. Developers are empowered to create custom modules, effectively programming the IP's behavior and interaction capabilities. These modules act as the functional "verbs" to the IP Asset's "nouns," providing a unified and standardized method for accessing and manipulating IP data.

Story Protocol merges the concepts of IP identity and functionality, paving the way for innovative and dynamic IP management on a public, permission-less blockchain.

Architecture

Let's briefly introduce the layers mentioned in the above diagram:

IP Asset ("Nouns")

IP Assets are the foundational programmable IP metadata on Story Protocol. Each IP Asset is an on-chain NFT (representing an IP) and its associated IP Account, which is a modified ERC-6551 (Token Bound Account) implementation.

Read more about IP Assets

IP Account

IP Accounts are smart contracts that are tied to an NFT, implemented with Story Protocol's modification to ERC-6551. For example, a Azuki NFT will have an associated IP Account, whose owner is the owner of that Azuki NFT.

All interactions within Story Protocol center around IP Accounts. It stores IP-related data such as the associated License Tokens and Royalty NFTs created from an IP, and also facilitates the utilization of this data by various modules. For example, licensing, revenue/royalty sharing, remixing, and other critical features are made possible due to the IP Account's programmability.

Read more about IP Accounts

Module ("Verbs")

Modules are customizable programs (smart contracts) that define and extend the functionality of IP Accounts in Story Protocol. Modules empower developers to create functions and interactions for each IP to make IPs truly programmable.

Read more about Modules

Registry

A "Registry" functions as a primary directory/storage for the global states of Story Protocol. Unlike IP Accounts, which manage the state of specific IPs, a Registry oversees the broader states of the protocol.

Read more about Registries

Access Controller

Access Controller manages all permission-related states and permission checks in Story Protocol. In particular, it maintains the Permission Table and Permission Engine to process and store permissions for calls between modules and from IPAccounts.

Read more about Access Controller

Application Layer (Ecosystem)

This layer comprises applications that build on top of Story Protocol for IP business, such as distribution, discovery, and co-creation.