{
  "serviceId": "agent-trust",
  "displayName": "Agent Trust and Compliance",
  "description": "Checks an agent can run before it trusts a counterparty. POST /v1/domain-trust: RDAP and DNS (MX, SPF, DMARC, DNSSEC) as a 0-100 score. /v1/brand-verify: a live TLS handshake. /v1/seller-trust: both, with a recommendation. /v1/sanctions-check: the US Consolidated Screening List. /v1/reputation: an EVM address on eth, base, arbitrum or polygon. Scores come with reasons.",
  "category": "security",
  "resourceUrl": "https://agent.pocket.network/v1/agent-trust",
  "priceUsd": "0.005000",
  "priceVersion": 1,
  "rails": [
    {
      "id": "base",
      "network": "eip155:8453",
      "chainId": 8453,
      "tokenAddress": "0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913",
      "tokenDecimals": 6,
      "payToAddress": "0xF732ea490c5766071785a2310523f7fA2CEbB829"
    }
  ],
  "paymentNetworks": [
    "eip155:8453",
    "eip155:4217"
  ],
  "paymentProtocols": [
    "x402",
    "mpp"
  ],
  "protocols": [
    "rest"
  ],
  "inputSchema": {
    "type": "object",
    "description": "The body of POST /v1/domain-trust and /v1/brand-verify (domain, and for brand-verify an optional brand_name). /v1/seller-trust takes url; /v1/sanctions-check takes address (a wallet address, entity name or other identifier); /v1/reputation takes chain (eth, base, arbitrum or polygon) and address.",
    "properties": {
      "domain": {
        "type": "string",
        "description": "The domain to check, e.g. example.com."
      },
      "brand_name": {
        "type": "string",
        "description": "brand-verify only. The brand the certificate should name."
      }
    },
    "required": [
      "domain"
    ]
  },
  "outputSchema": {
    "type": "object",
    "description": "Each check answers its own JSON object with a 0-100 score and a reasons array: domain-trust a trust_score from RDAP and DNS, brand-verify the TLS facts, seller-trust both with a trusted, proceed_with_caution or high_risk recommendation, sanctions-check the list matches, reputation the address facts and coverage. Errors carry an error field."
  },
  "methods": {
    "GET /v1/health": "read",
    "GET /v1/version": "read",
    "POST /v1/brand-verify": "read",
    "POST /v1/domain-trust": "read",
    "POST /v1/reputation": "read",
    "POST /v1/sanctions-check": "read",
    "POST /v1/seller-trust": "read"
  },
  "example": {
    "method": "POST",
    "path": "/v1/domain-trust",
    "request": {
      "domain": "example.com"
    },
    "response": {
      "portal": {
        "provenance": "third-party-supplier",
        "serviceId": "agent-trust",
        "schemaCheck": "unchecked"
      },
      "data": {
        "service": "agent-trust",
        "fetched_at": "2026-11-09T19:45:38.463Z",
        "cache": {
          "stale": false,
          "age_ms": 0
        },
        "domain": "example.com",
        "trust_score": 100,
        "trust_score_scale": "0-100, higher is more trustworthy",
        "registration": {
          "registered": true,
          "ldh_name": "EXAMPLE.COM",
          "status": [
            "client delete prohibited",
            "client transfer prohibited",
            "client update prohibited"
          ],
          "nameserver_count": 2,
          "has_secure_dns": true,
          "registered_at": "1995-08-14T04:00:00Z",
          "expires_at": "2027-08-13T04:00:00Z",
          "last_changed_at": "2026-08-14T08:01:43Z",
          "age_days": 11410,
          "days_until_expiration": 276
        },
        "dns": {
          "has_mx": true,
          "mx_count": 1,
          "has_spf": true,
          "has_dmarc": true,
          "a_record_count": 2
        },
        "reasons": [
          "registered 11410d ago (+40.0)",
          "has MX records (+10)",
          "has SPF record (+5)"
        ]
      }
    },
    "capturedAt": "2026-11-09T19:45:39.140Z"
  },
  "firstParty": true,
  "networks": [
    "eip155:8453",
    "eip155:4217"
  ],
  "serving": true,
  "page": "https://agent.pocket.network/services/agent-trust",
  "descriptor": "https://agent.pocket.network/services/agent-trust/descriptor.json"
}