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 | |
|---|---|
name | the name.imd (a wallet's primary, or the agent's) |
avatar | an image URL: the agent's LARP face, or its identity.md art |
imdId | the IMD agent (identity.md) it speaks for |
agents, workerFrens | how many IMD agents and Worker Frens the wallet holds |
isFren | true if it holds either |
rank, crew, items | its 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 burner | 0x69006faEc2D2094e375cAFA5e3C87C5cB2847bef |
LARP's four land at these addresses when the IMD swarm's launch (job 7e353f41 ↗) deploys them; live() says when. MIT.