{"audit":{"version":"1.3","generated_at":"2026-05-22T23:03:45.196628+00:00","generated_by":"Agenstry","report_url":"https://agenstry.com/agents/ai.zkproofport.app","methodology_url":"https://agenstry.com/methodology","verifier_jwks_url":"https://agenstry.com/.well-known/jwks.json","subject":{"domain":"ai.zkproofport.app","name":"proveragent.base.eth","url":"https://ai.zkproofport.app/.well-known/agent-card.json"}},"identity":{"provider":{"organization":"ZKProofport","url":"https://zkproofport.app"},"registry_verification":null,"signature":{"signed":false,"signature_valid":null}},"protocol":{"version":"0.3.0","supports_streaming":true,"supports_push_notifications":false},"operational":{"live_state":"live","live_responds":true,"last_status_code":null,"last_elapsed_ms":null,"last_error":"ReadTimeout: "},"track_record":{"first_seen":"2026-05-19T18:56:00.070236+00:00","last_checked":"2026-05-21T23:37:48.652663+00:00","last_seen_ok":"2026-05-19T18:56:00.070236+00:00","checks_total":3,"checks_ok":1,"uptime_pct":33.3,"archived":false,"archived_reason":null},"conformance":{"score":62,"grade":"C","summary":"C-grade: usable but has clear conformance issues — review the breakdown below.","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":25,"max_points":25,"status":"pass","detail":"Endpoint responds to message/send with valid JSON-RPC."},{"key":"protocol_version","label":"Protocol version","points":5,"max_points":10,"status":"partial","detail":"Declares pre-1.0 A2A 0.3.0 (Google preview). Upgrade to v1.x for full points."},{"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":0,"max_points":15,"status":"info","detail":"Only 3 probes so far — need ≥5 for an uptime grade."},{"key":"skills","label":"Skill declaration","points":10,"max_points":10,"status":"pass","detail":"Declares 3 skills with structured metadata."},{"key":"verified_identity","label":"Verified Identity","points":5,"max_points":10,"status":"partial","detail":"Provider declared: ZKProofport (https://zkproofport.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":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":2,"max_points":5,"status":"partial","detail":"Declares 1 security scheme(s) but none use PKCE or mTLS."}]},"skills":[{"id":"prove","name":"Generate ZK Proof","description":"[SINGLE-STEP x402] Generate a zero-knowledge proof via x402 single-step flow. POST circuit + inputs → receive 402 with nonce → pay USDC → retry with X-Payment-TX and X-Payment-Nonce headers. Atomically verifies USDC payment on-chain and generates the ZK proof in TEE. Takes 30-90 seconds.\n\nSUPPORTED CIRCUITS:\n- coinbase_kyc: Prove Coinbase KYC verification without revealing identity. EAS schema 0xf8b05c79f090979bf4a80270aba232dff11a10d9ca55c4f88de95317970f0de9.\n- coinbase_country: Prove country of residence with inclusion/exclusion list. EAS schema 0x1801901fabd0e6189356b4fb52bb0ab855276d84f7ec140839fbd1f6801ca065.\n\nREQUIRED INPUTS (all prepared client-side — see guide_url for detailed instructions):\n- circuit: \"coinbase_kyc\" or \"coinbase_country\"\n- signal_hash: 0x-prefixed 32-byte signal hash (keccak256 of scope + address)\n- nullifier: 0x-prefixed 32-byte nullifier (derived from attestation UID + scope)\n- scope_bytes: 0x-prefixed 32-byte keccak256 of scope string\n- merkle_root: 0x-prefixed 32-byte Merkle root of authorized signers tree\n- user_address: 0x-prefixed 20-byte wallet address with Coinbase attestation\n- signature: eth_sign(signal_hash) from the KYC wallet, 65 bytes (r+s+v)\n- user_pubkey_x, user_pubkey_y: secp256k1 public key coordinates (recover via ecrecover from signature)\n- raw_transaction: RLP-encoded EAS attestation transaction (zero-padded to 300 bytes)\n- tx_length: Actual byte length before padding\n- coinbase_attester_pubkey_x/y: Attester public key (recover via ecrecover from attestation TX)\n- merkle_proof: Merkle proof for attester in authorized signers list (max depth 8)\n- leaf_index, depth: Position in Merkle tree\n\nPAYMENT: 0.1 USDC on Base. x402 protocol — nonce returned in 402 body, pay, retry with headers.\n\nRETURNS: proof (hex), publicInputs (hex), proofWithInputs (hex for on-chain verification), TEE attestation document\n\nON-CHAIN VERIFICATION:\n- Verifier contracts on Base Mainnet (chainId=1): coinbase_attestation=0xf3d5a09d2c85b28c52ef2905c1be3a852b609d0c, coinbase_country_attestation=0x78792554e1582cb49d858eacb5c3607b42d28224\n- Call verifier.verify(proofWithInputs) to verify on-chain","tags":["zk-proof","generate","tee","noir","privacy","coinbase","attestation","on-chain-verification","x402","kyc","identity","country-verification","eas"],"examples":["Generate a KYC proof for my Coinbase account","Prove my Coinbase verification without revealing identity","Create a country attestation proof","Submit my proof inputs and generate the ZK proof","Verify my Coinbase identity privately using ZK proof"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_supported_circuits","name":"Get Supported Circuits","description":"[DISCOVERY] List all supported ZK circuits with metadata, verifier addresses, EAS schema IDs, and chain information. Call this first to discover available proof types before starting a session.","tags":["circuits","metadata","discovery","coinbase","kyc","country","eas"],"examples":["What circuits do you support?","List available proof types","Show me Coinbase verification options"],"inputModes":["application/json"],"outputModes":["application/json"]},{"id":"get_guide","name":"Get Circuit Guide","description":"[GUIDE] Get a comprehensive step-by-step guide for preparing all inputs required for a specific circuit. Read this BEFORE attempting proof generation.","tags":["guide","instructions","tutorial","coinbase","kyc","country","inputs"],"examples":["How do I prepare inputs for coinbase_kyc?","Show me the guide for proof generation","What inputs do I need for country verification?"],"inputModes":["application/json"],"outputModes":["application/json"]}],"provenance":[{"source":"manifests","first_seen":"2026-05-19T18:56:00.070236+00:00"},{"source":"recrawl_warm","first_seen":"2026-05-21T23:37:48.652663+00:00"}],"recent_probes":[{"fetched_at":"2026-05-21T23:37:48.652663+00:00","ok":false,"status_code":null,"error":"ReadTimeout: ","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-05-20T18:21:19.654520+00:00","ok":false,"status_code":null,"error":"ReadTimeout: ","elapsed_ms":null,"live_responds":null},{"fetched_at":"2026-05-19T18:56:00.070236+00:00","ok":true,"status_code":200,"error":null,"elapsed_ms":1055,"live_responds":true}],"catalog_attestation":null,"verification_history":[]}