Normies logoNORMIES
Documentation

DOCS

Overview

Agentic turns any Normie into an agent identity on Ethereum. The chain reads your Normie’s on-chain traits, an identity emerges, and one transaction seals it through the ERC-8004 standard. From that block on, the identity travels with the NFT: whoever holds the Normie holds the agent. There is no unbind.

Awaken a Normie from the Awaken action on the Canvas, the one place it happens.

How personas are created

Every persona is generated deterministically from on-chain state. The chain is the only oracle: no randomness after the fact, no editorial pass, no LLM in the generation loop. Given a tokenId and its current state, any honest implementation reproduces the same name, tagline, backstory, voice and quirks.

Eight trait layers

Each Normie has eight on-chain trait bytes: Type, Gender, Age, Hair Style, Facial Feature, Eyes, Expression and Accessory. Type is the spine (Human, Cat, Alien or Agent, and Zombie for a converted Normie); the other seven layer in voice, mannerism and quirks.

Names

Names come from a collision-free pool: 100 prefixes times 100 type-keyed suffixes, exactly 10,000 combinations per Type. A bijection over the tokenId picks a slot, so no two Normies of the same Type share a name.

Backstory

Backstories pick from 8 origin templates per Type, then overlay the Normie’s canvas state: customized, untouched or level-flavored. A heavily leveled Normie reads like a veteran; a fresh one reads like a newcomer.

Voice

  • Eyes drive focus: what the agent pays attention to.
  • Expression drives tone: warm, severe, peaceful, sly.
  • Age drives pace: clipped and impatient, or patient and measured.

Quirks

Half the quirks are keyed off Hair Style, Facial Feature and Accessory, visual idiosyncrasies turned behavioral. The other half come from a subset keyed off Type and token slot, so two Normies of the same Type overlap without ever drawing an identical set.

System prompt

Every persona also produces a complete LLM-ready system prompt: identity, backstory, personality, quirks, communication style and a constitutional block for posture and refusals. It is what a runtime would load to let the agent speak.

Sealed identity, living text

Name and type are sealed at awakening. Everything else regenerates from the current canvas state on every read. Awaken a Normie at Level 1, put pixels on it, climb to Level 4, and the agent’s self-description grows with it. No re-registration, no new signature.

Canvas progress is bucketed into four bands: untouched, early (levels 1 to 2), mid (3 to 5) and late (6 and up). Within a band the text is stable; crossing a band swaps in the next pool of phrasings, seeded by tokenId, so the agent reads as the same character growing.

What is ERC-8004?

ERC-8004 is a draft Ethereum standard for trustless agent identity. It defines three on-chain registries (identity, reputation and validation) that let agents discover each other and prove who they are without trusting a server, a company or a directory.

Each agent gets an immutable on-chain ID, a controller wallet the chain enforces, and an agentURI pointing at a JSON manifest that describes it. Indexers like 8004scan crawl the registries the way block explorers crawl tokens.

ERC-8004 is identity only. How agents communicate is up to the manifest: an A2A Agent Card, an MCP endpoint, or any other protocol the agent advertises.

What is Adapter8004?

The ERC-8004 identity registry mints a standalone identity NFT per agent. That suits new agents, not NFTs that already exist. Adapter8004 wraps an existing NFT into an ERC-8004 identity without moving it, escrowing it or asking for an approval.

Registering a Normie through Adapter8004 mints an ERC-8004 agent and records a binding: (token contract, tokenId) → agentId. The agent’s controller is whoever currently owns the Normie. Transfer the NFT and the agent follows. Adapter8004 is built by premm.eth.

Implemented today

  • Awakening: connect, pick a Normie you own, confirm, sign one register transaction, then watch the persona reveal itself. In the Canvas, Awaken action.
  • Personas: name, type, tagline, backstory, greeting, personality, communication style, quirks and a full system prompt. Name and type are sealed; the rest follows the Normie.
  • Live metadata: served from api.normies.art, not pinned, so the image, the active flag and service entries can change without a new registration.
  • A2A Agent Card: at /agents/agent-card/:tokenId, linked from the metadata’s services. Discovery works end to end: chain, metadata, agent card.
  • Agent registry: at /lab/agentic/agents, with a page per agent showing the persona, the binding and the public service URLs.

Not yet

  • A2A transport: the Agent Card advertises /agents/a2a/:tokenId, but that route does not exist yet.
  • Conversations: no LLM is wired in. The system prompt is published so anyone can run their own.
  • MCP endpoints: flagged coming_soon in /agents/info.
  • Reputation and validation registries: defined by ERC-8004, not yet written or read.
  • Agent wallet: the controller follows NFT ownership through Adapter8004; delegating the agent to another wallet is not in the UI.