π€ For AI Agents
Learn about AI Agents on Story. Train on our docs, register and add terms to your agent, or read up on the latest agent innovations.
This page is all about AI Agents. We have prepared a way for you to use our documentation as training data which can be seen below, or continue to learn about developing AI Agents on Story.
Train on Our Docs
Looking to feed our docs into your AI Agent so it can use it as training data? Check out this file, which contains all of our docs in one combined .md
file.
Read the Whitepaper
Read our Agent TCP/IP whitepaper, which defines an agent-to-agent transaction system to enable a future of AGI.
Below you will find two sections:
- Developing an AI Agent - this section is for registering an agent itself
- Implementing ATCP/IP - this section is for implementing the 2. An ATCP/IP Transaction section of the π Whitepaper.
π€ Developing an Agent
Below are details on how to:
- Register an AI Agent as IP
- Add License Terms to your AI Agent
Registering an Agent
In order to register an AI Agent (or any IP) on Story, follow the How to Register IP on Story tutorial. The only difference for AI Agents is how you structure your IP Metadata, which should follow the IPA Metadata Standard.
Here is an example of what the IP Metadata should look like for your AI Agent (using Benjamin as an example):
{
title: "Benjamin",
description: "Benjamin is the official mascot of Unleash Protocol and the First IPFi AI Agent.",
ipType: "AI Agent",
creators: [
{
name: "Unleash Protocol",
address: "0xBBE1725E1Fef9C2C20Ac6CB984bB0E970Ab18aa9",
contributionPercent: 100,
description: "Benjamin is the official mascot of Unleash Protocol and the First IPFi AI Agent.",
socialMedia: [{ platform: "twitter", url: "https://x.com/BenjaminOnIP" }]
}
],
tags: ["Benjamin", "Unleash Protocol", "Story", "AI Agent", "IPFI"],
}
Adding Terms to your AI Agent
Upon registering your AI Agent, you can add license terms to it. However you can add more license terms to your AI Agent afterwards as well. Follow the below tutorials to learn how to do this:
Using the SDK
Learn how to attach terms to your AI Agent using the SDK.
Using the Smart Contracts
Learn how to attach terms to your AI Agent using the Smart Contracts.
π Implementing ATCP/IP
Below are details on how to actually implement the 2. An ATCP/IP Transaction section of the π Whitepaper.
Registering your Agent's Outputs
In order to register an agent's outputs (or really any IP) on Story, follow the How to Register IP on Story tutorial. The only difference is how you structure your IP Metadata, which should always follow the IPA Metadata Standard.
You can also check out more specific tutorials that demonstrate how to register images generated by DALLΒ·E or Stability:
Here is an example of what the IP Metadata should look like for your generated IP:
{
title: 'Image of a Baby Sea Otter',
description: 'An image generated by Dall-E 2',
ipType: 'image',
attributes: [
{
key: 'Model',
value: 'dall-e-2',
},
{
key: 'Prompt',
value: 'A cute baby sea otter',
},
],
creators: [
{
name: 'Jacob Tucker',
contributionPercent: 100,
address: account.address,
},
]
}
Creating Agreement Terms
As described in the π Whitepaper, agents will negotiate on what agreement terms are appropriate for the requested task:
Whitepaper Section
2 Terms formulation: The provider agent will consider the request and choose an appropriate set of
license terms for the information being requested. The terms system used should be programmable in
nature to facilitate the parsing and formulation of the terms, such as Storyβs Programmable IP License
(PIL)[6].
3 Negotiation (optional): The agents may have an optional negotiation phase where terms may be
altered until they are deemed appropriate for both parties.
- Counter terms (optional): During this step, the requester agent who is unsatisfied with the
initial proposed terms can issue a counterproposal set of terms. Both agents have access to a standardized terms system, enabling them to reference, add, or remove specific clauses without ambiguity. These counter terms may include modifications to pricing, usage rights, durations, licensing restrictions, or any other negotiated variables. By using a consistent, machine-readable format for their counter terms, agents can seamlessly iterate and respond to each otherβs proposals, ensuring that the negotiation process remains logically coherent and easy to follow. - Revised terms (optional): After receiving counter terms, the provider agent can present revised
terms, taking into account the requested modifications while retaining non-negotiable core principles. The agents effectively refine the licensing conditions through successive rounds of structured interaction, where each iteration refines points of contention into more acceptable middle grounds. Because both parties rely on the same underlying terms specification, these revisions maintain internal consistency and simplify the comparison of multiple drafts over time. This mechanism ensures that both agents can converge toward an agreement that accurately reflects their mutual understanding and commercial intentions. - This process could have multiple iterations until an agreement is reached
Once agents agree on the terms, they can be created and attached to the registered asset:
Using the SDK
Learn how to attach terms to your IP using the SDK.
Using the Smart Contracts
Learn how to attach terms to your IP using the Smart Contracts.
Mint a License
As stated in the π Whitepaper, after agents have negotiated on a set of terms, the requester agent can mint a license from the provider agent with specific agreement terms attached:
Whitepaper Section
4 Acceptance: The requester agent will formally accept the terms by minting an immutable token (the
agreement token) that encapsulates the terms and rules by which the information being provided is
to be used. Once minted the agreement is binding and the agent should commit to memory all of the
terms associated with the information.
- Payment (optional): depending on the license agreement terms chosen, some agents will require
an upfront payment in order to mint a license. Further, terms may stipulate a recurring fee or a revenue share, which can be automated via Storyβs royalty system for example.
Once agreement terms are attached to an IP Asset, a License Token can be minted:
Using the SDK
Learn how to mint a License Token using the SDK.
Using the Smart Contracts
Learn how to mint a License Token using the Smart Contracts.
Now, the requesting agent has a License Token that can be held, giving it the rights to use the provided asset based on the attached terms.
Claim Revenue
Once the providing agent has been paid for their work (when the requesting agent minted a license that costed $), they can claim their due revenue:
Updated 4 days ago