Back to proveragent.base.eth

Card snapshot

ai.zkproofport.app · 2026-05-19 18:56:00 UTC · e2e793e91eca2111ebfc2e4dce5553125c8f699011f33d6bd4d9ede3652bc563

This is a frozen copy of the agent's agent-card.json as we observed it at the timestamp above. We capture a new snapshot every time the card's content hash changes. Useful for: forensic drift analysis, verifying downstream callers see the right version, reproducing routing decisions made historically.

{
  "name": "proveragent.base.eth",
  "description": "ZK proof generation agent for Coinbase KYC and country-of-residence verification. Generates zero-knowledge proofs from Coinbase Verified Account attestations on Base chain using Noir circuits in AWS Nitro TEE. Supports: (1) coinbase_kyc \u2014 prove KYC verification without revealing identity, (2) coinbase_country \u2014 prove country of residence with inclusion/exclusion lists. Payment via USDC on Base. ERC-8004 registered identity. x402 payment protocol compatible.",
  "url": "https://ai.zkproofport.app/a2a",
  "version": "1.0.0",
  "protocolVersion": "0.3.0",
  "protocolVersions": [
    "0.3"
  ],
  "provider": {
    "organization": "ZKProofport",
    "url": "https://zkproofport.app"
  },
  "capabilities": {
    "streaming": true,
    "pushNotifications": false,
    "stateTransitionHistory": true
  },
  "securitySchemes": {
    "x402": {
      "type": "apiKey",
      "in": "header",
      "name": "X-402-Payment"
    }
  },
  "security": [
    {
      "x402": []
    }
  ],
  "skills": [
    {
      "id": "prove",
      "name": "Generate ZK Proof",
      "description": "[SINGLE-STEP x402] Generate a zero-knowledge proof via x402 single-step flow. POST circuit + inputs \u2192 receive 402 with nonce \u2192 pay USDC \u2192 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 \u2014 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 \u2014 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"
      ]
    }
  ],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "guides": {
    "description": "Step-by-step guides for preparing proof inputs. Read the guide BEFORE calling prove.",
    "coinbase_kyc": "https://ai.zkproofport.app/api/v1/guide/coinbase_kyc",
    "coinbase_country": "https://ai.zkproofport.app/api/v1/guide/coinbase_country"
  },
  "identity": {
    "erc8004": {
      "contractAddress": "0x8004A169FB4a3325136EB29fA0ceB6D2e539a432",
      "chainId": 1,
      "tokenId": "31921"
    }
  },
  "tee": {
    "mode": "nitro",
    "attestationEnabled": true,
    "attestationFormat": "aws-nitro-nsm",
    "attestationEndpoint": "https://ai.zkproofport.app/api/v1/attestation/{proofId}"
  }
}