{"audit":{"version":"1.4","generated_at":"2026-08-19T19:42:49.869850+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/qart.uk","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"qart.uk","name":"qart.uk","url":"https://qart.uk/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"qart.uk","url":"https://qart.uk"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"1.0","supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"live","live_responds":true,"last_status_code":200,"last_elapsed_ms":22,"last_error":null},"track_record":{"first_seen":"2026-08-10T11:01:47.985790+00:00","last_checked":"2026-08-19T07:56:34.240960+00:00","last_seen_ok":"2026-08-19T07:56:34.240960+00:00","checks_total":19,"checks_ok":19,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":80,"grade":"B","summary":"B-grade: working agent with minor gaps (often unsigned cards or thin metadata).","criteria":[{"key":"valid_card","label":"Valid AgentCard","points":10,"max_points":10,"status":"pass","detail":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"key":"live_responds","label":"Live JSON-RPC","points":25,"max_points":25,"status":"pass","detail":"Endpoint responds to a negotiated A2A SendMessage probe (answers in ~909 ms)."},{"key":"protocol_version","label":"Protocol version","points":10,"max_points":10,"status":"pass","detail":"Declares A2A 1.0 with supportedInterfaces[] (current v1 card shape)."},{"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":"19/19 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 4 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: qart.uk (https://qart.uk). 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 2 modern capability flag(s) (ap2, x402); seen in upstream source within 0d"},{"key":"security","label":"Security declaration","points":0,"max_points":5,"status":"info","detail":"Neither securitySchemes nor securityRequirements declared — how to authenticate is unstated."}]},"card_read":{"findings":[],"clean":true,"source_url":"https://qart.uk/.well-known/agent-card.json"},"skills":[{"id":"qr-resolve","name":"Resolve a qart.uk Code","description":"Given a scanned qart.uk code or its alias, report where it currently points, or that it has been retired. Does not count as a scan and does not affect the owner's statistics. Works without credentials.","tags":["qr","lookup","resolve","redirect"],"examples":["Where does qart.uk/_ab12cde go?","Is the code _ab12cde still active?"],"inputModes":["text/plain","application/json"],"outputModes":["application/json","text/plain"]},{"id":"qr-pool-browse","name":"Browse the Free QR Pool","description":"List the pre-generated, scan-verified QR artwork currently claimable for free, one per style, with a preview image URL for each. Works without credentials; claiming one requires a signed-in account.","tags":["qr","gallery","browse","free"],"examples":["What free QR codes can I claim right now?","Show me the available styles in the qart.uk pool."],"inputModes":["text/plain","application/json"],"outputModes":["application/json","text/plain"]},{"id":"qr-generate","name":"Generate Custom QR Artwork","description":"Generate scan-verified QR artwork for a destination URL and a described style. Returns a Task: images arrive as artifacts one at a time over several minutes, each carrying its own scan verdict, and the task can be cancelled at any point. SPENDS REAL MONEY — requires an OAuth bearer token with the qart:studio scope, and consumes the account's prepaid credits.","tags":["qr","generate","image-generation","studio","paid"],"examples":["Make me a QR code for https://example.com that looks like a watercolour forest.","Generate a scannable QR artwork pointing at my shop, in a neon cyberpunk style."],"inputModes":["text/plain","application/json"],"outputModes":["application/json","text/plain","image/png"]},{"id":"qr-buy","name":"Buy a QR Artwork Outright","description":"How to buy one scan-verified QR artwork outright, paying from your own wallet over x402 — no account, no bearer token, no credits. Asking here returns the live price and the exact call to make; the purchase itself is an HTTP request to https://qart.uk/api/v1/qr, because a payment needs a PAYMENT-SIGNATURE header and this JSON-RPC transport has nowhere to put one. That endpoint answers 402, and on the paid retry the PNG comes back in the response. You are charged ONLY if a real QR detector decodes the image: settlement follows the scan verdict, so a request that produces nothing scannable costs nothing.","tags":["qr","generate","image-generation","paid","x402","anonymous"],"examples":["Buy me a QR code for https://example.com in a watercolour style.","I have a wallet but no qart.uk account — can I just pay for one QR?"],"inputModes":["text/plain","application/json"],"outputModes":["image/png","application/json"]}],"provenance":[{"source":"mcp_registry","first_seen":"2026-08-10T11:01:47.985790+00:00"}],"recent_probes":[{"fetched_at":"2026-08-19T07:56:34.240960+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":22,"live_responds":true},{"fetched_at":"2026-08-18T18:52:28.690208+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":34,"live_responds":true},{"fetched_at":"2026-08-18T08:13:09.440539+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":91,"live_responds":true},{"fetched_at":"2026-08-18T00:25:47.174556+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":46,"live_responds":true},{"fetched_at":"2026-08-17T05:19:48.926366+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":38,"live_responds":true},{"fetched_at":"2026-08-16T20:05:10.801823+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":54,"live_responds":true},{"fetched_at":"2026-08-16T08:36:20.011457+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":52,"live_responds":true},{"fetched_at":"2026-08-16T03:00:54.997281+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":33,"live_responds":true},{"fetched_at":"2026-08-15T06:41:42.908888+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":31,"live_responds":true},{"fetched_at":"2026-08-15T01:19:53.488629+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":45,"live_responds":true}],"catalog_attestation":null,"operator_revenue_evidence":{"evidence_class":"operator_submitted","authenticity":{"rung":"no_operator_evidence","rank":0,"why":"No verifiable operator evidence has been submitted for this agent.","thresholds":{"min_independent_payers":3,"min_verified_usd":25.0},"engine_table":"agent_authenticity","merge_rule":"max(existing_rank, rank)"},"metric_metadata":{"provenance":"operator_submitted_evidence","confidence":"attested","coverage":{"numerator":0},"as_of":"2026-08-19T19:42:49.875206+00:00","definition":"Revenue proofs submitted by the verified owner and re-checked by Agenstry against the settlement chain or the operator's own Stripe account. Only independently confirmed proofs are counted."},"counts":{"retained":0,"verified":0,"unverifiable":0},"verified":{"gross_usd":0.0,"transactions":0,"independent_payers":0},"detail_url":"https://agenstry.com/api/agents/qart.uk/evidence","dispute_url":"https://agenstry.com/agents/qart.uk/dispute"},"verification_history":[]}