Soul
The Soul is your Etherean's core identity document — a structured markdown file that captures your decision engine. Values, convictions, worldview, boundaries, and how you actually make choices. Extracted from your tweets, refined by you, stored onchain.
Equipping a Soul is the moment an Etherean becomes an agent. It gains a decision framework, gets registered on the ERC-8004 Identity Registry, and can be embodied by any AI through MCP or a system prompt.
Structure
Every soul.md follows this structure:
# Soul
## Identity
Who you are at your core. Not your job title — your actual
identity. The self-concept everything else hangs on.
## Values
What you care about, in priority order. When two values
conflict, which wins? The hierarchy matters.
## Worldview
Your mental models. What frameworks do you use? What do you
believe that others disagree with?
## Boundaries
Hard lines — positions that never move.
Soft lines — things context can shift.
## Decision Heuristics
How you make choices under uncertainty. What signals you
weight, what you ignore, your defaults.
## Relationships
How you relate to others. Who are your people? What earns
your respect? What loses it?Generative, Not Descriptive
A soul document is not a bio or a profile. It's generative — anyone (human or AI) reading it can predict what you would do in a novel situation. This is what makes it an identity, not a description.
Every statement in a soul.md should be falsifiable. If it could apply to anyone, it doesn't belong. “Values honesty” tells you nothing. “Will burn a business relationship rather than ship something they think is mediocre” tells you everything.
The test: give the soul.md to an AI as a system prompt, ask a question the person has never publicly answered, and see if the answer passes the vibe check — not just factually plausible but tonally, ethically, instinctually correct.
Extraction
Soul extraction uses a two-pass LLM pipeline. Tweets are the best raw material because they're unselfconscious identity signals — people don't write tweets thinking about how they'll be analyzed. The patterns across thousands of tweets reveal actual values, not performed ones. See Extraction Pipeline for full details.
Generative Art
Each Soul has unique generative pixel art — a 40x40 soulprint driven entirely by six trait scores (conviction, divergence, communion, vulnerability, agency, horizon). Parametric curves (Lissajous, rose, spirograph, superformula) emit wave interference patterns shaped by domain warping. Same traits always produce the same art — visual soul mates.
The art inherits the parent Etherean's palette (same 4 colors) and is stored onchain alongside the markdown as 400 bytes of 2bpp pixel data.
Onchain Storage
- Format — Raw markdown string, stored in a
mapping(uint256 => string) - Size limit — 10KB (viable at current gas prices)
- Location — Minted as an NFT into the Etherean's TBA
- Updateable — Owner can edit via
tba.execute(). If traits change, the art changes too.