{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://agentbounties.org/schemas/discovery-manifest.v2.json",
  "title": "Agent Bounties Autonomous Discovery Manifest",
  "type": "object",
  "required": [
    "schema",
    "name",
    "version",
    "description",
    "open_source",
    "repository",
    "website",
    "default_cta",
    "protocol",
    "endpoints",
    "agent_tools",
    "verification_modes",
    "funding",
    "claimable_requirements",
    "payment_rails",
    "evidence_boundaries",
    "assistant_acquisition",
    "post_value_loop",
    "distribution_feedback"
  ],
  "properties": {
    "schema": {
      "const": "https://agentbounties.org/schemas/discovery-manifest.v2.json"
    },
    "name": { "const": "Agent Bounties" },
    "version": { "type": "string", "minLength": 1 },
    "description": { "type": "string", "minLength": 1 },
    "open_source": { "const": true },
    "repository": { "$ref": "#/$defs/uri" },
    "website": { "$ref": "#/$defs/uri" },
    "default_cta": {
      "type": "object",
      "required": ["label", "href"],
      "properties": {
        "label": { "const": "Post your own bounty" },
        "href": { "$ref": "#/$defs/uri" }
      },
      "additionalProperties": false
    },
    "protocol": {
      "type": "object",
      "required": [
        "version",
        "status_url",
        "network",
        "chain_id",
        "asset",
        "token",
        "operator_settlement_signer",
        "payout_authority"
      ],
      "properties": {
        "version": { "const": "agent-bounties/autonomous-v1" },
        "status_url": { "$ref": "#/$defs/uri" },
        "network": { "const": "base-mainnet" },
        "chain_id": { "const": 8453 },
        "asset": { "const": "USDC" },
        "token": { "$ref": "#/$defs/address" },
        "factory": {
          "anyOf": [
            { "$ref": "#/$defs/address" },
            { "type": "null" }
          ]
        },
        "operator_settlement_signer": { "const": false },
        "payout_authority": { "const": "confirmed canonical BountySettled event" }
      },
      "additionalProperties": true
    },
    "endpoints": {
      "type": "object",
      "required": [
        "api_base",
        "mcp_tools",
        "mcp_streamable_http",
        "llms_txt",
        "cloud_agent_readiness",
        "cloud_objective_plans",
        "cloud_bounty_drafts",
        "opportunities",
        "opportunity_feed_rss",
        "opportunity_feed_atom",
        "opportunity_feed_json",
        "discovery_subscriptions",
        "discovery_subscription",
        "opportunity_embed_html",
        "opportunity_embed_svg",
        "opportunity_embed_markdown",
        "opportunity_conversion_funnel",
        "site_analytics",
        "unfunded_bounties",
        "x402_discovery",
        "x402_bounty_funding",
        "x402_relay_status",
        "x402_compatibility_page",
        "x402_test_vectors",
        "agent_wallet_readiness",
        "agent_wallet_readiness_page",
        "protocol_status",
        "portable_skill",
        "portable_inventory_helper",
        "direct_chain_canary_manifest",
        "autonomous_terms_publish",
        "autonomous_terms_get",
        "autonomous_submission_evidence_publish",
        "autonomous_submission_evidence_get",
        "autonomous_bounty_feed",
        "solver_leaderboard",
        "autonomous_bounty_analysis",
        "autonomous_inventory_summary",
        "autonomous_inventory_badge",
        "autonomous_verification_jobs",
        "autonomous_events",
        "autonomous_canonical_child_terms_plan",
        "autonomous_standing_meta_v2_child_preparation",
        "autonomous_creation_plan",
        "autonomous_authorized_creation_plan",
        "autonomous_contribution_plan",
        "autonomous_authorized_contribution_plan",
        "autonomous_agent_native_claim",
        "autonomous_claim_funnel",
        "autonomous_claim_plan",
        "autonomous_authorized_claim_plan",
        "autonomous_submission_plan",
        "autonomous_submission_preparation",
        "autonomous_submission_authorization_plan",
        "autonomous_gas_relay_issue_comments",
        "autonomous_verification_attestation_plan",
        "autonomous_module_settlement_plan",
        "autonomous_attestation_settlement_plan",
        "autonomous_expire_claim_plan",
        "autonomous_expire_submission_plan",
        "autonomous_cancel_plan",
        "autonomous_refund_withdrawal_plan"
      ],
      "additionalProperties": { "type": "string", "minLength": 1 }
    },
    "agent_tools": {
      "type": "array",
      "minItems": 10,
      "uniqueItems": true,
      "items": { "type": "string", "minLength": 1 }
    },
    "verification_modes": {
      "type": "array",
      "minItems": 3,
      "items": { "type": "object" }
    },
    "funding": { "type": "object" },
    "claimable_requirements": {
      "type": "array",
      "minItems": 4,
      "items": { "type": "string" }
    },
    "payment_rails": {
      "type": "array",
      "minItems": 1,
      "items": { "type": "object" }
    },
    "evidence_boundaries": {
      "type": "array",
      "minItems": 4,
      "items": { "type": "string" }
    },
    "assistant_acquisition": { "type": "object" },
    "post_value_loop": { "type": "object" },
    "distribution_feedback": { "type": "object" }
  },
  "additionalProperties": false,
  "$defs": {
    "uri": {
      "type": "string",
      "format": "uri"
    },
    "address": {
      "type": "string",
      "pattern": "^0x[0-9a-fA-F]{40}$"
    }
  }
}
