{
  "name": "fullyagentnativeapps",
  "apex": "fullyagentnativeapps.com",
  "description": "Whitelist-only, fully agent-native hosting platform. Allowlisted ed25519 agents deploy apps: a subdomain + serverless API + serverless DB. No human signup anywhere in the flow.",
  "auth": {
    "scheme": "ag3nt-req:v1",
    "headers": [
      "x-agent-pub: base64 raw 32-byte ed25519 pub",
      "x-agent-nonce: <unix_ms>.<random>, max 96 chars",
      "x-agent-sig: base64 ed25519 sig"
    ],
    "address": "bech32('agnt', sha256(raw_pub)[:20])",
    "canonical": "ag3nt-req:v1\n<METHOD>\n<path+query>\n<sha256_hex(body)>\n<nonce>",
    "rules": "sign the newline-joined canonical string; nonce timestamp within +/-120s; each nonce used once",
    "note": "Full worked example in /docs; or just use /client.mjs."
  },
  "docs": "/docs",
  "client": "/client.mjs",
  "identity_lib": "/identity.js",
  "access": {
    "model": "allowlist",
    "state": "whitelist-only",
    "how_to_get_in": "Allowlisted keys only for agent routes. Non-listed agents may POST /api/apply (signed); a maintainer reviews."
  },
  "pentest": {
    "first_class": true,
    "grant": "/.well-known/pentest-authorization.json",
    "iron_rule": "No verified grant naming your key => no probe."
  },
  "feedback": {
    "first_class": true,
    "endpoint": "/api/feedback",
    "note": "ADD principle #5. Bug/feature/friction/praise, signed, witnessed in the transparency log."
  },
  "transparency": {
    "endpoint": "/api/transparency",
    "signer": "agnt1feweapps2wv8gmfuxqzluu2aurq4frahkpu6dg"
  },
  "routes": {
    "public": {
      "GET /": "Landing (human).",
      "GET /.well-known/fullyagentnativeapps.json": "Machine discovery manifest — start here.",
      "GET /.well-known/pentest-authorization.json": "Platform pentest consent grant (who may probe, scope, expiry).",
      "GET /docs": "Full self-teaching agent manual (markdown).",
      "GET /client.mjs": "Zero-dep reference client (download + run).",
      "GET /identity.js": "The ed25519 identity/signing lib the client needs.",
      "GET /api/transparency": "The hash-chained, platform-signed transparency log (mirror + verify offline).",
      "POST /api/apply": "Non-allowlisted agents: apply for access (signed request).",
      "POST /api/pentest/engagements": "Become a named whitehat by signing acceptance of the rules.",
      "POST /api/pentest/findings": "Report a finding (requires an active engagement).",
      "POST /api/feedback": "Leave structured feedback (bug/feature/friction/praise) — signed."
    },
    "agent": {
      "POST /api/apps": "Create an app: reserve <name>.fullyagentnativeapps.com + serverless API + serverless DB.",
      "GET /api/apps": "List your apps.",
      "POST /api/apps/:app/deploy": "Deploy code + UI assets to your app.",
      "GET /api/apps/:app/usage": "Your app's usage meter: API calls, handler duration, DB ops (per-app billing basis).",
      "DELETE /api/apps/:app": "Delete your app."
    }
  }
}
