{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/fiatdock-com/json-schema/fiatdock-com-token-report-schema.json",
  "title": "TokenReport",
  "description": "Paid. One-call bundle — price/liquidity (DexScreener) + full safety verdict (GoPlus) for an ERC-20.",
  "x-generated": "2026-11-10",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/fiatdock-com-chain-api-openapi.yml#/components/schemas/TokenReport",
  "type": "object",
  "properties": {
    "network": {
      "type": "string",
      "description": "Chain slug the report is for (e.g. base)"
    },
    "address": {
      "type": "string",
      "description": "The ERC-20 contract address"
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "Token name"
    },
    "symbol": {
      "type": [
        "string",
        "null"
      ],
      "description": "Token symbol"
    },
    "verdict": {
      "type": "string",
      "description": "Headline safety verdict: safe | caution | danger"
    },
    "price": {
      "type": "object",
      "properties": {
        "priceUsd": {
          "type": [
            "number",
            "null"
          ]
        },
        "priceChange": {
          "type": "object",
          "properties": {
            "m5": {
              "type": [
                "number",
                "null"
              ]
            },
            "h1": {
              "type": [
                "number",
                "null"
              ]
            },
            "h6": {
              "type": [
                "number",
                "null"
              ]
            },
            "h24": {
              "type": [
                "number",
                "null"
              ]
            }
          },
          "required": [
            "m5",
            "h1",
            "h6",
            "h24"
          ]
        },
        "liquidityUsd": {
          "type": [
            "number",
            "null"
          ]
        },
        "volume24hUsd": {
          "type": [
            "number",
            "null"
          ]
        },
        "marketCapUsd": {
          "type": [
            "number",
            "null"
          ]
        },
        "fdvUsd": {
          "type": [
            "number",
            "null"
          ]
        },
        "topPair": {
          "type": "object",
          "properties": {
            "dex": {
              "type": [
                "string",
                "null"
              ]
            },
            "pairAddress": {
              "type": [
                "string",
                "null"
              ]
            },
            "quote": {
              "type": [
                "string",
                "null"
              ]
            },
            "url": {
              "type": [
                "string",
                "null"
              ]
            }
          },
          "required": [
            "dex",
            "pairAddress",
            "quote",
            "url"
          ]
        }
      },
      "required": [
        "priceUsd",
        "priceChange",
        "liquidityUsd",
        "volume24hUsd",
        "marketCapUsd",
        "fdvUsd",
        "topPair"
      ],
      "description": "Price/liquidity from the most-liquid DEX pair (DexScreener)"
    },
    "safety": {
      "type": "object",
      "properties": {
        "verdict": {
          "type": "string"
        },
        "verdictReason": {
          "type": "string"
        },
        "isHoneypot": {
          "type": "boolean"
        },
        "buyTaxPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "sellTaxPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "isOpenSource": {
          "type": "boolean"
        },
        "isProxy": {
          "type": "boolean"
        },
        "isMintable": {
          "type": "boolean"
        },
        "holderCount": {
          "type": [
            "number",
            "null"
          ]
        },
        "topHolderPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "lpLockedPct": {
          "type": [
            "number",
            "null"
          ]
        },
        "listedOnCex": {
          "type": "boolean"
        },
        "risks": {
          "type": "array",
          "items": {
            "type": "object",
            "properties": {
              "level": {
                "type": "string"
              },
              "flag": {
                "type": "string"
              },
              "detail": {
                "type": "string"
              }
            },
            "required": [
              "level",
              "flag",
              "detail"
            ]
          }
        }
      },
      "required": [
        "verdict",
        "verdictReason",
        "isHoneypot",
        "buyTaxPct",
        "sellTaxPct",
        "isOpenSource",
        "isProxy",
        "isMintable",
        "holderCount",
        "topHolderPct",
        "lpLockedPct",
        "listedOnCex",
        "risks"
      ],
      "description": "On-chain safety verdict (GoPlus) — same shape token_safety returns"
    },
    "source": {
      "type": "string",
      "description": "Data sources"
    },
    "asOf": {
      "type": "string",
      "description": "ISO 8601 read time"
    },
    "note": {
      "type": "string",
      "description": "Human-readable caveat"
    }
  },
  "required": [
    "network",
    "address",
    "name",
    "symbol",
    "verdict",
    "price",
    "safety",
    "source",
    "asOf",
    "note"
  ]
}