You want to start building on Story quickly… so let’s get started!

Looking to read up on Story first?

If you’d like to read up on Story before diving into the technical details, check out our awesome Learn Hub which will explain the who, what, and why of Story.

Credit to the original tweet here.


Add Network

Enable Story’s mainnet or testnet for your wallet.

Skip everything. Go to the code.

Story Network Infra

See Network Info for all RPC, explorer, and faucet info.

Use our SDKs

Check out the entire SDK Reference to see an explanation + example for every function in our 🛠️ TypeScript SDK (can use this in React as well) and 🐍 Python SDK.

We have also built a 🛠️ TypeScript SDK Guide, which is more of a step-by-step walkthrough, with its own in-depth tutorials for popular functions and use cases.

Deployed Smart Contracts

Check out the addresses for the deployed smart contracts here. Note that there are two different kinds of contracts:

Use our API

Check out the entire API Reference for learning how to use our API. For common things like fetching gas price, average block time, market cap, token price, and more, check out the Blockscout API.

Register IP on Story

Let’s start with the most basic question: “What does it take to register IP on Story in my app? How do I do this?”

To register IP on Story, you’ll first need an NFT. If your IP is an ERC-721 NFT (ex. an Azuki or Pudgy Penguin on Story), you’re already set. If not, you must mint an NFT to represent your off-chain IP. And don’t worry, we’ll help you do this in the following tutorials.

Next you’d register that NFT on Story, ultimately creating an 🧩 IP Asset. An “IP Asset” is your IP registered on Story, empowered by:

Follow the below tutorials to register IP on Story:

Difference Between IP Metadata vs. NFT Metadata

A common question we get from developers while registering their IP on Story is: “What metadata should be/is expected to be attached to the NFT, and then separately, the IP Asset?”

To answer that question, please see NFT vs. IP Metadata.

Licensing Your IP

You may be wondering, “How do I take advantage of Story’s on-chain licensing? How do I make sure my registered IP has a license ready to go?”

Before you attach any sort of licenses or license terms to your 🧩 IP Asset, it would be best to first understand what the 💊 Programmable IP License (PIL) actually is. This “PIL” is what defines the available License Terms on Story, which in turn - when attached to an IP Asset - is what defines how others can use (commercially, create derivatives, etc) that IP Asset.

Our tutorials will show you exactly how to attach license terms to your IP Asset:

For more information on licensing and the terminology behind it, check out the 📜 Licensing Module.

Royalties / Revenue Sharing

Now you may be wondering, “How do I set up automatic royalty sharing between my IP Asset and someone else’s? How do I then collect that payment?”

When you attach License Terms to your 🧩 IP Asset, you can specify certain commercial terms such as commercialRevShare, which is the amount of revenue (from any source, original & derivative) that must be shared by derivative works with the original IP. See the above section for licensing questions.

If someone then creates a derivative of my IP Asset - which has a commercialRevShare of let’s say 10% in its license terms - and earns revenue on it, Story enforces the share of this revenue through the 💊 Programmable IP License (PIL) (otherwise resulting in an on-chain dispute using the ❌ Dispute Module or traditional legal arbitration) and then handles the upstream revenue share at the protocol level. If the derivative work earns 100 $WIP, my original IP Asset could claim 10 $WIP.

Our tutorials will show you exactly how to claim revenue:

For more information on royalty and how it functions, check out the Royalty Module.

Disputing

Now you may be wondering, “How can I actually dispute someone else’s IP if they steal mine, or don’t pay me proper revenue for using it?”

There are two main philosophies/ways to take down “bad” IP.

The first is the 🕵️ Story Attestation Service. This compromises of a bunch of infringement detection providers that, upon IP registration, automatically review the IP - using their own methods, whether it’s AI, manual checking, etc - and flag it if the IP is infringing (ex. registering a picture of Pikachu). Then, any IP discovery platform like the IP Portal can surface the reviews and let users decide if they want to use an IP or not.

For example, an IP that has hundreds of flags from different infringement providers probably isn’t a legitimate IP.

The second is using the ❌ Dispute Module to officially tag & block IP at the protocol level. Anyone can flag an IP and it will be sent off to arbitration partners like UMA who will decide its fate. If officially tagged, an IP can no longer earn revenue or create derivatives via the protocol.

For example, if someone doesn’t make a proper payment for using an IP commercially, or uses it in a disallowed territory, or contains NSFW content.

Our tutorials will show you exactly how to raise a dispute on-chain:

For more information on filing a dispute on-chain, check out the ❌ Dispute Module.