{
  "@context": {
    "@vocab": "https://cryptodecentral.co.za/schema#",
    "schema": "https://schema.org/",
    "xsd": "http://www.w3.org/2001/XMLSchema#",
    "dcterms": "http://purl.org/dc/terms/",
    "cryptodecentral": "https://cryptodecentral.co.za/schema#",
    "DirectoryListing": "cryptodecentral:DirectoryListing",
    "id": {
      "@id": "cryptodecentral:id",
      "@type": "xsd:string"
    },
    "name": {
      "@id": "cryptodecentral:name",
      "@type": "xsd:string"
    },
    "category": {
      "@id": "cryptodecentral:category",
      "@type": "xsd:string"
    },
    "url": {
      "@id": "cryptodecentral:url",
      "@type": "@id"
    },
    "description": {
      "@id": "cryptodecentral:description",
      "@type": "xsd:string"
    },
    "sponsored": {
      "@id": "cryptodecentral:sponsored",
      "@type": "xsd:boolean"
    },
    "tags": {
      "@id": "cryptodecentral:tags",
      "@container": "@list"
    },
    "verification": {
      "@id": "cryptodecentral:verification",
      "@type": "xsd:string"
    },
    "last_reviewed": {
      "@id": "cryptodecentral:last_reviewed",
      "@type": "xsd:date"
    },
    "risk_notes": {
      "@id": "cryptodecentral:risk_notes"
    },
    "license": {
      "@id": "cryptodecentral:license",
      "@type": "xsd:string"
    },
    "related_pillars": {
      "@id": "cryptodecentral:related_pillars",
      "@container": "@list"
    },
    "DirectoryFeed": "cryptodecentral:DirectoryFeed",
    "schema_version": {
      "@id": "cryptodecentral:schema_version",
      "@type": "xsd:string"
    },
    "criteria_url": {
      "@id": "cryptodecentral:criteria_url",
      "@type": "@id"
    },
    "disclaimer": {
      "@id": "cryptodecentral:disclaimer",
      "@type": "xsd:string"
    },
    "listings": {
      "@id": "cryptodecentral:listings",
      "@container": "@list"
    },
    "ListingResponse": "cryptodecentral:ListingResponse",
    "listing": {
      "@id": "cryptodecentral:listing",
      "@type": "@id"
    },
    "SearchFeed": "cryptodecentral:SearchFeed",
    "hits": {
      "@id": "cryptodecentral:hits",
      "@container": "@list"
    },
    "ranking_note": {
      "@id": "cryptodecentral:ranking_note",
      "@type": "xsd:string"
    },
    "DexPulseFeed": "cryptodecentral:DexPulseFeed",
    "asOf": {
      "@id": "cryptodecentral:asOf",
      "@type": "xsd:dateTime"
    },
    "source": {
      "@id": "cryptodecentral:source"
    },
    "market": {
      "@id": "cryptodecentral:market"
    },
    "topTvl": {
      "@id": "cryptodecentral:topTvl",
      "@container": "@list"
    },
    "topVolume24h": {
      "@id": "cryptodecentral:topVolume24h",
      "@container": "@list"
    },
    "topVolume7d": {
      "@id": "cryptodecentral:topVolume7d",
      "@container": "@list"
    },
    "unavailable": {
      "@id": "cryptodecentral:unavailable"
    }
  },
  "@type": "schema:Dataset",
  "schema:name": "CryptoDecentral API JSON-LD context",
  "schema:description": "A JSON-LD @context for the objects CryptoDecentral's own API contract declares: one class per component schema, one property per declared field, typed from the contract. Derived by script (derive-json-ld.py, 2026-11-04) from openapi/cryptodecentral-co-za-openapi.json.",
  "dcterms:created": "2026-11-04",
  "dcterms:source": [
    "openapi/cryptodecentral-co-za-openapi.json"
  ]
}