{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/hashlock-markets/json-schema/hashlock-markets-asset-schema.json",
  "title": "Asset",
  "x-generated": "2026-11-11",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/hashlock-markets-openapi.json#/components/schemas/Asset",
  "type": "object",
  "properties": {
    "id": {
      "type": "string"
    },
    "chain": {
      "type": "string"
    },
    "symbol": {
      "type": "string"
    },
    "name": {
      "type": [
        "string",
        "null"
      ],
      "description": "full name, e.g. 'USD Coin' — display only; null for listed (unverified) tokens"
    },
    "address": {
      "type": [
        "string",
        "null"
      ],
      "description": "token contract (null = native)"
    },
    "decimals": {
      "type": "integer"
    },
    "enabled": {
      "type": "boolean"
    },
    "verified": {
      "type": "boolean",
      "description": "curated by Hashlock; false = listed automatically after checks — trade it by contract address, not by symbol"
    },
    "source": {
      "type": "string",
      "description": "'curated', 'launchpad:<bankr|virtuals|clanker>' or 'api'"
    },
    "logoAt": {
      "type": [
        "string",
        "null"
      ],
      "format": "date-time",
      "description": "when Hashlock fetched the token's logo, found by its contract address (null = none); the image is served at /api/assets/{id}/logo?v=<this value as epoch milliseconds>, cacheable for good at that URL"
    },
    "logoAnimated": {
      "type": "boolean",
      "description": "the logo is an animated image"
    }
  }
}