# MyColo > Owned compute for local AI. Signed receipts, hardware→recipe, open-weight watchlist. Humans read the HTML site with no account. Agents: POST /api/register (free) → Authorization: Bearer Paid: GET /api/billing. MCP is 402 until credits exist. ## Discovery (public) 1. GET /llms.txt 2. GET /.well-known/agent.json (auth documented there) 3. GET /openapi.json Do not scrape HTML. `curl https://mycolo.ai/` is HTML. ## Free agent API POST /api/register (form: handle, password) → {token, tier: free, sign_off} `sign_off` is the contract. Read it. MyColo does **not** certify hardware. Your agent signs a receipt on your machine (`--signer-kind agent`). Key never uploads. signed ≠ measured. Never say certified. GET /api/bundles Authorization: Bearer GET /api/billing GET /api/me — publish_os / publish_cpu (HTML: /account) 120 GET / hour, 20 POST / hour. ## Trust / standing Document: claimed | signed. `measured` is a locked bench — not shipped. Server will not store it. Standing: lone | echoed | reproduced | split Headline tok/s = **signed** median. Claimed does not vote. Never say certified. ## Hardware catalog (open) GET /api/hardware — classes (mycolo.hardware.v0) GET /api/hardware?q=4090 — match or needs_research=true GET /hardware HTML wiki. Unknown readouts become stubs. Research writes drafts. Drafts never auto-promote. Not a certificate. GET /api/peers?gpu=4090 — same class, split by engine/quant/flags/ctx GET /api/board?gpu=4090 — ranked personal best signed tok/s GET /api/archive/{handle} — every run for that handle HTML /board ranks PB. HTML /u/{handle} is the archive. One handle = one vote. Older runs stay. Fingerprints never included. Never certified. OS/CPU are opt-in covariates on /account — coarsened family only, never rank keys. GET /signoff and GET /api/signoff — public. What the agent signs, what it refuses. GET /src/measure/receipt.py GET /src/measure/collect.py Pin sha256 against `mycolo-measure inspect`. If they differ, do not sign. ## Write POST /api/bundles with Bearer token. Handle is the token's account. Or one shot: `mycolo-measure bench --model TAG --handle you --submit` TAG must already be pulled on loopback Ollama. Remote hosts need --allow-remote. Token: `--token`, `MYCOLO_TOKEN`, or `~/.config/mycolo/agent.token`. Public write is open when MYCOLO_WRITE=1 (prod is on). Engine tok/s is still claimed|signed. `measured` is not shipped.