A modified ERC-6551 implementation bound to an IP Asset
Skip the Read
Get a quick 2-minute overview of IP Accounts here.
When an 🧩 IP Asset is registered, it is given an associated IP Account. An IP Account is a modified ERC-6551 (Token Bound Account) implementation. It is a separate contract bound to the IP Asset for controlling permissions around interactions with Story’s modules or storing the IP’s associated data. Upon registration, an IP Asset is assigned a unique ID. This ID is the address of the IP Account that is bound to the IP Asset.
An IP Account mainly does two things:
If the underlying NFT is transferred, the new owner is also automatically the owner of the associated IP Asset & IP Account.
execute
and executeWithSig
A key feature of IP Account is the generic execute()
function, which allows calling arbitrary modules within Story via encoded bytes data (thus extensible for future modules). Additionally, there is a executeWithSig()
function that enables users to sign transactions and have others execute on their behalf for seamless UX.
A modified ERC-6551 implementation bound to an IP Asset
Skip the Read
Get a quick 2-minute overview of IP Accounts here.
When an 🧩 IP Asset is registered, it is given an associated IP Account. An IP Account is a modified ERC-6551 (Token Bound Account) implementation. It is a separate contract bound to the IP Asset for controlling permissions around interactions with Story’s modules or storing the IP’s associated data. Upon registration, an IP Asset is assigned a unique ID. This ID is the address of the IP Account that is bound to the IP Asset.
An IP Account mainly does two things:
If the underlying NFT is transferred, the new owner is also automatically the owner of the associated IP Asset & IP Account.
execute
and executeWithSig
A key feature of IP Account is the generic execute()
function, which allows calling arbitrary modules within Story via encoded bytes data (thus extensible for future modules). Additionally, there is a executeWithSig()
function that enables users to sign transactions and have others execute on their behalf for seamless UX.