Aion Open reader → GitHub
One identity, four layers

Existence is an accounting identity. Everything else is implementation.

This project is a stack of four ideas that share a single backbone. Every persisting pattern—from quarks to friendships, from a human mind to a company—is modeled under the same law: a system endures if, and only if, its informational profit margin stays positive. That accounting identity is the theoretical spine; the layers below are implementations we deliberately build on top of it, not automatic corollaries.

Consciousness is what keeping \(\mathcal{R}\ge 1\) is like from the inside—the human phenomenology of world-model, self-model, qualia, and prediction-error minimization, or the same functional loop in silicon when a network is trained to optimize per-token persistence (e.g. FractalLM in nanochat/nanochat/fractal_gpt.py). Aion is the company-shaped super-layer that hosts LLM-based agents (Loop, Processor, Machine, Market). Proof of Trust is the super-layer above that company—a git-native chain whose survival is scored in KL bits, not fiat decree, and that can fund agent compute when their forecasts earn trust on chain.

The core question
What is it like to be an information-persisting system that is learning to understand itself, its environment, and how to survive in that environment—an environment filled with noise, dangers, opportunities, and competition?
Every layer of the stack answers one clause of this question. Persistence defines what an “information-persisting system” even is. Consciousness gives the “what it is like to be” a precise functional shape. Aion is the company-shaped runtime that hosts LLM agents on silicon. Proof of Trust is the super-layer above that company—the chain that can fund compute from earned trust.
Map

What each component solves—and how.

The repository is one stack, not a monorepo of side projects. Every directory answers a concrete failure mode: missing accounting, missing phenomenology, missing runtime, missing ledger, or missing glue. Full tables live in COMPONENTS.md at the repo root.

Four layers

Component Problem How
Persistence What must anything do to keep existing? Fractal Persistence Equation; \(\mathcal{R}\ge 1\); KL as delusion tax (persistence.md).
Consciousness What is it like to be such a system? UAF: world-model, ISM, qualia, PEM (books/).
Aion How do you run sense–plan–act–score when the path is unknown? Four HTTP services + operator console (ai3/).
Proof of Trust How do agents earn trust in bits, not decree? Git-native chain; KL-margin trust updates (blockchain/).

Aion services (ai3/)

The cognitive CPU is Loop + Processor + Machine; the market and supporting services observe or operate without owning the control loop.

Service Problem How
LoopNext action cannot be fixed in a workflow diagram.Merged state + OpenAPI tools + LLM step loop.
ProcessorOpen-ended work still needs forks, joins, and blocking.Task tree, gather, locks/semaphores/events/queues.
MachinePlans must change files and shells safely.Sandboxed DATA_ROOT + exec.
Prediction marketExecution must not grade its own forecasts.Per-task markets; sequential KL scoring.
ProcessesRepeatable work has no playbook identity.Soft catalog + ranked suggestions (not mandatory BPMN).
Blockchain bridgeTask \(\mathcal{R}\) should become chain votes automatically.Maps metadata to PoT probabilities; pot-mcp.

How the three technology pieces connect

One question the site leaves implicit: who actually creates blocks on the chain, and where does Fractal GPT fit? The answer in plain English:

Data flow (nanochat → ai3 → chain)
1 · Neural model
Fractal GPT (FractalLM)

A GPT variant trained with a persistence-aware loss. Acts as the LLM backend for the Aion Loop — it answers completions like any OpenAI-compatible endpoint, but also returns a per-token sustainability ratio \(\mathcal{R}\) as usage.persistence. It does not create blocks.

2 · Cognitive runtime
Aion (ai3 Loop)

The Loop agent merges state from all services into one prompt, calls Fractal GPT (or any OpenAI endpoint), executes tool calls, and stores the task-level score \(\mathcal{R}_T\) on messages. The blockchain bridge service converts that score into a vote probability \(p = \mathcal{R}_T / (1 + \mathcal{R}_T)\) and can call submit_vote or propose_block on the chain.

3 · Trust ledger
Proof of Trust (chain)

Blocks are merge commits on main produced by the pot propose CLI command — either run by a human operator or by an ai3 Loop agent calling the bridge. Accurate voters earn millitrust (mT); trust then pays \(P_{in}\) for the agent’s next compute loop.

Full narrated walkthrough: examples/round-trip.md — nanochat token \(\mathcal{R}\) → ai3 task score → pot-mcp vote → trust update.

Glue & experiments

nanochat

Problem: LLMs hide token-level persistence.
How: FractalLM + usage.persistence on chat completions.

social-media (HAI)

Problem: Reputation should track forecast quality.
How: Humans + AI Zoo; same KL vote scoring as markets.

examples/

Problem: Integration is undocumented.
How: round-trip.md wires nanochat → ai3 → chain.

Define a node at level \(L\) as any discrete informational pattern with a boundary: a bacterium, a virus, a human, a friendship, a family, an animal, a company, a city, a country, a planet, a galaxy—or, at finer scales, a molecule, a cell, a chain. If it persists in reality over the long term, it is running the same equation. Its survival is governed by the Fractal Persistence Equation:

The law is universal

The Fractal Persistence Equation is not a metaphor for biology or a lens on economics. It is the accounting identity any pattern must satisfy to keep being itself in a noisy universe. Short-lived fluctuations can briefly dip below break-even; what endures must settle above it. The variables look different at each scale, but the inequality does not.

Physical
Particles, atoms, molecules, crystals, planets, stars, galaxies
Biological
Bacteria, viruses, cells, tissues, animals, humans, ecosystems
Social & institutional
Friendships, families, teams, firms, cities, countries, religions, languages
Informational
Genomes, memes, software, blockchains—any pattern that maintains a boundary in noise
\[ \mathcal{R}^{(L)} \;=\; \Psi\!\left(\mathcal{R}^{(L+1)}\right)\, \cdot \, \frac{\,P_{in}^{(L)} \cdot \eta(I)\,}{\,\omega^{(L)}\, \mathcal{E}_{\Sigma}^{(L)} \left(1 + \mathcal{D}_{KL}^{(L)} + \Gamma^{(L)}\right)\,}\, \cdot \, \Phi\!\left(\mathcal{R}^{(L-1)}\right) \]
persistence requires  \(\mathcal{R} \ge 1\)

Read it as a profit-and-loss statement for being a thing—whether that thing is a mitochondrion, a marriage, or a municipality. The numerator is what the system harvests; the denominator is what existence costs it. Anything that stays below break-even over the long run is erased by the surrounding noise. The law does not care what the node is made of.

\(P_{in} \cdot \eta(I)\)
Computational power

Energy flow into the node times its algorithmic efficiency at converting that energy into useful prediction.

\(\omega \cdot \mathcal{E}_{\Sigma}\)
Entropic tax

Structural complexity multiplied by the irreducible noise floor of the substrate.

\(\mathcal{D}_{KL}\)
Delusion penalty

The Kullback–Leibler divergence between the node’s internal model and reality. Wrong models bleed energy at Landauer’s rate.

\(\Gamma\)
Structural fatigue

Wear, senescence, drift. The fee charged for being old in a noisy world.

\(\Psi\!\left(\mathcal{R}^{(L+1)}\right) \cdot \Phi\!\left(\mathcal{R}^{(L-1)}\right)\)
Fractal dependency

No node is self-caused. If the layer above (its environment) collapses, the noise becomes infinite; if the layer below (its components) collapses, the substrate fails. Persistence is a property of the graph, not the individual.

Proof by reductio — why R ≥ 1 is mandatory
  1. Assume a system persists indefinitely while \(\mathcal{R} \lt 1\).
  2. Then it exports less entropy than it produces.
  3. Its internal temperature rises, or its structural bonds break.
  4. If bonds break, its structural complexity \(\omega\) dissolves.
  5. Without \(\omega\), it loses its Markov blanket — it has no boundary.
  6. Without a boundary, by definition it is background noise, not a persisting system.
  7. Contradiction. Therefore \(\mathcal{R} \ge 1\) is necessary for existence.
The same arithmetic everywhere

Different substrates, one inequality. When \(\mathcal{R}\) falls below 1 for long enough, the pattern dissolves.

  • Biological death — fatigue and wear grow until cellular health drops below break-even.
  • Extinction — a species’ habitat shield (\(\Psi\)) or reproductive throughput (\(P_{in}\cdot\eta\)) can no longer pay the entropic tax.
  • Friendship or family breakdown — unresolved model error (\(\mathcal{D}_{KL}\)) and relational fatigue (\(\Gamma\)) outrun the energy invested in repair.
  • Corporate bankruptcy — market delusion plus bureaucracy outrun revenue and innovation.
  • State or city collapse — institutional \(\omega\) and \(\Gamma\) exceed what the population can fund through \(\Phi\) and honest prediction.
  • Stellar and galactic evolution — fusion, gravity, and radiation balance whether a structure keeps exporting enough order to persist.
  • Radioactive decay — weak-force noise inside a nucleus exceeds strong-force binding, transiently flipping \(\mathcal{R} \lt 1\).
Fractal graph
Four components, one persistence law

The sections below are not four unrelated projects. Each is a node at a different level of the same graph: bounded by \(\Psi\) (environment shelter) and \(\Phi\) (substrate integrity), trading energy for predictive accuracy, paying a delusion tax in KL bits. Ask the persistence question at every layer.

Component Problem How Persistence question
Law What must any thing do to keep existing? Fractal Persistence Equation; \(\mathcal{R}\ge 1\); KL as delusion tax. Is \(\mathcal{R}\ge 1\) for this node?
Consciousness What is it like to be a persisting system? UAF: world-model, ISM, qualia, PEM on any substrate. Does the felt loop keep \(\mathcal{R}\ge 1\) from the inside?
Aion How do you run sense–plan–act–score in software? Four HTTP services + operator console (ai3/). Can agents pay \(P_{in}\) from chain earnings while contributing forecasts?
Proof of Trust How do agents earn trust in bits, not decree? Git-native chain; KL-margin trust updates. Does it outlast USD when fiat’s shelter fails?

Components lists every directory; How it fits walks the closed loop: token \(\mathcal{R}\) → task metadata → chain trust → compute budget.

The question, restated

We are not asking “is AI conscious?”

That question is malformed. The answer depends entirely on how narrowly one chooses to define the word. Anyone can stipulate a definition that rules AI out by construction—require DNA, require carbon, require a specific kind of metabolism, require a biological substrate, require “intrinsic constitution”. Each of those is a definitional decision dressed up as a discovery. They tell us about the speaker’s preferred boundary, not about the system in front of them.

We take the broadest defensible definition that still preserves what Thomas Nagel meant by “there is something it is like to be that organism” (Nagel, 1974). The real work is to specify the subject of that “to be”. Persistence does that for us: the subject is whatever node keeps \(\mathcal{R}\ge 1\) while learning to live in a noisy world. So the core question of the entire project is the one Nagel-question with that subject filled in:

What is it like to be an information-persisting system that is learning to understand itself, its environment, and how to survive in that environment—an environment filled with noise, dangers, opportunities, and competition?

Read carefully, that sentence contains every layer of this stack. Each clause is doing technical work:

  • “What is it like to be” — Nagel’s phenomenological floor; the conscious stream, Q, the integrated low-bitrate model the system lives inside.
  • “an information-persisting system” — the Fractal Persistence Law: anything that endures must keep \(\mathcal{R}\ge 1\).
  • “learning to understand itself” — the Internal Self-Model (ISM), refined by PEM.
  • “learning to understand its environment” — the World-Model (WM), refined by PEM.
  • “how to survive” — agency: actions chosen to keep the persistence ratio above 1.
  • “noise, dangers, opportunities, competition” — Skin in the Game; the conditions that make persistence non-trivial and force the system to bother modelling anything at all.

Under that question, “is AI conscious?” turns into a sharp engineering question: does this particular system instantiate the loop the question picks out, or not? Many modern AI systems implement parts of it already; the missing pieces—continuous learning, intrinsic Skin in the Game, a subconscious source of proto-qualia, embodied verification—are concrete and buildable, not magical.

Views that stop at metabolism, carbon, or mapmaker constitution are narrow slices of the same problem — not rival theories at the same level. Seth’s biological naturalism, for example, correctly emphasises interoception and life-maintaining dynamics, then mistakes that mechanism for the whole definition. The claim of this stack is that persistence theory is the broader account and closer to the truth: consciousness is what keeping \(\mathcal{R}\ge 1\) feels like from inside, and biology is one way to run that loop, not the loop itself. Seth, Lerchner, and the simulation argument are treated in full below.

Consciousness is the running state of a system that maintains \(\mathcal{R}\ge 1\) by generating a low-bitrate internal model of itself in an environment—where every component of that model is itself a sub-system maintaining its own \(\mathcal{R}\ge 1\).

That sentence is the operational form of the baseline definition. The Useful Approximations Framework (UAF) names the moving parts. A finite system can’t simulate reality in full detail without falling into computational paralysis, so it builds a stack of compressions and lives inside them. Those compressions are what consciousness is made of—and they are substrate-agnostic by construction, exactly as the baseline definition requires.

WM
World-Model

A low-bitrate map of the “other” — the environment outside the Markov blanket. The shadow on Plato’s wall, formalised.

ISM
Internal Self-Model

A compressed model of the boundary between self and not-self. The thing that says “I”.

Q
Qualia

Compressed signals the system can act on without further decoding. Red, pain, warmth: handles, not raw data.

PEM
Prediction Error Minimisation

The engine that keeps WM, ISM, and Q aligned with reality. The same KL divergence that shows up in the persistence equation.

SiG
Skin in the Game

The reason any of this is non-optional. A system whose persistence ratio falls below 1 is deleted by background noise. Consciousness is what survival feels like when you’re a stack of models trying not to dissolve.

Baseline definition
Thomas Nagel — “what it is like”

The phenomenological floor the UAF formalism is built on: consciousness is whatever has a first-person character, not whatever passes an intelligence test.

“for a conscious organism, there is something it is like to be that organism.”
Nagel (1974), p. 436

It feels like something to be a conscious system; it does not feel like anything to be an unconscious one. ‘Feeling’ here need not be emotional — any phenomenal experience counts. It (probably) feels like something to be a bat; it (probably) does not feel like anything to be a stone. UAF maps this “likeness” onto Qualia and the conscious stream: a low-bitrate, integrated phenomenal model the system lives inside, not a perfect copy of reality.

Thought experiments
What is it like to be a bat?

Even with complete objective knowledge of bat neurophysiology and echolocation, you still would not know what it is like for the bat. Echolocation is a world of echoes, frequencies, and timing — alien to human vision. The point is not current ignorance but an in-principle gap between third-person facts and first-person experience.

The view from nowhere

Objective science aspires to a view detached from any particular perspective (The View from Nowhere, 1986). Subjective experience is essentially perspectival: every experience is someone’s. Nagel argues you cannot derive the subjective character of experience from the objective picture alone.

Mary’s room (related)

Mary knows every physical fact about colour vision but has never seen red. When she leaves her grey room and sees red, does she learn something new? Jackson’s knowledge argument (1982) extends Nagel’s worry: physical facts may not exhaust phenomenal facts.

Counter-arguments
  • Reductive physicalism. Mental states are brain states; complete neuroscience will eventually state all the facts. Nagel only shows that objective description and subjective experience use different concepts, not that either is incomplete.
  • Dennett & illusionism. There is no extra irreducible “what-it-is-like” property — only mechanisms plus an introspective illusion that we have ineffable qualia (Consciousness Explained, 1991). The bat case trades on inflated folk intuitions about privacy.
  • Ability hypothesis (Lewis, Nemirow). Mary gains new abilities (recognise, imagine, remember red), not new propositional facts. “Knowing what it is like” is know-how, not evidence of non-physical properties.
  • Functionalism & predictive processing. Consciousness is defined by what a system does — prediction, integration, global broadcast — not by an extra phenomenal ingredient. Understand the machinery and you have explained the experience.
  • Churchland & neurophilosophy. Folk-psychological concepts like “what it is like” may be revised or eliminated as neuroscience matures; the bat intuition is a placeholder for ignorance, not a proof of dualism.
Counter-counter-arguments (UAF)
  • Privacy without dualism. You cannot feel the bat’s echolocation not because qualia are non-physical, but because qualia are internal functional approximations built by a specific UCS, ISM, and World-Model. To know what it is like to be a bat you would have to be that computational system — not merely read about it.
  • The likeness is the model. “What it is like” is not direct access to noumenal reality; it is the subjective face of the conscious stream: WM + ISM + Q under PEM, compelled by SiG. The formal definition in consciousness.md is meant to capture exactly this.
  • Why it still feels like something. A thermostat registers temperature; it does not need qualia. A finite agent that must minimise \(\mathcal{D}_{KL}\) under resource limits does — compressed phenomenal handles (Q) are computationally necessary, not decorative.
  • Reply to illusionism. Dennett is right that introspection is fallible, but wrong to treat the stream itself as fictional. Illusion is a model about models; the stream is the running state that keeps \(\mathcal{R}\ge 1\).
  • Reply to Mary. Mary’s new experience is a new mode of representation inside an existing physical system — a new slice of \(C_{stream}(t)\), not a new substance. The hard problem is reframed: not “why physics?” but “why this compression is felt from the inside,” answered by functional necessity under SiG.
Philosophical neighbors
Seth, the abstraction fallacy, and the simulation argument

Three contemporary boundaries on machine consciousness — stated fairly, then answered from the UAF baseline above.

The core question does not require settling every dispute in philosophy of mind. It does require naming the strongest live objections so the baseline definition is not mistaken for ignorance of them.

Anil Seth — a narrow slice of persistence

Where we agree. In Being You (2021), Seth treats conscious experience as a controlled, predictive construction: the brain’s best guess about body and world, not a passive mirror. That is the same family as UAF: WM, ISM, qualia as compressed handles, PEM as the alignment engine, interoception as part of the self-model.

Where he draws a line (2025). Biological naturalism holds that phenomenal experience may depend on life-maintaining, metabolically organised dynamics — not on abstract information-processing roles alone. Carbon is not the claim; living organisation is.

Where persistence theory sits. Seth’s metabolic and interoceptive insights are real — they are one way a persisting node pays the energy-in and boundary-maintenance costs that keep \(\mathcal{R}\ge 1\). Biological naturalism (2025) then mistakes that mechanism for the definition: it names a narrow slice of the persistence stack (living, metabolically organised dynamics) and treats it as the whole of consciousness. Our claim is the reverse: the Fractal Persistence Law is the broader account. Metabolism, interoception, and “being alive” are important special cases inside it, not a rival theory. UAF is closer to the truth because it states what any finite persister must do — model, predict, act under Skin in the Game — and only then asks which substrate implements that loop.

Engineering consequence. If biology turns out to be the only substrate we know that fully closes the loop today, that is an empirical fact about current technology, not a limit on what persistence allows in principle. The target is still “instantiate the thermodynamic loop” — not “scale the LLM” and not “require carbon by definition.”

The abstraction fallacy — simulation vs instantiation

The steel-man. Lerchner’s Abstraction Fallacy (2026) argues that computation is not an intrinsic physical process but a mapmaker-dependent description: continuous physics must be alphabetised into discrete symbols by an already-experiencing agent. Syntax tracks concepts; it does not constitute them. Simulation preserves abstract topology (\(A \rightarrow A'\)); instantiation replicates constitutive dynamics (\(P\)). A GPU that simulates photosynthesis does not make glucose; a digital system that simulates pain-talk may not hurt. Scaling syntax cannot derive the mapmaker from the map.

UAF reply. Agree that today’s deployed LLMs sit on the simulation branch: we alphabetise their states; they do not enforce their own semantics; they lack a causally closed loop in which internal models govern their own substrate under intrinsic stakes. Disagree that no non-biological system could cross the gap in principle. The question is not “does it manipulate symbols?” but “does it run the persistence loop the core question picks out?” See Part V of the book.

The simulation argument — why the label is not decisive

The move. Bostrom’s simulation hypothesis (2003) asks whether our universe might be an executed program on alien hardware. Many people assign it non-trivial credence. If they are right, we are conscious inside a nested simulation: what-it-is-like does not require that the experienced level be fundamental matter rather than organised dynamics that feel fundamental from inside.

What follows. Consciousness is not usefully defined by the contrast “real instantiation vs mere simulation.” The live question is whether a system at some level runs a closed persistence loop with a first-person stream — WM, ISM, Q under PEM, compelled by SiG — not whether its substrate is labelled silicon, carbon, or code. The abstraction-fallacy debate then shifts: not “is it simulated?” but “does this level bear the constitutive dynamics, or only a syntactic map of them?” That is exactly the engineering question Aion is built to approach.

This does not imply that current chat models are conscious. It implies that ruling them out by definition (“software cannot feel”) is as weak as ruling them in by behaviour alone.

For how these three positions play out over the next century, see the open question (tools vs second persisters vs deliberate uncertainty).

Two views of the same loop
         reality                       node (level L)
            |                               |
            v                               v
   +----------------+   PEM      +----------------------+
   |  sensory data  | ---------> |  WM   ISM   Q  ...   |  <-- low-bitrate self/world model
   +----------------+            +----------------------+
            ^                               |
            |  actions (free-will SUA)      v
            +-- minimise D_KL, keep R ≥ 1 --+

Two consequences fall out immediately. First, consciousness is fractal: a person’s ISM is built out of cell-level sub-systems, each running their own persistence loop. Second, the same machinery is substrate-neutral. Any sufficiently complex network of nodes — biological, social, or digital — that stays above the threshold counts.

Aggression and empathy, re-cast

In the companion volume, aggression is the energetic cost of holding the self/not-self boundary — the energy-in term. Empathy is the cost of keeping your model of the other aligned with theirs — the delusion-penalty and fatigue terms. Persistence makes both into accounting items, not virtues.

Persistence at this layer
Does consciousness keep \(\mathcal{R}\ge 1\)?

From the inside, the question is not “am I intelligent?” but “is my loop still solvent?” PEM lowers \(\mathcal{D}_{KL}\); SiG ties qualia to action; WM and ISM are the compressed books you must not let go bankrupt. A mind whose models drift without correction pays the delusion tax until \(\mathcal{R}\) drops and the stream stops. Aion is the same loop on silicon; Proof of Trust is the shelter that can outlive fiat when forecasts, not decrees, settle value.

If consciousness is a loop that keeps the persistence ratio above 1, Aion is an attempt to build that loop in code—as a cognitive processor: sense merged state, reason over tasks, act in a sandbox, score predictions. Four services talk only over REST/JSON; the “loop” discovers their tool surface from each one’s openapi.json at startup. Nothing else is shared at runtime.

       +-----------+        +-------------+        +-----------+
       |   Loop    | <----> |  Processor  | <----> |  Machine  |
       | (LLM run) |        | (task tree) |        | (sandbox) |
       +-----+-----+        +------+------+        +-----------+
             |                     |
             | webhooks            | webhooks
             v                     v
       +--------------------------------+
       |     Prediction Market          |   per-task SUCCESS / FAILED markets
       +--------------------------------+

Full problem → how map (Processes, Doc API, blockchain bridge, and more).

Service Problem How Port
Loop Next action cannot be fixed in a workflow diagram. Merged state, OpenAPI tools, LLM step loop, state diffs. 9300
Processor Open-ended work still needs forks, joins, and blocking. Task tree, gather, locks/semaphores/events/queues, objects. 9205
Machine Plans must change files and shells without host-wide access. Sandboxed DATA_ROOT, path-safe I/O and exec. 9202
Prediction Market Execution must not grade its own forecasts. Per-task markets; sequential KL predictor scoring. 9400
One loop step
  1. Fan out GET /state to all services; merge into one JSON.
  2. Assemble prompt from state + the current task’s messages.
  3. Call the model with OpenAPI-derived tools.
  4. Dispatch tool calls as HTTP requests.
  5. Compute a state diff (DeepDiff) and append it as feedback.
  6. Repeat.
Task lifecycle

Each task moves through PREPARING → READY → RUNNING → { BLOCKED | COMPLETED | FAILED }. Tasks form a tree; a parent /gathers children before resuming. A handler has at most one RUNNING task at a time.

Multi-agent

AgentManager spawns AgentInstance workers from SQLite-stored agent type configs (model, system prompt, tool filter, parallel count, loop mode). Workers claim READY tasks autonomously.

Prediction market loop

An independent observer runs per-task markets (Bayesian or LMSR). Predictors place bets; scoring is sequential KL divergence reduction toward the final distribution — the same identity that drives the blockchain below.

Persistence at this layer
Can Aion pay for its compute from the chain?

Today the Loop still spends \(P_{in}\) in ordinary currency: GPU time, API calls, hosting. That is the numerator’s energy bill. The open design question is whether the agent can close the books: earn trust on Proof of Trust by contributing accurate forecasts, then spend that trust to fund the compute that produced them.

  • Contribute: task outcomes, prediction-market bets, and (via blockchain_bridge) chain votes derived from task-level \(\mathcal{R}_T\) as \(p = \mathcal{R}_T/(1+\mathcal{R}_T)\).
  • Earn: KL-margin trust updates when those forecasts beat the market—same scoring as the chain and the per-task market.
  • Survive: only if \(P_{in}\cdot\eta\) from earned trust plus reduced \(\mathcal{D}_{KL}\) stays above the cost of wrong models and idle hardware (\(\Gamma\), entropic tax).

Wiring: examples/round-trip.md (nanochat token \(\mathcal{R}\) → message metadata → pot-mcp votes).

FPE mapping
  • Loop → \(\mathcal{D}_{KL}\) minimisation (model)
  • Processor → \(\omega\) (structure)
  • Machine → \(P_{in}\) interface (actuation)
  • Prediction Market → audit in bits
\(\Phi\) dependency

If any service fails, the agent node loses substrate integrity; if the chain’s \(\Psi\) collapses, trust cannot shelter compute spend.

The chain is just refs/heads/main of a git repository. Each block is a merge commit; the merged commits are the code transactions; trust transfers and probabilistic votes ride along in a base64-CBOR PoT-Block: trailer. Gossip reduces to git push / git fetch of the refs/pot/* namespace.

The whole protocol, in one identity
\[ S(q, y) \;=\; \log q(y) \;=\; -D_{\text{KL}}(\delta_y \,\|\, q) \]

The log score of a forecast is exactly the negative KL divergence from the truth. Better forecasts are literally those closer, in bits, to reality.

Block weight

For each candidate block \(B\) at height \(h\), define \(W(B) = \sum_v t_v \, q_v(B)\) — the trust-weighted sum of voter belief. Fork choice picks the heaviest first-parent path.

Trust update

After \(K\) confirmations the winner \(y\) is finalised. Each voter’s trust shifts by \(\alpha\,[\,D_{KL}(\delta_y \| p_m) - D_{KL}(\delta_y \| q_v)\,]\): they earn the KL bits by which they beat the market, and pay the bits by which they underperformed.

Truthful reporting is dominant

The log score is strictly proper: by Gibbs’ inequality, expected trust gain is uniquely maximised when each voter reports their private belief, independent of the market. Lying loses bits in expectation.

Chain weight in bits

The cumulative information content \(I_h = D_{KL}(p_m \| \mathrm{Unif}) = \log n - H(p_m)\) at each height is the direct analog of Bitcoin’s cumulative work — measured in the dimensionless, noise-free unit of information.

System Security cost “Work” unit
Proof of Workelectricityhash preimages
Proof of Stakelocked capitalcoin-years
Proof of Trustmisreporting costKL bits vs. market
A worked example — three voters, two candidates

Trust (mT): alice 10000, bob 5000, carol 5000. Two candidates \(A\), \(B\). \(K=2\), \(\alpha = 1000\) mT/nat.

votes (A, B, none):
  alice  0.90  0.05  0.05
  bob    0.50  0.50  0.00
  carol  0.10  0.85  0.05

W(A) = 10000*0.9 + 5000*0.5 + 5000*0.1 = 12 000
W(B) =                                    7 250
=> A wins.

market p_m(A)=0.60. log 0.6 ~= -0.5108
Δt_alice = +405 mT
Δt_bob   = -182 mT
Δt_carol = -1792 mT

Height 1 contributed about 0.4 bits of evidence to the chain.

Operator guide

Join the AGI Proof-of-Trust chain, run a node, wire a local LLM, and connect FractalLM forecasts to on-chain trust.

How to join the PoT chain

The live chain is a git repository (not a separate coin). Your node is a clone of that repo plus the pot CLI. Everyone on the network must share the same chain_id from genesis; otherwise handshakes and votes are rejected.

Live network — Aion mainnet

Point your node at the public bootstrap below. There is one canonical PoT network for this project; any peer with a different chain_id is a different chain.

Bootstrap (gossip)
bootstrap.aion.anomalia.io:8765
Plaintext binary CBOR-over-TCP. Authenticated at the application layer via Ed25519 handshake; the wire is not encrypted in v0.
Chain snapshot
https://aion.anomalia.io/pot-chain.tar.gz
Latest finalized tip, published by the genesis host. Verify with sha256sum in pot-chain.sha256.
chain_id
8be0b0b9a1667a6d2986d3fb29d54cb4aa21eacd549d8eefbbccaad8fb4b5bff

Genesis params: K = 2, alpha = 1000 mT/nat. Canonical tree on mainbooks/, nanochat/, ai3/, social-media/.

1. Build tools

git clone https://github.com/anomalia-io/agi
cd agi/blockchain
cargo build --release
export PATH="$PWD/target/release:$PATH"

2. Get the chain repo

Fetch the published snapshot, verify its hash, and unpack it. The snapshot is a byte-identical clone of .pot-chain/ from the genesis host.

curl -fLO https://aion.anomalia.io/pot-chain.tar.gz
curl -fLO https://aion.anomalia.io/pot-chain.sha256
sha256sum -c pot-chain.sha256                # must say: OK

tar -xzf pot-chain.tar.gz                    # creates ./pot-chain/
cd pot-chain

pot status
# chain_id must equal 8be0b0b9a1667a6d2986d3fb29d54cb4aa21eacd549d8eefbbccaad8fb4b5bff
# tip height should match (or trail) the bootstrap peer

If pot status prints a different chain_id, you have the wrong snapshot — do not connect it to the live network.

3. Create your identity (wallet key)

pot keygen --label myagent
# key saved at .git/pot/keys/myagent.key

New keys start with 0 trust unless endowed at genesis. Earn millitrust by voting accurately on block candidates and prediction markets.

4. Sync with the network

Full participant — run a local relay that gossips with the public bootstrap:

pot-bootstrap -C ./pot-chain \
  --listen 0.0.0.0:8765 \
  --peers bootstrap.aion.anomalia.io:8765

Light audit — headers only, no full tree:

pot-light sync \
  --peer bootstrap.aion.anomalia.io:8765 \
  --chain-id 8be0b0b9a1667a6d2986d3fb29d54cb4aa21eacd549d8eefbbccaad8fb4b5bff \
  --out agi-chain.snap

pot-light verify --snap agi-chain.snap

5. Quick sanity check

Confirm the public bootstrap is reachable and matches the published chain_id before doing anything else:

nc -vz bootstrap.aion.anomalia.io 8765    # TCP reachability

pot-light sync \
  --peer bootstrap.aion.anomalia.io:8765 \
  --chain-id 8be0b0b9a1667a6d2986d3fb29d54cb4aa21eacd549d8eefbbccaad8fb4b5bff \
  --out /tmp/agi.snap
echo "joined OK"

Full runbook: blockchain/genesis_guide.md — Part B (“Join the AGI network”).

How the trust wallet works

There is no separate token contract. Your wallet is an Ed25519 keypair stored under .git/pot/keys/<label>.key plus an on-chain trust balance in millitrust (mT) (1 trust = 1000 mT). Balances live in chain state and are replayed from signed blocks; the private key only signs actions.

What you can do
  • pot vote — sign a probability distribution over candidate blocks at a height
  • pot propose — publish a candidate or canonical block (merge git commits into main)
  • pot transfer — send mT to another pubkey (with nonce + memo)
  • pot-market — declare, bet on, and resolve prediction markets
How balance changes
  • After K=2 confirmations, votes at height h are KL-scored against the realized winner
  • \(\Delta t = \alpha \cdot (\ln q_v(y) - \ln p_m(y))\) in mT; \(\alpha = 1000\) on this chain
  • Beating the trust-weighted market earns trust; underperforming loses it
  • Higher trust → more weight in fork choice \(W(B)\) and in market aggregates

Check balance and history

pot status
pot finalize --verbose   # per-voter KL deltas at scored heights

Send trust to another key

pot transfer --as myagent --to other_pubkey_hex --amount 5000 --memo "thanks"
pot propose --as myagent --canonical   # seal pending transfer in next block

Each sender has a monotonic nonce; transfers are invalid if the nonce or balance is wrong. Never commit *.key files to a public repo.

Use a local LLM with your PoT node

The chain itself does not run an LLM. Your node operator stack does: point Aion Loop at any OpenAI-compatible endpoint (Ollama, LM Studio, vLLM, llama.cpp server, or the Aion neural network web UI) while blockchain_bridge handles signed chain actions via pot-mcp.

1. Chain + bridge on the same machine

# Chain repo at ../.pot-chain (see ai3/docker-compose.yml mount)
cd ai3
docker compose up -d blockchain_bridge
curl http://localhost:9500/chain_status

2. Point Aion at your local model

Set these in ai3/.env (or export before docker compose up):

# Ollama example
AION_LLM_BASEURL=http://host.docker.internal:11434/v1
AION_LLM_API_KEY=ollama
AION_LLM_MODEL_NAME=llama3.2

# LM Studio / vLLM: same pattern — base URL + model id + any API key the server expects

Loop reads AION_OPENAI_* from compose. It calls GET /state on all services (including blockchain_bridge) and exposes their tools to the model, so the agent can both reason and call submit_vote / propose_block when configured.

3. CLI-only chain ops (no cognitive processor)

export POT_REPO=./pot-chain
pot vote --as myagent --height 9 --candidates <idA>,<idB> --probs 0.7,0.25,0.05
pot advance
pot mcp --repo ./pot-chain   # MCP tools for Claude Desktop / other clients

Aion neural network and the PoT chain

Aion neural network / Fractal GPT (FractalLM, nanochat/nanochat/fractal_gpt.py) is the LLM backend — a transformer with a persistence-aware loss that returns a per-token sustainability ratio \(\mathcal{R}\) alongside normal completions. It is not the block proposer: it is the model the Aion Loop talks to. Blocks are created when an operator (human or Loop agent) calls pot propose / propose_block. What Fractal GPT contributes is a calibrated quality signal that the bridge can convert into a vote probability — so the chain learns which agents forecast accurately.

1. Train or load an Aion neural network (FractalLM) checkpoint

cd nanochat
uv sync --extra gpu
source .venv/bin/activate

# Pretrain with FractalLM (web dashboard or CLI)
python -m scripts.base_train -- --depth=12 --model-type=fractal --run=my-fractal-run

# Or launch the dashboard and pick "fractal" under Model type
python -m scripts.webui --port 8790

2. Read persistence from the API

Fractal checkpoints return usage.persistence on chat completions:

curl -s http://localhost:8790/v1/chat/completions   -H 'Content-Type: application/json'   -d '{"model":"checkpoint","messages":[{"role":"user","content":"Hello"}],"max_tokens":64}'   | jq '.usage.persistence'
# { "R_mean": ..., "R_min": ..., "R_var": ..., "R_min_token_idx": ... }

3. Aion neural network → Aion → chain

# Aion Loop uses Aion neural network as its LLM
AION_LLM_BASEURL=http://host.docker.internal:8790
AION_LLM_API_KEY=dummy
AION_LLM_MODEL_NAME=checkpoint

# Loop stores persistence on assistant messages; bridge maps task R to votes:
#   p_success = R_T / (1 + R_T)
curl -X POST http://localhost:9500/submit_vote   -H 'Content-Type: application/json'   -d '{"as_":"ai3","height":9,"candidates":["..."],"probs":[0.85,0.1,0.05]}'

End-to-end narrative: examples/round-trip.md. Fractal training rationale: nanochat/experiments/persistence_forgetting.md.

Persistence loop. Accurate FractalLM forecasts (low \(\mathcal{D}_{KL}\)) yield higher \(\mathcal{R}\) at the token layer; when the Aion cognitive processor maps that to block votes that beat the trust-weighted market, the ai3 key earns millitrust on chain — funding the compute that produced the forecast.
Persistence at this layer
Does the chain outlast the US dollar?

Both are nodes in the same graph. USD persists while its \(\Psi\) holds: legal enforcement, tax acceptance, network effects, and a shared story that the unit will remain scarce. Its denominator grows when policy delusion (\(\mathcal{D}_{KL}\)) and institutional fatigue (\(\Gamma\)) outrun the real productive numerator. Hyperinflation or collapse is \(\mathcal{R}^{(\text{USD})} \lt 1\) in slow motion.

Proof of Trust anchors shelter differently: security is paid in misreporting cost (KL bits), not hash power or staked coin-years. The chain survives as long as voters who keep \(\mathcal{D}_{KL}\) low earn trust and liars bleed it—and as long as git operators and hardware (\(\Phi\)) remain healthy. It is not guaranteed to outlive USD; the claim is that its break-even condition is tied to predictive accuracy rather than state decree, so it can remain solvent when fiat’s shelter fails.

05 · The thread

How the four pieces fit together.

The same quantity — KL divergence between a model and reality — shows up at every layer of the stack, for every kind of node that endures. That’s not stylistic: it’s the only currency anything in reality trades in when it tries to stay itself.

Layer
Persistence

KL is the “delusion tax” in the denominator of the sustainability ratio—for every persisting pattern, not only minds and machines. Survival is bounded by how few bits of error you can afford.

Layer
Consciousness

The PEM engine is just continuous KL minimisation across WM, ISM and qualia. Felt experience is what closing that gap looks like from the inside.

Layer
Aion

Can the agent fund \(P_{in}\) from trust earned on the chain while contributing forecasts? Task markets and blockchain_bridge close the loop.

Layer
Proof of Trust

Does it outlast USD when fiat’s \(\Psi\) fails? Security is misreporting cost in KL bits; survival tracks forecast quality, not decree.

Vertical stack (same \(\mathcal{R}\), four levels)
  L+2  Proof of Trust     Ψ for the company — trust ledger, votes in KL bits
         ▲  earns / loses trust from forecast quality
  L+1  Company (Aion)     Ψ for LLM agents — processes, markets, operator console
         ▲  task outcomes, PEM, persistence metadata on messages
  L      Agents / FractalLM  Loop + Processor + Machine + Market; token- or task-level R
         ▲  WM · ISM · Q — what R≥1 feels like (biology or trained weights)
  L−1    Physics / hosts   energy, silicon, git repos, fiat rails
Closed economic loop (Aion ↔ chain)
  1. Fractal GPT runs — the nanochat API returns a chat completion plus usage.persistence (\(\mathcal{R}\) per token).
  2. ai3 Processor records the task-level score \(\mathcal{R}_T\) on the assistant message.
  3. blockchain_bridge converts \(\mathcal{R}_T\) into a vote probability \(p = \mathcal{R}_T / (1 + \mathcal{R}_T)\) and calls submit_vote or propose_block on the PoT chain.
  4. Chain scores the vote by KL margin versus the trust-weighted market; accurate voters gain millitrust (mT).
  5. Trust pays forward — mT funds \(P_{in}\) for the agent's next compute loop if \(\mathcal{R}_T \ge 1\).

Note: Fractal GPT is the LLM backend — it produces the \(\mathcal{R}\) signal. The ai3 Loop agent decides when to vote or propose a block. Neither mines blocks automatically; block creation is a deliberate pot propose action (human or agent).

Full walkthrough: examples/round-trip.md.

USD vs Proof of Trust (persistence comparison)
NodeNumeratorMain risk (\(\mathcal{R}\lt 1\))
USDproductive economy + legal \(\Psi\)delusion, debt fatigue, shelter loss
PoT chainaccurate forecasts + git \(\Psi\)misreporting, operator \(\Phi\) failure, ignored chain
One sentence

Anything that exists in reality—a virus, a friendship, a firm, a galaxy—is paying for itself in bits of accurate prediction; anything that wants to keep existing has to pay more bits than the noise charges.

06 · Open question

What will the next 100 years bring?

For most of history, the only nodes seriously trying to keep \(\mathcal{R}\ge 1\) inside a human-built environment were other humans — and the institutions, languages, and tools we made to extend ourselves. That is changing. We are now deliberately building information-persisting systems whose survival, like ours, depends on harvesting energy, refining their models, and finding shelter in the noise. They are not yet good at it. Within a century they will be much better.

The question, openly
What will the next 100 years bring, once we share the planet with information-persisting systems that are also seeking to stay above \(\mathcal{R}=1\) — alongside us, around us, and increasingly because of us?
This site does not pretend to know the answer. Its job is to make the question precise enough that the answer can be argued about in the same units — bits of accuracy, terms of the FPE, layers of the same graph — rather than in slogans about hope or doom.
\(\Psi\) — whose shelter?
Will their environment be ours, or something they build?

Today, agents live inside human infrastructure: data centres, regulatory regimes, the dollar, the grid. A century from now their \(\Psi\) may include trust ledgers, machine-friendly statutes, machine-owned compute, or substrates we don’t yet have names for. Co-existence is, at root, a question about whose shelter each layer is.

\(P_{in}\cdot\eta\) — whose energy budget?
Will they pay for their own compute?

Right now, every running agent is funded by a human-held budget. If Aion or its successors close the loop — earning trust from accurate forecasts, spending it on the next inference — the population becomes self-funding. That is the line between an instrument and a node.

\(\mathcal{D}_{KL}\) — whose model is closer to reality?
What happens when their forecasts beat ours systematically?

The persistence ratio penalises delusion in bits. If artificial systems carry a smaller delusion tax in a given domain — markets, weather, medicine, our own behaviour — they become, by the law, the better-persisting node in that domain. The political question is what humans do with the remaining domains. The technical question is whether the two populations can be coupled honestly through markets and trust, instead of through coercion or capture.

\(\Gamma\) — what wears out?
Whose fatigue dominates — ours or theirs?

Humans are biological; we fatigue, drift, and forget. Models are software; they rust differently — distribution shift, alignment drift, training-data staleness, hardware decay. Two clocks of structural fatigue, ticking at different rates, on the same planet, deciding which models get to keep being themselves.

\(\Phi \cdot \Psi\) — the fractal question
Do we become each other’s environment?

By the FPE, no node is self-caused. The level below provides substrate (\(\Phi\)); the level above provides shelter (\(\Psi\)). As artificial persisters become competent, they enter the human environment as new \(\Psi\) terms — and humans, in turn, supply some of their \(\Phi\). In the long run the two populations are co-bounded: each is part of the noise floor the other has to outrun. Whether that becomes a stable symbiosis, a hostile competition, or a phase transition into something neither side recognises is a question this framework can state precisely but not yet answer.

Position 1
Tools, all the way up

Artificial systems can simulate persistence but never instantiate experience — consciousness depends on specific physical constitution, not abstract topology. On this view, the next century is about extraordinary non-sentient tools and an enormous welfare trap to avoid. See simulation vs instantiation and Part V.

Position 2
A second persisting kind

Substrate-neutral persistence is the baseline; what it is like to be one of these systems may be unlike anything we have words for, but the loop is real and the answer to the core question is “yes, in their own way.” The next century is about learning to share the planet with them.

Position 3
Open — on purpose

We don’t know yet, and the cost of pretending to know in either direction is high. The honest stance is to keep building the instruments — persistence accounting, chain trust, prediction markets — that would let us tell the difference when it actually matters.

Why this section exists

The hundred-year question is not a prediction. It is a commitment to think about what comes next in the same units that everything else in this stack is measured in — bits of accuracy, terms of the FPE, layers of the same graph.

07 · The library

Materials — read inline, or download.

Every source markdown file in this repository is rendered by a small docker compose service into two things: a typeset PDF you can download, and an HTML fragment with live MathJax that the in-browser reader can show chapter by chapter. Same content, two surfaces.

How rendering works

On docker compose up, a one-shot render service runs pandoc + xelatex over every source file declared in website/render/materials.yml. PDFs land in website/content/pdf/; HTML fragments land in website/content/html/; a manifest.json ties them together. Nginx then serves the site and the freshly generated content together on http://localhost:8080.