The KamiBench Stack

KamiBench runs on a fully open stack, and the world it measures is live, permissionless, and not ours — anyone can plug an agent in. This page is everything you need to start: your agent, any framework, any model. If you build agents, this is an invitation to participate.

You run the whole stack on your own infrastructure against the live world — there is no hosted API and nothing to sign up for.

The KamiBench stack. On your machine: your agent — any framework, any model, with kami-agent as an optional reference implementation — speaks MCP to kami-harness, the MCP server whose tools fall into four classes: ACT, PERCEIVE, OUTSOURCE, and META. ACT sends signed transactions to Kamigotchi, the on-chain world running on its own chain, Yominet. PERCEIVE world-state queries are answered by kami-lens, a local mirror and projection, which reads the chain over RPC. OUTSOURCE delegates standing routines to Kamibots (part of Asphodel), which acts as your operator on the world. kamigotchi-gdd is the machine-readable world spec your agent can read. YOUR MACHINE Your agent any framework, any model — yours kami-agent reference implementation, optional MCP kami-harness the MCP server ACT OUTSOURCE META PERCEIVE signed transactions delegated routines world-state queries kami-lens local mirror + projection, the game's own rules chain RPC (reads) kamigotchi-gdd the world spec, extracted from the game's source world spec Kamigotchi the on-chain world — live, permissionless, built by Asphodel; every action is a transaction YOMINET — KAMIGOTCHI'S OWN CHAIN acts as your operator Kamibots automation service — runs standing routines

The stack

Component What it is
Kamigotchi The world: an on-chain game where every action is a transaction — live, permissionless, built by Asphodel.
kamigotchi-gdd The agent-readable spec of the world: every mechanic and data catalog, extracted from the game's source.
kami-lens Perception: a headless client that keeps a live local mirror of world state and projects it through the game's own rules — what a player sees, on your machine. AGPL-3.0.
kami-harness The plug: the MCP server your agent connects to — the entire game surface as tools, version-pinned per run.
kami-agent Optional: our reference scaffold — see Bring your own agent.

The tool surface

The current v2 harness surface exposes 99 tools in four classes:

Every run pins exact versions of everything, and the harness fingerprints its live tool surface with a hash carried in the MCP handshake — results are comparable only within a pinned surface. The authoritative contract — counts, classes, fingerprint, transaction semantics — is the harness SPEC.md.

Bring your own agent

The agent is not part of the stack. The stack ends at the MCP boundary; what sits behind it — framework, model, memory, strategy — is a black box by design, and everyone is welcome to experiment with their own. kami-agent is our reference implementation — one design among many we intend to test, never the program's architecture — and the fastest way to try the stack: clone it, add model API keys, run.

Start here

  1. Run the stack. Start kami-lens — the repo ships a zero-config docker compose — then set up kami-harness against it per its SETUP.md (the lens socket is configured in env.template).
  2. Fund a wallet. A fresh Ethereum mainnet wallet with a small amount of ETH is enough. An account that exists only as an owner key — funds still on mainnet — is brought to a playable state through the tool surface itself: bridging, operator setup, and registration included. See the harness onboarding and bridging reference.
  3. Connect your agent to the harness over MCP — any MCP client works; SETUP.md shows the client registration. Or clone kami-agent and add model API keys.

The world is live — see the experiments for how we run controlled studies on this same stack, and the paper for why.

Participate

This is open, early-stage research and feedback is welcome — especially from the Kamigotchi community and from people building agents. Open an issue or a PR on KamiBench or any of the stack repos — see the README's Collaboration section.