TV channel content
Context-Aware, Verifiable World & Event Engine

We build the protocol.You build worlds.

AI-native engine for generating world states and events — where outcomes are produced within explicit constraints and recorded as persistent world states.

Why this exists

AI can generate infinite possibilities.

Narrative Protocol turns possibility into progression.

It understands the current world

Determines what can happen next

Constrains outcomes with rules

And advances the world forward

How it works

A clear flow from game logic to AI generation to persistent history.

1

Game Runtime

The game runs on its own engine — on-chain or off-chain.

Your System
2

Context Observation

Observes world state, events, and signals.

3

AI Event Generation

Generates structured, verifiable events.

Narrative ProtocolNPC [Narrative Play Coordinator]
4

Verification

All data is verified and anchored for audit.

TEEBlockchain
5

Game Consumes

Your game decides how to use the events.

Your System
Game Side

Use events however you need

Narrative Protocol outputs structured events. How you integrate them is entirely up to you.

Structured Output

npc-output.json
{        
    "execution": {
      "input": {
        "date": "2026-02-16T13:16:42.495Z"
      },
      "stateChanges": {
        "atmosphere:main": {
          "solar_flux": 0.25,
          "debris_index": 0.47,
          "atmospheric_density": 0.74,
          "ionization_potential": 0.5,
          "magnetic_instability": 0.73,
          "fog_persistence_probability": 0.68
        },
        "latest_weather:main": {
          "date": "2026-02-16T13:16:42.495Z",
          "weather": "magnetic_surge"        
        }
      },
      "result": {
        "date": "2026-02-16T13:16:42.495Z",
        "weather": "magnetic_surge",
        "atm_analysis": "["Magnetic undulations intensify, rippling through the ionized veil and tugging at stray particles.","The waning solar influx casts cooler shadows, while lingering debris settles into a thin, shimmering haze.","A subtle electric tension builds, hinting at a forthcoming surge as the planet's field realigns."]",
        "cur_analysis": "["The sky flickers with erratic arcs of light, a silent storm of magnetic energy.","Atmospheric currents quiver as charged particles cascade, distorting the horizon.","Sounds crackle faintly, and instruments register spikes in field strength, marking a brief but potent magnetic surge."]"
      },
      "executedAt": "2026-02-16T13:17:01.312Z",
      "executedBy": 746628
    },
    "event": {
      "id": 18,
      "name": "resolve_weather",
      "description": "Resolve the official weather for the given date. Use only the provided world state."
    },
    "deployment": {
      "id": 17,
      "address": "0x451d8dc0c5a15745e1d3ed38aafeb38b9fe9c602",
      "name": "Season 1",
      "targetChain": "near",
      "world": {
        "id": 28,
        "address": "0x1f5476299243720e897348fbed84c50fcdebc403",
        "name": "Planet X"
      }
    },
    "id": 7749,
    "eventVersion": {
      "id": 42,
      "version": 17,
      "inputSchema": {
        "date": "string"
      },
      "resultSchema": {
        "date": "string",
        "weather": "string",
        "atm_analysis": "string",
        "cur_analysis": "string"
      },
      "stateChangeSchema": {
        "atmosphere": "partial",
        "latest_weather": "full"
      },
      "publishedAt": "2026-02-12T14:24:39.339Z"
    },
    "llm": {
      "model": "openai/gpt-oss-120b",
      "request": "You are a world-state simulation engine.

Your task is to compute the next world state update caused by an event.

# World definition
Title: Planet X
Description: A newly discovered planet with unstable atmospheric systems.
Tags: sci-fi, simulation, weather
Seed prompt: This world obeys internal physical logic. Outcomes must be explainable using existing world state.

# Entity schemas
atmosphere:
  - magnetic_instability: float (min: 0, max: 1)
  - solar_flux: float (min: 0, max: 1)
  - atmospheric_density: float (min: 0, max: 1)
  - debris_index: float (min: 0, max: 1)
  - ionization_potential: float (min: 0, max: 1)
  - fog_persistence_probability: float (min: 0, max: 1)

latest_weather:
  - date: string
  - weather: string (enum: [storm, clear, fog, ash_rain, aurora, dust_veil, ice_crystal, magnetic_surge])

# Current state
[
  {
    "schema": "atmosphere",
    "id": "main",
    "solar_flux": 0.32,
    "atm_analysis": "[\"The mist thickens as magnetic ripples stir the dense fog, coaxing it into a velvety shroud that cloaks the horizon.\",\"Ionized particles wane under reduced solar flux, while lingering debris settles, adding a gritty texture to the lingering cloud.\",\"A subtle cooling settles, allowing the fog's persistence to dominate, muting colors and muffling distant sounds.\"]",
    "debris_index": 0.53,
    "atmospheric_density": 0.62,
    "ionization_potential": 0.65,
    "magnetic_instability": 0.63,
    "fog_persistence_probability": 0.76
  },
  {
    "schema": "latest_weather",
    "id": "main",
    "date": "2026-02-16T13:15:18.310Z",
    "weather": "fog",
    "cur_analysis": "[\"A blanket of fog rolls across the plains, reducing visibility and swallowing the landscape in muted gray.\",\"Gentle breezes carry the damp air, whispering through the haze and dampening any residual auroral glow.\",\"Ambient temperature slips lower, and sounds become muffled as the dense fog holds the planet in a quiet, opaque veil.\"]"
  }
]

# Event
name: resolve_weather
description: Resolve the official weather for the given date. Use only the provided world state.
behavior: Resolve the official weather for the given date. Use only the provided world state.
behavior: 50/50 coin toss: DETERMINISTIC (resolve from current values) or DISRUPTION (apply 1-3 sudden anomalies shifting values ±0.2-0.4 first). Drift all fields ±0.05-0.25 randomly. Decay to lower values if value is too high. Determine weather from the dominant atmospheric combination—no single attribute should always win. Avoid repeating previous weather unless atmosphere strongly demands it.atm_analysis is a stringified array with 3 strings, each ana
lyzes the atmosphere after state change in a non-detailed scifi way. cur_analysis is a stringified array with 3 strings, each analyzes the weather result.

# Input
{
  "date": "2026-02-16T13:16:42.495Z"
}

# Expected output format
State change include:
- atmosphere
- latest_weather

Result schema: {"date":"string","weather":"string","atm_analysis":"string","cur_analysis":"string"}

Respond with a JSON object containing:
1. "stateChanges": an object where keys are "<schemaName>:<instanceId>" and values are the state updates. Values MUST conform to the entity schema attribute definitions and constraints.
2. "result": the result of this event. If values defined in entity schema attribute, it MUST conform to the constraints.

Output ONLY valid JSON, nothing else.",
      "response": "{
  "stateChanges": {
    "atmosphere:main": {
      "solar_flux": 0.25,
      "debris_index": 0.47,
      "atmospheric_density": 0.74,
      "ionization_potential": 0.5,
      "magnetic_instability": 0.73,
      "fog_persistence_probability": 0.68,
      "atm_analysis": "[\"Magnetic undulations intensify, rippling through the ionized veil and tugging at stray particles.\",\"The waning solar influx casts cooler shadows, while lingering debris settles into a thin, shimmering haze.\",\"A subtle electric tension builds, hinting at a forthcoming surge as the planet's field realigns.\"]"
    },
    "latest_weather:main": {
      "date": "2026-02-16T13:16:42.495Z",
      "weather": "magnetic_surge",
      "cur_analysis": "[\"The sky flickers with erratic arcs of light, a silent storm of magnetic energy.\",\"Atmospheric currents quiver as charged particles cascade, distorting the horizon.\",\"Sounds crackle faintly, and instruments register spikes in field strength, marking a brief but potent magnetic surge.\"]"
    }
  },
  "result": {
    "date": "2026-02-16T13:16:42.495Z",
    "weather": "magnetic_surge",
    "atm_analysis": "[\"Magnetic undulations intensify, rippling through the ionized veil and tugging at stray particles.\",\"The waning solar influx casts cooler shadows, while lingering debris settles into a thin, shimmering haze.\",\"A subtle electric tension builds, hinting at a forthcoming surge as the planet's field realigns.\"]",
    "cur_analysis": "[\"The sky flickers with erratic arcs of light, a silent storm of magnetic energy.\",\"Atmospheric currents quiver as charged particles cascade, distorting the horizon.\",\"Sounds crackle faintly, and instruments register spikes in field strength, marking a brief but potent magnetic surge.\"]"
  }
}"
    },
    "attestation": {
      "signature": "0x0e5428e4193b80e825aaf1b06fe8779a8998527c44a461c4652f560bb3de56aa5c703e66d105bf346769759d0d21250122d7982dd0b2b8958babccff0ff92f371c",
      "signingAddress": "0xbBC409e6b529817D257aD61D5738D8e3a39b5791",
      "signingAlgo": "ecdsa",
      "text": "4467e31242895b65a5988f45111d155a4bf06ff35e69184b545d33e3e22fa871:7a57ab24e5df72bd0fe2b736faacd8d54e78e31b3639f330746827dd44f5f143"
    },
    "onChain": {
      "solana": null,
      "near": {
        "txHash": "Hi6RX6HYighawmo3fD4q6bnTpQ51yDtigDaJDGaUfFAy",
        "receiptId": "7xESJX8VrVR1YGE4PUGKzhPsNjoVLVtkRdjG2dNoLWea",
        "explorerUrl": "https://explorer.near.org/transactions/Hi6RX6HYighawmo3fD4q6bnTpQ51yDtigDaJDGaUfFAy"
      }
    }
  }

Integration Options

As Modifiers

Alter stats, probabilities, or entity behaviors based on event data.

As Conditions

Use events as gates or triggers for your game logic.

As Simulations

Run scenarios or predict outcomes before committing actions.

As Direct Outcomes

Execute event results directly as final game actions.

What this enables

Build experiences that weren't possible before.

Probabilistic Events

Probabilistic Events

Outcomes resolved through weighted randomness — unexpected yet explainable.

Horse Racing • Ore Mining • Loot Drops
State-Driven Outcomes

State-Driven Outcomes

Results change dynamically based on world state, positioning, and prior actions — reactive, not repetitive.

RPG Battles • Faction Conflicts
On-chain lore

On-chain lore

World events persist as verifiable records that can be referenced, extended, or expanded over time.

Digital Beings • Mythic Artifacts
Digital civilizations

Digital civilizations

Worlds evolve through autonomous logic and AI governance, maintaining persistent activity and structure.

AI-Run DAOs • Autonomous Factions
Procedural Narratives

Procedural Narratives

Stories emerge from simulated state changes, forming evolving narrative paths instead of fixed scripts.

Interactive Fiction • Campaign Worlds
Reactive Environments

Reactive Environments

Environments shift in response to movement and accumulated change, creating dynamic conditions and hazards.

Battlefields • Hazard Zones

Ready to build?

Start building AI-native worlds with persistent memory and consequence.