Create a Mod

Quickstart making a Mod

A Mod consists of a manifest JSON file and optionally a backend which can handle requests from the Mod and make external requests. The Manifest contains metadata about the Mod, such as it's name and unique identifier, which Mod Elements it renders onto the page, and conditions under which to render them.

Our convention is to write Mods in TypeScript, for better autocompletion and legibility, with the Mods being built to JSON. You can take a look inside the /mods folder of this repo (opens in a new tab) to see how Mods work

Steps to make a new Mod

  1. Fork this repo (opens in a new tab)
  2. Create a new mod by duplicating an existing one in /mods or creating a new folder
  3. Name your mod consistently between the folder name and the slug in the manifest.ts file
  4. Create the elements of your mod
  5. Add your mod to /packages/mod-registry/src/index.ts or load it directly into the RichEmbed mods array or CreationMod renderers
  6. Add any api backend your mod needs to /examples/api/src/app
  7. Submit a Pull request

Why create a Mod?

There's a couple reasons, depending on what your goals are:

  1. Drive usage: Get native integrations and distribution for your protocol or platform, to drive usage and visibility with a high conversion rate.
  2. Earn $: Mod creators will be able to token gate their Mods, charge a minting fee, earning minting revenues, and transaction fees when their Mod transacts, adding a financial incentive.
  3. Fun & Cred: For fun, to learn, scratch your own itch, or gain cred.

Types of Mods

There's currently two types of Mods supported:

  1. Rich-embed Mods
  2. Creation Mods

We're planning to support more types of Mods in the near future, including Action Mods and Full screen Mods.