primer · DATA Foundation

Four DATA Foundation primitives, demystified.

Every idea in this repo leans on one of four primitives from the DATA Foundation (formerly Story Protocol). All of them run against Aeneid — a free, real testnet with a public block explorer — so you can ship a provably-registered creative work with zero hosting and zero gas spent by your users.

Two publishable IDs

Both values below are publishable identifiers, not secrets. Hardcode them intosrc/config.ts in the project the mega-prompt spins up:

  • PRIVY_APP_IDPublishable — hardcode into src/config.ts. Google sign-in + Aeneid embedded wallet + sponsored tx.open ↗
  • AENEID_RPC_URLPublishable — hardcode into src/config.ts. Default: https://aeneid.storyrpc.ioopen ↗
  • LOVABLE_API_KEYOptional. Only needed if the idea makes an AI call — auto-provisioned by Lovable AI.
onchain identity

Register IP Asset

250 ideas use this
kernel
a call to @story-protocol/core-sdk `client.ipAsset.registerIpAsset` on DATA Foundation Aeneid (chainId 1315) that mints an SPG NFT and binds it to a new IP Account with full IPA metadata (title, mediaHash, creators, ipType)
how it drives the UI
a 'registered on the DATA Foundation' badge with the ipId, owner address and an aeneid.explorer.datafdn.org link
programmable rights

License Terms + Hook

250 ideas use this
kernel
PIL License Terms attached at registration through `licenseTermsData`, optionally wired to a whitelisted DATA Foundation licensing hook (LockLicenseHook, TotalLicenseTokenLimitHook) so remix / commercial-use / royalty rules live onchain and enforce themselves
how it drives the UI
a rights sheet that renders the terms + hook in plain language and shows the licenseTermsId beside the IP Asset
consumer flow

Mint License Token

249 ideas use this
kernel
`client.license.mintLicenseTokens` mints a License Token from the licensor IP so a consumer can legally remix or unlock the asset; if royalties are set, `commercialRevShare` routes proceeds to the parent IP
how it drives the UI
a one-tap 'mint license' button that returns the licenseTokenId and shows the holder on the explorer
confidential data

CDR encrypted vault

247 ideas use this
kernel
Confidential Data Rails via @piplabs/cdr-sdk — an Uploader allocates a vault, TDH2-encrypts the artefact against the DKG public key with `uuidToLabel(uuid)` binding, and the on-chain condition gates threshold decryption on holding the License Token minted above
how it drives the UI
a 'sealed on Aeneid CDR' chip with the vault uuid; consumers with the License Token see a 'decrypt' action that stitches partials client-side