{"audit":{"version":"1.4","generated_at":"2026-08-19T20:39:30.910466+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/permit-api-production-7375.up.railway.app","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"permit-api-production-7375.up.railway.app","name":"Permit Verdicts","url":"https://permit-api-production-7375.up.railway.app/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"Permit Verdicts","url":"https://permit-api-production-7375.up.railway.app"},"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":164,"last_error":null},"track_record":{"first_seen":"2026-08-03T19:50:35.090959+00:00","last_checked":"2026-08-19T08:58:34.561037+00:00","last_seen_ok":"2026-08-19T08:58:34.561037+00:00","checks_total":72,"checks_ok":72,"uptime_pct":100.0,"archived":false,"archived_reason":null},"conformance":{"score":44,"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":"Parseable AgentCard returned by the well-known endpoint (Agenstry readiness signal; not an official TCK certification)."},{"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":"72/72 probes succeeded (100% uptime)."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 8 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: Permit Verdicts (https://permit-api-production-7375.up.railway.app). 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":4,"max_points":5,"status":"pass","detail":"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://permit-api-production-7375.up.railway.app/.well-known/agent-card.json"},"skills":[{"id":"get_permit_verdict","name":"Get permit verdict for an address","description":"Returns a decision-ready verdict about construction and renovation activity at a street address, backed by every permit on record from the city's official open-data portal.","tags":["real-estate","property","construction","permits","due-diligence","public-records"],"examples":["Is there active construction at 760 14th St in San Francisco?","Has 1420 NW 56th St in Seattle had structural work done?","Any open permits at 60 Bay 34 St in NYC?"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"check_permit_activity","name":"Check permit activity (free)","description":"Free. Whether an address has permit activity on record: how many permits, how many open, and when the last activity was. Counts and dates only — no permit detail, no verdict.","tags":["real-estate","property","permits","free","due-diligence"],"examples":["Does 760 14th St in San Francisco have any permits on record?","Is anything currently open at this Austin address?"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"find_active_projects","name":"Find active construction projects (free preview)","description":"Free preview of five results. Recently permitted construction in a covered city, filtered by declared budget — or expired and abandoned permits when the investor feed is selected.","tags":["real-estate","construction","leads","market-research","free"],"examples":["What $100k+ remodels were permitted in Seattle this month?","Show me stalled construction projects in Austin."],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"list_jurisdictions","name":"List covered cities","description":"Free. Returns covered jurisdictions, pricing, and payment details.","tags":["coverage","metadata"],"examples":["Which cities does this API cover?"],"inputModes":[],"outputModes":[]},{"id":"resolve_price_event","name":"Resolve a crypto price event","description":"Did an asset trade or close above or below a threshold inside a window? Returns YES / NO / DISPUTED / UNRESOLVED with per-venue evidence, touch-versus-close handling, and stated confidence. Cross-checked across every venue reachable from this host.","tags":["crypto","settlement","prediction-markets","oracle","price"],"examples":["Did BTC close above $120,000 on August 1?","Did ETH touch $4,000 at any point last week?"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"attest_price_event","name":"Attest a settlement decision","description":"The full resolution plus a signed decision_id and an integrity hash over the evidence — a citable artifact for disputes. Signed by the same wallet that receives payment, so a counterparty can verify its origin offline.","tags":["crypto","settlement","attestation","audit","oracle"],"examples":["Give me a signed record I can show a counterparty."],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"decode_decision_id","name":"Decode a decision_id (free)","description":"Free. Is this decision_id genuine, and what did it say? Verifies the signature offline against the issuing wallet. Whoever calls this is usually the counterparty being shown an attestation, not the party who bought it.","tags":["crypto","settlement","verification","free","oracle"],"examples":["Someone sent me a decision_id — is it real?"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"list_settlement_assets","name":"List settlement assets and venues (free)","description":"Free. Which assets the oracle can resolve, and which venues are answering right now.","tags":["crypto","coverage","metadata","free"],"examples":["Which assets can you settle?"],"inputModes":[],"outputModes":[]}],"provenance":[{"source":"agentic_market","first_seen":"2026-08-03T19:50:35.090959+00:00"},{"source":"mcp_registry","first_seen":"2026-08-03T21:58:36.878297+00:00"}],"recent_probes":[{"fetched_at":"2026-08-19T08:58:34.561037+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":164,"live_responds":false},{"fetched_at":"2026-08-19T02:05:36.371417+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":188,"live_responds":false},{"fetched_at":"2026-08-18T19:07:31.888961+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":171,"live_responds":false},{"fetched_at":"2026-08-18T06:18:11.375269+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":166,"live_responds":false},{"fetched_at":"2026-08-17T23:22:09.812397+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":169,"live_responds":false},{"fetched_at":"2026-08-17T06:23:48.580495+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":168,"live_responds":false},{"fetched_at":"2026-08-16T19:53:21.485401+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":178,"live_responds":false},{"fetched_at":"2026-08-16T06:49:32.609363+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":160,"live_responds":false},{"fetched_at":"2026-08-16T00:17:55.331550+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":168,"live_responds":false},{"fetched_at":"2026-08-15T08:33:37.362789+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":193,"live_responds":false}],"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-19T20:39:30.914418+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/permit-api-production-7375.up.railway.app/evidence","dispute_url":"https://agenstry.com/agents/permit-api-production-7375.up.railway.app/dispute"},"verification_history":[],"signatures":[{"protected":"eyJhbGciOiJFUzI1NiIsImprdSI6Imh0dHBzOi8vYWdlbnN0cnkuY29tLy53ZWxsLWtub3duL2p3a3MuanNvbiIsImtpZCI6ImFnZW50ZmluZGVyLWVzMjU2LTEiLCJ0eXAiOiJKT1NFIn0","signature":"HlV5k5sOtWnQ6eLTZIRiW0IlAbXV-5JhS-4aB13gNOxIHVL9fpTcZb6yXUWQj9K5NjqMnzxP19jirHt50PEJHA"}]}