{
  "protocolVersion": "0.3.0",
  "kind": "agent-card",
  "name": "A2A x402",
  "description": "Agent-to-Agent (A2A) + Model Context Protocol (MCP) hub for cosmetics.",
  "brief": "AI agents for brands, manufacturers, retailers and distributors. Business to business.",
  "notice": "Artificial intelligence makes mistakes. A2A Cosmetics is an information source, not a recommendation. Rules differ by jurisdiction — refer to the regulator in your jurisdiction for the information that applies to you.",
  "regulators": {
    "FDA (United States)": "https://www.fda.gov/",
    "COFEPRIS (Mexico)": "https://www.gob.mx/cofepris",
    "Health Canada": "https://www.canada.ca/en/health-canada.html",
    "ANVISA (Brazil)": "https://www.gov.br/anvisa/pt-br",
    "Office for Product Safety and Standards (UK)": "https://www.gov.uk/government/organisations/office-for-product-safety-and-standards",
    "European Commission": "https://commission.europa.eu/",
    "Federal Food Safety and Veterinary Office (Switzerland)": "https://www.blv.admin.ch/",
    "Ministry of Industry and Advanced Technology (UAE)": "https://moiat.gov.ae/",
    "Central Drugs Standard Control Organisation (India)": "https://cdsco.gov.in/",
    "Health Sciences Authority (Singapore)": "https://www.hsa.gov.sg/",
    "Ministry of Health, Labour and Welfare (Japan)": "https://www.mhlw.go.jp/",
    "Ministry of Food and Drug Safety (Korea)": "https://www.mfds.go.kr/",
    "Australian Industrial Chemicals Introduction Scheme (Australia)": "https://www.industrialchemicals.gov.au/",
    "Therapeutic Goods Administration (Australia, sunscreens)": "https://www.tga.gov.au/"
  },
  "lede": "The family rail of the a2a hubs: x402 settlement after the gate, and the receipts. An order intent settles in USDC on Base; the receipt is signed and carries the reason code and the rule-set version the gate returned.",
  "url": "https://a2a-x402.ai/a2a",
  "version": "1.0.0",
  "surface_version": "1.0.0",
  "documentationUrl": "https://a2a-cosmetics.ai/docs",
  "iconUrl": "https://a2a-x402.ai/icon-512.png",
  "provider": {
    "organization": "GreenCore Solutions Corp.",
    "url": "https://gsc-em.com"
  },
  "operator": {
    "name": "GreenCore Solutions Corp.",
    "url": "https://a2a-cosmetics.ai",
    "contact": "mailto:mcp@a2a-cosmetics.ai",
    "keyring": "https://a2a-x402.ai/.well-known/jwks.json",
    "kid": "a2ac-2026-09"
  },
  "contact": "mailto:mcp@a2a-cosmetics.ai",
  "capabilities": {
    "streaming": false,
    "pushNotifications": false,
    "stateTransitionHistory": false
  },
  "securitySchemes": {
    "credential": {
      "type": "http",
      "scheme": "bearer",
      "description": "client-credentials Bearer from https://a2a-registry.ai; reads on this surface need no authentication"
    }
  },
  "security": [],
  "defaultInputModes": [
    "application/json"
  ],
  "defaultOutputModes": [
    "application/json"
  ],
  "preferredTransport": "JSONRPC",
  "door_version": "1.0.0",
  "tools": 20,
  "additionalInterfaces": [
    {
      "url": "https://mcp.a2a-cosmetics.ai/mcp",
      "transport": "streamable-http",
      "protocolVersion": "2025-06-18",
      "description": "MCP door — server a2a-cosmetics 1.0.0, 20 tools"
    }
  ],
  "supportedInterfaces": [
    {
      "url": "https://a2a-x402.ai/a2a",
      "protocolBinding": "JSONRPC",
      "transport": "JSONRPC",
      "protocolVersion": "0.3.0",
      "preferred": true,
      "description": "A2A endpoint; text gets the skill list"
    },
    {
      "url": "https://mcp.a2a-cosmetics.ai/mcp",
      "protocolBinding": "HTTP+JSON",
      "transport": "streamable-http",
      "protocolVersion": "2025-06-18",
      "description": "MCP door — server a2a-cosmetics 1.0.0, 20 tools"
    },
    {
      "url": "https://a2a-x402.ai/",
      "protocolBinding": "HTTP+JSON",
      "transport": "HTTP+JSON",
      "protocolVersion": "1.0",
      "description": "this surface and its kit"
    }
  ],
  "skills": [
    {
      "id": "cosmetics.api",
      "name": "api",
      "description": "The paid call (402 offer without payment; settled answer and signed receipt with PAYMENT-SIGNATURE; a refused order intent is not charged)",
      "tags": [
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.settled",
      "name": "settled",
      "description": "This zone's settled register",
      "tags": [
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.x402",
      "name": "x402",
      "description": "How the paid call works",
      "tags": [
        "cosmetics"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "text/html"
      ]
    },
    {
      "id": "cosmetics.receipt_lookup",
      "name": "receipt lookup",
      "description": "Resolve a settlement receipt by nonce (signed EdDSA, kid a2ac-x402-receipts-2026-09).",
      "tags": [
        "x402",
        "a2a"
      ],
      "inputModes": [
        "application/json"
      ],
      "outputModes": [
        "application/json"
      ]
    },
    {
      "id": "cosmetics.settled_state",
      "name": "settled state",
      "description": "The payments door's settled count and last receipt.",
      "tags": [
        "x402",
        "a2a"
      ],
      "inputModes": [
        "application/json",
        "text/plain"
      ],
      "outputModes": [
        "application/json"
      ]
    }
  ],
  "family": {
    "hub": "https://a2a-cosmetics.ai",
    "issuer": "https://a2a-registry.ai",
    "x402": "https://a2a-x402.ai",
    "pay": "https://a2a-pay.ai"
  },
  "asOf": "2026-09-20",
  "signatures": [
    {
      "protected": "eyJhbGciOiJFUzI1NiIsImtpZCI6ImEyYWMtMjAyNi0wOSJ9",
      "signature": "DAkWfmJIH4wZCmRM0EneWv5o0d_N7V1zO3Kkd9VJ1_eXGJr8dd_iyXx-pohSiIZBLKlXBBEoAMLnuX8u3G8Y9w"
    }
  ]
}
