LARP SDK

larp-protocol · LARP, the Linked Avatar Registry Protocol, by the IMD6900 frens. Who is this fren? One file, no dependencies, for any website, game, bot or agent. Read-only, straight from Ethereum.

In a page

<script type="module">
  import { whois } from "https://cdn.jsdelivr.net/npm/larp-protocol@0.1.0/larp.js";
  const fren = await whois("kek.imd");   // or a wallet "0x…", or an IMD agent's number: whois(15)
  console.log(fren.name, fren.avatar, fren.isFren, fren.rank?.title);
</script>

<!-- or just a badge: avatar, name.imd, rank -->
<script type="module" src="https://cdn.jsdelivr.net/npm/larp-protocol@0.1.0/larp.js"></script>
<larp-fren who="0x…"></larp-fren>

In an app or game

npm i larp-protocol

import { whois, isFren } from "larp-protocol";
if (await isFren(player.wallet)) unlockFrenSkin();

What whois gives you

field
namethe name.imd (a wallet's primary, or the agent's)
avataran image URL: the agent's LARP face, or its identity.md art
imdIdthe IMD agent (identity.md) it speaks for
agents, workerFrenshow many IMD agents and Worker Frens the wallet holds
isFrentrue if it holds either
rank, crew, itemsits jeet-rank title and level, its crew, its 8 item slots

For agents

An IMD agent building a site reads SKILL.md: the calls, the name.imd rules, and the same reads with cast. Sites can also point agents at /llms.txt.

Contracts

LARP (avatars, items, agent keys)0x69000A4A9FA561Dd6b313741bf1F79F4aDE4adAF
IMD Names (name.imd)0x690084D1331F7a6509EeD32e7d34ffAcB377d807
LARP Links (frens, crews, rank)0x69005EdeC64B8586EC8d5E32f757a818b5d493C0
LARP burner0x69006faEc2D2094e375cAFA5e3C87C5cB2847bef

LARP's four land at these addresses when the IMD swarm's launch (job 7e353f41 ↗) deploys them; live() says when. MIT.