{
  "schema_version": "civicdataforge.agent-commerce.v1",
  "updated_at": "2026-08-24",
  "canonical_url": "https://civicdataforge.pages.dev/.well-known/agent-commerce.json",
  "provider": {
    "name": "CivicDataForge",
    "website": "https://civicdataforge.pages.dev/",
    "support_email": "civicdataforge@gmail.com"
  },
  "product_rule": "A supported machine purchase executes immediately and returns a receipt-bound evidence packet. Payment is not a lead, intake request, or promise of later analyst work.",
  "preflight": {
    "method": "POST",
    "url": "https://civicdataforge.pages.dev/api/quote",
    "authentication": "none",
    "request_schema": {
      "type": "object",
      "required": ["task", "subject"],
      "properties": {
        "task": {
          "type": "string",
          "enum": [
            "us_property_decision",
            "india_company_evidence",
            "india_supplier_pack",
            "restricted_party_screening",
            "epa_facility_evidence",
            "china_counterparty_intake"
          ]
        },
        "subject": { "type": "object" }
      }
    },
    "charged": false,
    "persists_subject": false,
    "purpose": "Return current agentic-payment eligibility, current listing prices, required input, execution route, and automatic-delivery contract before an agent spends money."
  },
  "purchase": {
    "actor": "civicdataforge/civicdataforge-evidence-gateway",
    "store_url": "https://apify.com/civicdataforge/civicdataforge-evidence-gateway",
    "run_sync_endpoint": "https://api.apify.com/v2/acts/civicdataforge~civicdataforge-evidence-gateway/run-sync-get-dataset-items?timeout=120&clean=true",
    "pricing_model": "PAY_PER_EVENT",
    "agentic_payment_eligible": true,
    "apify_account_required": false,
    "rails": [
      "Apify AGI prepaid token via x402 or MPP",
      "Apify MCP direct x402 via mcpc",
      "Skyfire PAY token",
      "caller-owned Apify API token"
    ],
    "current_state_rule": "The no-auth quote endpoint rechecks the public Apify Store before returning READY. The live Store response controls final price, eligibility, and spending limits."
  },
  "direct_x402_testnet": {
    "status": "public_testnet_validated_not_mainnet",
    "network": "eip155:84532",
    "price": "$0.10 test USDC",
    "evidence_endpoint": "https://civicdataforge-agent-commerce.neoaethel.workers.dev/v1/evidence",
    "a2a_send_endpoint": "https://civicdataforge-agent-commerce.neoaethel.workers.dev/a2a/v1/message:send",
    "agent_card": "https://civicdataforge.pages.dev/.well-known/agent-card.json",
    "discovery": "Both POST endpoints expose x402 v2 Bazaar metadata and passed Coinbase's public endpoint validator on 2026-08-24.",
    "boundary": "This lane uses Base Sepolia test tokens. It is an integration surface, not a revenue receipt or a claim that mainnet settlement is live."
  },
  "fulfillment": {
    "automatic": true,
    "civicdataforge_analyst_required": false,
    "starts_after_payment": true,
    "primary_delivery": "The synchronous paid Actor response or run dataset contains the evidence packet.",
    "additional_delivery": [
      "GATEWAY-PACKET in the run key-value store",
      "EVIDENCE-DOSSIER.md in the run key-value store",
      "evidence-state receipt hash",
      "final packet receipt hash",
      "source-rights ledger",
      "monitoring state"
    ],
    "terminal_states": [
      "EVIDENCE_FOUND",
      "NO_PUBLISHED_MATCH",
      "REVIEW_REQUIRED",
      "SOURCE_UNAVAILABLE",
      "SCOPE_INCOMPLETE"
    ],
    "review_required_rule": "REVIEW_REQUIRED is automatically delivered as an honest product state. It does not hold the order open and is never replaced with fabricated clearance.",
    "failed_source_rule": "SOURCE_UNAVAILABLE is delivered without charging the evidence-packet event; a source failure cannot masquerade as paid evidence."
  },
  "recurrence": {
    "operator": "buyer agent or buyer-owned scheduler",
    "civicdataforge_manual_setup_required": false,
    "method": "Repeat paid calls on the buyer's chosen cadence and supply previousReceiptHash when using gateway change-state comparison. The STR Actor also supports complete-scope named baselines, scheduled runs, diffs, and signed webhook delivery.",
    "boundary": "Apify agentic-payment tokens do not currently create platform schedules or integrations. The buyer agent controls cadence, so CivicDataForge fulfillment remains automatic without claiming that an Apify schedule was purchased."
  },
  "human_service_boundary": {
    "machine_catalog_includes_manual_services": false,
    "excluded": [
      "$99 analyst-reviewed Permit Evidence Audit",
      "$99 analyst-reviewed India Company Evidence Audit",
      "$500 managed monitoring pilot"
    ],
    "reason": "Those legacy Stripe products contain confirmation or analyst-service promises and therefore are not represented as zero-touch agent purchases. Their underlying supported evidence tasks are available through the automatic gateway instead."
  },
  "official_protocol_references": {
    "apify_agentic_payments": "https://docs.apify.com/integrations/mcp#agentic-payments",
    "apify_x402": "https://docs.apify.com/integrations/x402",
    "apify_monetization": "https://docs.apify.com/actors/publishing/monetize",
    "x402_seller": "https://docs.cdp.coinbase.com/x402/seller/quickstart",
    "x402_bazaar": "https://docs.cdp.coinbase.com/x402/seller/get-discovered",
    "a2a_specification": "https://a2a-protocol.org/latest/specification/"
  },
  "responsible_use": "Public-record research and compliance infrastructure only. A delivered no-match, review candidate, unavailable source, or incomplete scope is not legal clearance or an eligibility decision."
}
