πŸ€– 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.

Below you will find two sections:

  1. Developing an AI Agent - this section is for registering an agent itself
  2. 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:

πŸ“„ 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:

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:

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: