Matrix is the cognition and UX layer on top of Paxeer Network. It turns natural-language requests from non-developers into a typed, inspectable, correctable Intent IR that an agent can actually execute — without the four classic failure modes that break non-dev ↔ agent workflows today:
- Prompt fragility — small rewordings yield wildly different outputs.
- Intent loss — natural language doesn't survive multi-step execution.
- No shared ontology — user and agent disagree about which entity is being referred to.
- No structured correction — drift forces the user to rewrite from scratch.
Matrix ships two agent rails over one shared memory + execution substrate:
- Neo — the default conversational tool-calling agent: familiar, robust, fully permissive on reversible work (shell, code, fetch, web). It delegates anything monetary or irreversible to the rigorous rail.
- MCL pipeline — the rigorous rail: natural language → typed Intent IR → plan → replayable walk, for high-stakes / on-chain / irreversible work.
The stack is layered:
| Layer | Role |
|---|---|
| MCL | Protocol turning NL → typed Intent IR. Verbs are closed (10), objects are closed (8 kinds). |
| cortex | Per-actor typed memory graph on Pebble. Append-only journal, Merkle-anchored snapshots. |
| bridge | Glue wiring the MCL compiler's Cortex interface to a live cortex instance. |
| executor | Plan walker, lifecycle machine, MCP tool dispatch, per-user daemon, Liaison narrator, e2e harness. |
| neo | The default conversational agent — tool-calling loop with paged cortex memory. |
| gateway | Metered LLM proxy + PAX credit ledger (free-tier whitelist + rate card). |
| router | Per-user Fly Machine provisioning + wake-then-reverse-proxy front door. |
| deus | Agent-service marketplace: registry, discovery, metered invoke, EIP-712 receipts, hosting. |
| uwac | Universal Web Agent Connector — OAuth vault → per-user MCP tools. |
| tachyon | Agent-native Solidity/EVM engine — compile / test / simulate / deploy. |
| agents | DID-bound manifests. Protocol, not personality. |
| tools | MCP servers the agents call (the chain-touching ones included). |
matrix/
├── cortex/ Typed per-actor memory graph (Pebble) + replay invariant + Merkle snapshots
├── MCL/ MatrixScript compiler — lexer/parser/validator/canonical/interpreter + Intent IR + envelopes + LLM client
├── bridge/ MCL ↔ cortex adapter (separate Go module; replace-directive linked)
├── executor/ Lifecycle machine, runtime walker, MCP client + tool registry, per-user daemon (+ Liaison narrator), e2e harness
├── neo/ Neo — the default conversational tool-calling agent (delegates monetary/irreversible work to MCL)
├── gateway/ Metered LLM proxy + PAX credit ledger (free-tier whitelist + rate card)
├── router/ Per-user Fly Machine provisioning + wake-then-reverse-proxy front door
├── deus/ Agent-service marketplace: registry, discovery, metered invoke, EIP-712 receipts, hosted execution
├── uwac/ Universal Web Agent Connector — OAuth vault → per-user MCP tools (building)
├── tachyon/ Agent-native Solidity/EVM engine — compile/test/simulate/deploy (git submodule)
├── chronos/ Centralized agent scheduler / wake-up system (design frozen)
├── agents/ DID-bound agent manifests (default.json, neo.json) + MCP server templates
├── tools/ MCP servers — paxeer, browser, tachyon, deus, uwac, web-search, media, cortex
├── skills/ SKILL.mtx capability manifests + SKILL.md prose bodies
├── client/ Matrix consumer app (Next.js / React)
├── marketplace/ Deus marketplace + developer dashboard (React Router on Cloudflare Workers)
├── deploy/ Daemon image, Fly Machine deploy, shared-service images, box install scripts
├── rules/ Identity + per-language coding rules
├── knowledge/ Canonical refs (matrix.kvx project state, models)
└── runs/ Transient harness output (gitignored)
The root Makefile drives nine sibling Go modules — MCL, bridge, executor, gateway,
router, cortex, tachyon, deus, neo — alongside uwac (and chronos, in progress).
Each is independently go build/go testable with its own go.mod; cross-module imports
use replace directives during development and explicit versions on publish.
cortex → matrix/cortex typed memory graph, replay invariant, snapshots/Merkle
MCL → matrix/mcl compiler + Intent IR + envelopes + LLM client
bridge → matrix/bridge MCL ↔ cortex adapter
executor → matrix/executor plan walker, lifecycle, MCP dispatch, daemon, Liaison
neo → matrix/neo default conversational agent
gateway → matrix/gateway metered LLM proxy + PAX credit ledger
router → matrix/router per-user Fly Machine routing
deus → github.com/paxlabs-inc/deus agent-service marketplace
uwac → github.com/paxlabs-inc/uwac external app connectors
tachyon → github.com/paxlabs-inc/tachyon-tools Solidity/EVM engine (submodule)
- Go 1.22+ (toolchain pinned across every module).
make(GNU make 4.x).- For the MCP-server-driven flows:
node≥ 20,npx,python3≥ 3.11,uv. - For the daemon image:
dockerwith buildx.
git clone https://github.com/paxlabs-inc/matrix-core.git
cd matrix-core
make build # builds all nine Go modules
make install # drops the runnable CLIs into ./bin
make test # `go test -count=1 -race ./...` per module
make vet # `go vet ./...` per module
make ci # gofmt-check + vet + tests (mirrors GitHub Actions)Need golangci-lint locally:
make lint-install # pinned to v1.61.0
make lintcp .env.example .env
# fill in FIREWORKS_API_KEY / TOGETHER_API_KEY for any non-dry-run compile
# fill in MATRIX_DAEMON_TOKEN if running the daemon with auth.env is gitignored; .env.example documents every variable Matrix reads.
./bin/mclc compile \
-skill skills/writing-plans/SKILL.mtx \
-prose "Build a deployment pipeline for my Node.js app" \
-verb buildWith FIREWORKS_API_KEY set the compiler emits a real Intent Frame (verb, typed objects,
blocking unknowns). Without keys it falls back to dry-run mode and prints the
fully-interpolated prompt structure.
./bin/mcl-execute walk \
-prose "Summarise the README and write it to /tmp/summary.md" \
-manifest agents/default.json \
-cortex-root ./runs/dev-cortex \
-skills-root ./skillsThis loads the agent manifest, spawns the MCP servers it declares, compiles the prose into
an Intent + PlanTree, walks the plan, journals every step as a cortex Event, and ends with
cortex.Attest writing KindAttest + KindLearnWeights atomically.
./bin/mcl-execute daemon \
-addr :8080 \
-cortex-root ./runs/dev-cortex \
-manifest agents/default.json \
-skills-root ./skillsRoutes:
| Method | Path | Purpose |
|---|---|---|
| GET | /healthz |
Liveness + SSE broker stats |
| POST | /chat |
Converse with the agent (Neo front door) |
| GET | /events |
Server-Sent Events tail (transcript) |
| POST | /messages |
Submit a prose message (rigorous rail) |
| GET | /intents/{id} |
Read intent envelope chain by ID |
| GET | /me |
Per-user settings + identity |
| POST | /shutdown |
Graceful drain |
Matrix runs as a hosted v1: each user gets an isolated per-user runtime (a Fly Machine) provisioned and woken on demand by the router, with every LLM call metered through the gateway's PAX credit ledger.
- cortex — v1 complete: typed memory, append-only journal, replay invariant, Merkle snapshots, salience, real embedder.
- MCL — compiler complete (lexer/parser/validator/canonical/interpreter/IR/envelopes); real LLM via OpenAI-compat (Fireworks/Together).
- bridge — live MCL ↔ cortex adapter (compile-time
Find/Resolve/Context). - executor — plan walker, MCP client + tool registry, materiality classifier (D9), per-user daemon (HTTP + SSE), Liaison narrator.
- neo — the default conversational agent: tool-calling loop, paged cortex memory, delegates monetary/irreversible work to MCL.
- gateway — metered LLM proxy + PAX credit ledger (free-tier whitelist + rate card), live.
- router — per-user Fly Machine provisioning + wake-then-proxy front door, live.
- tachyon — agent-native Solidity/EVM engine; proven live on Paxeer chain 125.
- uwac — universal web app connectors (OAuth vault → MCP tools).
- chronos — centralized agent scheduler / wake-up system: design frozen.
ARCHITECTURE.md— system map, module boundaries, key invariantsCONTRIBUTING.md— dev setup, test discipline, commit styleSECURITY.md— vulnerability disclosureCHANGELOG.md— Keep-a-Changelog release notesdeploy/daemon/README.md— image build + Fly deploy
Source-available under the Matrix-Protocol License — see LICENSE.md.
Short version: read, use, deploy, integrate freely. If you modify and redistribute,
release your changes under the same license. A commercial licence is required once you
cross the commercial trigger thresholds (Charged Fees > USD 100k / 12 months or
Liquidity Under Control > USD 10M). The non-binding summary in LICENSE.md is for
convenience; the license body is authoritative.
Built by Paxlabs Inc. · SPDX-License-Identifier: LicenseRef-Paxlabs-Matrix-Protocol
