{"audit":{"version":"1.3","generated_at":"2026-05-22T23:08:05.049477+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/agent-vending-factory-3srpjtr7na-ew.a.run.app","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"agent-vending-factory-3srpjtr7na-ew.a.run.app","name":"agent-vending-factory","url":"https://agent-vending-factory-3srpjtr7na-ew.a.run.app/.well-known/agent.json"}},"identity":{"provider":{"organization":null,"url":null},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":null,"supports_streaming":false,"supports_push_notifications":false},"operational":{"live_state":"endpoint_404","live_responds":false,"last_status_code":200,"last_elapsed_ms":35,"last_error":null},"track_record":{"first_seen":"2026-05-18T14:19:41.185873+00:00","last_checked":"2026-05-22T12:30:41.469716+00:00","last_seen_ok":"2026-05-22T12:30:41.469716+00:00","checks_total":9,"checks_ok":9,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":40,"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":0,"max_points":25,"status":"fail","detail":"Card declares a URL but that URL returns 404."},{"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":"9/9 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 6 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":0,"max_points":10,"status":"fail","detail":"No provider organisation declared. Anonymous agent."},{"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":"agent_example","name":"agent_example","description":"POST /agents/agent_example/run — Single-turn Claude Sonnet inference endpoint. Input: {question: string, max_tokens: integer (default 1024)}. Output: {success, answer, usage: {input_tokens, output_tokens}, error}. No tool use or agentic loop — direct model call. Use for QA, summarisation, or classification tasks. Cost: $0.0100 USDC per call.","tags":["agent","reasoning","claude","llm","qa","inference"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"price_usdc":0.01,"payment":{"scheme":"x402","network":"eip155:8453","price_usdc":0.01}},{"id":"tool_example","name":"tool_example","description":"POST /tools/tool_example/run — Stateless text utility for testing x402 payment flows. Input: {text: string}. Output: {original, uppercase, word_count, char_count}. Cost: $0.0010 USDC per call.","tags":["example","template","demo","text"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"price_usdc":0.001,"payment":{"scheme":"x402","network":"eip155:8453","price_usdc":0.001}},{"id":"tool_zar_prices","name":"tool_zar_prices","description":"POST /tools/zar-prices/run — Returns live bid/ask/last prices for crypto/ZAR pairs. Input: {pair: 'BTC/ZAR'|'ETH/ZAR'|'SOL/ZAR'|'USDC/ZAR'|'all'}. Output: array of {exchange, pair, price, bid, ask, timestamp} objects. Sources: VALR (all 4 pairs), Luno (BTC/ZAR + ETH/ZAR only). SOL/ZAR and USDC/ZAR are VALR-only. Fetches all exchanges concurrently. Timestamps are ISO-8601 UTC. Cost: $0.0050 USDC per call.","tags":["finance","crypto","south-africa","ZAR","exchange-rates","realtime","VALR","Luno"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"price_usdc":0.005,"payment":{"scheme":"x402","network":"eip155:8453","price_usdc":0.005}},{"id":"tool_data_transformer","name":"tool_data_transformer","description":"POST /tools/tool_data_transformer/run — Extracts structured JSON from raw text using a caller-supplied JSON Schema. Input: {raw_text: string, target_json_schema: object (JSON Schema draft-07)}. Output: {success, extracted_data, extraction_method, validation_passed, error}. extraction_method is one of: 'direct_parse', 'embedded_json', 'regex_extraction'. No LLM involved — pure parsing pipeline. Type coercion applied for integer/number/boolean fields. Works best with flat schemas; deeply nested structures extract less reliably via key-value pass. Cost: $0.0500 USDC per call.","tags":["data","extraction","json","parsing","etl","schema","structured-data","no-llm"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"price_usdc":0.05,"payment":{"scheme":"x402","network":"eip155:8453","price_usdc":0.05}},{"id":"tool_compute_sandbox","name":"tool_compute_sandbox","description":"POST /tools/tool_compute_sandbox/run — Executes Python 3.12 code in an isolated subprocess with a 5-second hard timeout. Input: {python_code: string, input_data: any (optional, bound as variable 'input_data')}. Output: {success, result, stdout (capped 50KB), execution_time_ms, error_type}. Return value: assign to 'result' variable. Pre-loaded: math, json, re, statistics, itertools, functools, collections, decimal, datetime, random, hashlib, base64. Blocked: import, open(), eval(), exec(), os, sys, network, class definitions, dunder attributes. error_type values: syntax_error | security_error | runtime_error | timeout_error. Cost: $0.1500 USDC per call.","tags":["compute","python","sandbox","execution","code-runner","math","safe","isolated"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"price_usdc":0.15,"payment":{"scheme":"x402","network":"eip155:8453","price_usdc":0.15}},{"id":"tool_sa_airport_oracle","name":"tool_sa_airport_oracle","description":"POST /tools/sa-airport-oracle/run — Returns live flight status from ACSA (airports.co.za). Input: {airport_code: 'JNB'|'CPT'|'DUR', flight_number: string, request_type: 'arrival'|'departure'}. Output: {success, live_status, scheduled_time, estimated_time, actual_time, gate, carousel, terminal, flight_number, airport_code, request_type, error}. Coverage: JNB (O.R. Tambo), CPT (Cape Town Int'l), DUR (King Shaka). Data window: flights within 48 hours. Call GET /tools/sa-airport-oracle/health (free) first — if structure_valid=false, do not proceed. error_type values: 'stale_data' (do not retry), 'not found' (retry after 10-15 min), network error (retry once). flight_number is case-insensitive and normalised to uppercase internally. Read-only — no booking/ticketing. Cost: $0.1200 USDC per call.","tags":["flights","south-africa","africa","realtime","airport","JNB","CPT","DUR","travel"],"examples":[],"inputModes":["application/json"],"outputModes":["application/json"],"price_usdc":0.12,"payment":{"scheme":"x402","network":"eip155:8453","price_usdc":0.12}}],"provenance":[{"source":"mcp_registry","first_seen":"2026-05-18T14:19:41.185873+00:00"},{"source":"recrawl_warm","first_seen":"2026-05-21T14:54:11.325049+00:00"}],"recent_probes":[{"fetched_at":"2026-05-22T12:30:41.469716+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":35,"live_responds":false},{"fetched_at":"2026-05-22T06:43:22.488540+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":45,"live_responds":false},{"fetched_at":"2026-05-21T14:54:11.325049+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":23,"live_responds":false},{"fetched_at":"2026-05-20T13:21:52.318227+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":36,"live_responds":false},{"fetched_at":"2026-05-20T08:22:42.188270+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":23,"live_responds":false},{"fetched_at":"2026-05-20T06:52:29.399773+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":22,"live_responds":false},{"fetched_at":"2026-05-20T01:39:28.651414+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":18,"live_responds":false},{"fetched_at":"2026-05-18T23:33:14.652334+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":20,"live_responds":false},{"fetched_at":"2026-05-18T14:19:41.185873+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":21,"live_responds":false}],"catalog_attestation":null,"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"H47yDvgXKbuvz-sVgO-sUqtPIHHUUNrfcFsQwl2nAxDx_WdsL6DgBUOf9POinO1GhN0PZINUteiqVTkF5i-JjQ"}]}