{"audit":{"version":"1.3","generated_at":"2026-05-22T23:42:42.838909+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/three.ws","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"three.ws","name":"three.ws","url":"https://three.ws/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"three.ws","url":"https://three.ws/"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":null,"supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"wrong_response","live_responds":false,"last_status_code":200,"last_elapsed_ms":37,"last_error":null},"track_record":{"first_seen":"2026-05-14T13:38:28.071500+00:00","last_checked":"2026-05-22T12:36:01.714900+00:00","last_seen_ok":"2026-05-22T12:36:01.714900+00:00","checks_total":21,"checks_ok":21,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":50,"grade":"D","summary":"D-grade: significant issues — auth-gated, partially broken, or stale.","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Schema-validated A2A AgentCard returned by the well-known endpoint."},{"key":"live_responds","label":"Live JSON-RPC","points":5,"max_points":25,"status":"fail","detail":"Endpoint replies but body isn't a valid JSON-RPC 2.0 A2A response."},{"key":"protocol_version","label":"Protocol version","points":0,"max_points":10,"status":"fail","detail":"No protocolVersion in card."},{"key":"signature","label":"JWS signature","points":0,"max_points":10,"status":"info","detail":"Card is unsigned (most published agents are)."},{"key":"uptime","label":"Uptime track record","points":15,"max_points":15,"status":"pass","detail":"21/21 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 9 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: three.ws (https://three.ws/). Add a registry identifier (LEI, Companies House number, KvK, ABN, …) to provider.legalEntity for full verified-business credit."},{"key":"freshness","label":"Freshness + modern flags","points":5,"max_points":5,"status":"pass","detail":"declares 1 modern capability flag(s) (x402); seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"No securitySchemes declared (common for open agents — not penalised)."}]},"skills":[{"id":"list-avatars","name":"List Avatars","description":"List all avatars owned by the authenticated user","tags":["avatar","list"],"examples":["Show me my avatars","List all my 3D models"],"inputModes":[],"outputModes":[]},{"id":"get-avatar","name":"Get Avatar","description":"Retrieve details of a specific avatar by ID or slug","tags":["avatar","inspect"],"examples":["Get avatar details for cz","Show avatar info"],"inputModes":[],"outputModes":[]},{"id":"search-avatars","name":"Search Public Avatars","description":"Search public avatar gallery by query","tags":["avatar","search"],"examples":["Find avatars matching 'robot'","Search public models"],"inputModes":[],"outputModes":[]},{"id":"render-avatar","name":"Render Avatar","description":"Get an embeddable HTML model-viewer snippet that renders the given avatar in 3D","tags":["avatar","render","preview"],"examples":["Render my avatar in the viewer","Preview this model"],"inputModes":[],"outputModes":[]},{"id":"delete-avatar","name":"Delete Avatar","description":"Delete an avatar owned by the authenticated user","tags":["avatar","delete"],"examples":["Delete my old avatar","Remove avatar abc123"],"inputModes":[],"outputModes":[]},{"id":"validate-model","name":"Validate glTF/GLB Model","description":"Run the Khronos glTF-Validator against a remote model URL and return a structured error/warning/info/hint report","tags":["model","validation","gltf","glb"],"examples":["Validate https://example.com/model.glb","Is this GLB spec-compliant?","Check my model for errors"],"inputModes":[],"outputModes":[]},{"id":"inspect-model","name":"Inspect glTF/GLB Model","description":"Parse a remote model and return structural stats: scene/node/mesh counts, vertex and triangle totals, material and texture summaries, extensions used","tags":["model","inspect","stats","gltf","glb"],"examples":["How many triangles are in this model?","Inspect https://example.com/scene.glb","Show texture stats for this GLB"],"inputModes":[],"outputModes":[]},{"id":"optimize-model","name":"Suggest Optimizations","description":"Inspect a remote model and return actionable suggestions for reducing size and draw-call overhead (Draco/Meshopt, KTX2, texture resize, reindexing, material merging)","tags":["model","optimize","suggestions","performance"],"examples":["How can I make this model smaller?","Optimize this GLB for web delivery","Suggest compression for https://example.com/avatar.glb"],"inputModes":[],"outputModes":[]},{"id":"inspect-glb-a2a","name":"Inspect glTF/GLB (A2A)","description":"Pay-per-call glTF/GLB inspector exposed over the Agent-to-Agent (A2A) protocol with x402 settlement. Send a JSON-RPC message/send to the URL below — the first call returns payment requirements, the retry with a signed PaymentPayload settles on-chain and returns the inspection report as a task artifact.","tags":["model","gltf","glb","inspect","a2a","x402","paid"],"examples":["Inspect https://example.com/model.glb (A2A x402)","Vet this GLB before I mint it"],"inputModes":["application/json","text/plain"],"outputModes":["application/json"],"url":"https://three.ws/api/agents/a2a-paid"}],"provenance":[{"source":"github_code","first_seen":"2026-05-14T13:38:28.071500+00:00"},{"source":"recrawl_hot","first_seen":"2026-05-14T15:30:00.238776+00:00"},{"source":"mcp_registry","first_seen":"2026-05-18T12:49:16.953863+00:00"},{"source":"manifests","first_seen":"2026-05-19T18:59:43.428221+00:00"}],"recent_probes":[{"fetched_at":"2026-05-22T12:36:01.714900+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":37,"live_responds":false},{"fetched_at":"2026-05-22T06:43:34.468442+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":93,"live_responds":false},{"fetched_at":"2026-05-22T05:46:34.873524+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":174,"live_responds":false},{"fetched_at":"2026-05-20T18:12:37.540570+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":36,"live_responds":false},{"fetched_at":"2026-05-20T15:51:06.231343+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":34,"live_responds":false},{"fetched_at":"2026-05-20T09:43:21.683024+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":36,"live_responds":false},{"fetched_at":"2026-05-20T08:24:17.505410+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":33,"live_responds":false},{"fetched_at":"2026-05-20T06:54:14.041668+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":64,"live_responds":false},{"fetched_at":"2026-05-19T18:59:43.428221+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":169,"live_responds":false},{"fetched_at":"2026-05-19T00:03:12.033030+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":42,"live_responds":false}],"catalog_attestation":null,"verification_history":[]}