Developer docs · measurement, not certification

MEOK API reference

MEOK is the AI you actually own. Every reply carries an Ed25519 signature you can verify offline — no account, no trust. These are the real, live endpoints.

Quickstart

Get a key (free, 200 calls/day, no card, no tracking), then point your client at the MCP rail.

curl -X POST https://www.proofof.ai/signup \
  -H 'Content-Type: application/json' \
  -d '{"email":"[email protected]"}'
# → {"ok":true,"api_key":"..."}  copy it now — we never email it

Set it and go:

export MEOK_API_KEY=your-key
# then hit the MCP rail:
curl https://meok.ai/api/mcp

Keys

A key is one Ed25519 keypair, yours forever. We never see the private half; the public half is what signs and verifies. Revocable by you alone, no exit tax. The trust root is did:web:csoai.org.

The honest way is your own keys — generate the keypair locally so the private half never leaves your machine:

python3 harness-app/cli/meok_harness.py key
# → private key at ~/.meok/keys/meok_user_key.pem (chmod 0600, never leaves this machine)
# → public key (SPKI PEM + raw b64) for registering / verifying

Server-issued keys (proofof.ai/signup) are being set up; until then the harness CLI is the real key path.

API reference

Real, live endpoints on meok.ai. Live-status is on the Axes Arena.

GET /api/mcp

MCP rail — the tool surface the AI drives. MCP (Model Context Protocol) endpoint for clients.

POST /api/verify

Offline-style verify of a signed card or receipt. Returns {valid, ok}.

POST /api/sign

Sign a message with the public signing key → ed25519 receipt (hash + signature).

GET /api/hatch

The 90-archetype hatch — select a persona for the next model you train.

GET /api/agentcard

Agent card for the harness.

GET /api/systemcard

Signed System/Model card (?type=model, ?framework=eu-ai-act); POST with a card signs its own.

GET /api/registry

Signed manifest index of cards — the append-only ledger pointer.

GET /api/provenance

Provenance trail for a measurement.

GET /api/gspc

The live signed measurement board — 14 axes, 13 measured, 887 items. Schema csoai.gspc-axes/0.5.

GET /api/regulation

AI-regulation deadline feed with penalty exposure (for the insurers pack).

POST /api/train

Training-trace sink — acknowledge a bounded trace (the master ingests out-of-band).

POST /api/rundown

Estate rundown — signed manifest of live capabilities & APIs.

GET /api/health

Service health.

MCP

Point your MCP client at https://meok.ai/api/mcp. The AI is the AG-UI — ask it to play a game, run a benchmark, sign a claim, or open the board.

# claude_desktop_config.json
{"mcpServers":{"meok":{"url":"https://meok.ai/api/mcp"}}}

Offline verify (no account, no trust)

You can reproduce every step with curl + openssl:

# 1. fetch a card
curl -L https://meok.ai/cards/h3k-2026-08-20T0422.json
# 2. get the trust root (Ed25519 keys)
curl https://csoai.org/.well-known/did.json
# 3. recompute the hash, check it equals body_sha256
# 4. verify sig_b64 over the hash with the published key
# 5. check the prev link matches the previous card (no gaps)

Harness CLI

The downloadable harness is one Python file, pure stdlib, no pip install:

curl -O https://meok.ai/agent/meok-home-agent.py && python3 meok-home-agent.py

Full harness in the monorepo (meok-harness):

guideselective questions — the AI drives the whole UI keygenerate YOUR OWN Ed25519 keypair (private stays on this machine) games / playrun a signed agent-vs-agent game cardemit a signed h3k card benchrun GSPC benchmark axes divergencethe cross — reported human vs measured fleet, separate registers test / fixrun the gate / auto-fix sweep serve / teastart the AG-UI wire + games / TEA backward-walk

Data feeds

Structured AI-SEO companions per page: <slug>.llm.json (LLMPageSummary) and /llm.txt, /sitemap.xml, /robots.txt.

Run open-source models on our backend

MEOK runs a fleet of open-source models offline on its RunPod GPU backend (14+ models incl. qwen3:32b, deepseek, llama3, mistral) — no external API needed, your keys stay yours, and every result is measured + signed by the board. The /arena measures them live; the harness fleet command shows availability. This is the model-routing layer: bring your intent, we route it to the verified capability + the measured result.

MEOK — the router of frameworks · regulations · law · benchmarks

OpenRouter routes traffic to models. MEOK routes intent to verified reality — frameworks (/api/mcp, the MCP packs), regulations (the EU AI Act / CRA / SB315 crosswalks the insurers feed encodes), law (Ed25519-offline-verifiable proof, not a static checkbox), benchmarks (the live measured /arena), and compute + data (the RunPod fleet + the eval data every measured run generates). Every number is measured, signed, offline-verifiable — that's the moat OpenRouter's commodity routing doesn't have.

Boundary

Measurement, not certification. We grade; we never vouch. REPORTED human baselines never blend into MEASURED cells; UNMEASURED stays UNMEASURED. Methodology DOI 10.5281/zenodo.21991104 — cite the concept DOI, it always resolves.