{
 "openapi": "3.1.0",
 "info": {
  "title": "StableRadar public data files",
  "version": "2026-11-13",
  "description": "Read-only static files published with every StableRadar build (no API keys, no rate-limited live API; a REST API is planned, see /tools/api). Files are regenerated on each deploy; live prices on the site are fetched in the browser and are not part of these files. Data attribution: market data from CoinGecko and DefiLlama (DefiLlama API terms restrict commercial use and republishing; ask DefiLlama before commercial use). Issuer exports carry their own sources and dates. Informational only — not legal or investment advice. Contact: contact@stableradar.com",
  "contact": {
   "name": "StableRadar",
   "email": "contact@stableradar.com",
   "url": "https://stableradar.com"
  },
  "license": {
   "name": "See stableradar.com/about",
   "url": "https://stableradar.com/about"
  }
 },
 "servers": [
  {
   "url": "https://stableradar.com"
  }
 ],
 "paths": {
  "/data/peg-history.json": {
   "get": {
    "operationId": "getPegHistory",
    "summary": "Peg history summary for all tracked stablecoins",
    "description": "Max deviation, low/high, time outside ±50/±100 bps per window (24h, 7d, 30d, 90d, 1y), sparklines, supply by chain, derived deviation events and known historic depeg events with official sources. Generated at build time from CoinGecko and DefiLlama data.",
    "responses": {
     "200": {
      "description": "Peg history",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/PegHistory"
        }
       }
      }
     }
    }
   }
  },
  "/data/peg/{id}.json": {
   "get": {
    "operationId": "getCoinPegDetail",
    "summary": "Detailed price series for one stablecoin",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "description": "CoinGecko coin id",
      "schema": {
       "type": "string",
       "enum": [
        "usd-coin",
        "euro-coin",
        "ripple-usd",
        "global-dollar",
        "paypal-usd",
        "gemini-dollar",
        "societe-generale-forge-eurcv",
        "gyen",
        "allunity-eur",
        "allunity-chf",
        "monerium-eur-money-2",
        "tether",
        "usd1-wlfi",
        "usdtb",
        "usds",
        "dai",
        "ethena-usde",
        "usdd",
        "first-digital-usd",
        "usual-usd",
        "true-usd",
        "gho",
        "frax",
        "crvusd",
        "liquity-usd",
        "stasis-eurs",
        "jpycoin",
        "xsgd",
        "straitsx-xusd",
        "brz",
        "brla-digital-brla",
        "monerium-gbp-emoney",
        "usdgo",
        "sofiusd",
        "open-usd",
        "agora-dollar",
        "united-stables",
        "falcon-finance",
        "frax-usd"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Per-coin series (CoinGecko 5-minute, hourly and daily prices; DefiLlama supply)",
      "content": {
       "application/json": {
        "schema": {
         "type": "object"
        }
       }
      }
     },
     "404": {
      "description": "Unknown id"
     }
    }
   }
  },
  "/cards/issuer-{id}-dossier.json": {
   "get": {
    "operationId": "getIssuerDossier",
    "summary": "Issuer export (JSON): licences, registrations, reserves, partners and sources",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "description": "StableRadar issuer id (as in /issuer/{id})",
      "schema": {
       "type": "string",
       "enum": [
        "ripple",
        "tether",
        "circle",
        "paxos",
        "wlfi",
        "sky",
        "ethena",
        "fdt",
        "gemini",
        "usdd",
        "techteryx",
        "frax",
        "usual",
        "aave",
        "curve",
        "anchorage",
        "sgforge",
        "jpyc",
        "liquity",
        "stasis",
        "dinaro",
        "qivalis",
        "hsbc",
        "allunity",
        "anchorpoint",
        "bridge",
        "straitsx",
        "gmo",
        "wisdomtree",
        "universal",
        "monerium",
        "quantoz",
        "stablr",
        "bankingcircle",
        "aedstablecoin",
        "zand",
        "aedc",
        "jdcoinlink"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "Issuer dossier rows with source links and dates",
      "content": {
       "application/json": {
        "schema": {
         "$ref": "#/components/schemas/Dossier"
        }
       }
      }
     },
     "404": {
      "description": "Unknown id"
     }
    }
   }
  },
  "/cards/issuer-{id}-dossier.csv": {
   "get": {
    "operationId": "getIssuerDossierCsv",
    "summary": "Issuer export (CSV, same rows as the JSON)",
    "parameters": [
     {
      "name": "id",
      "in": "path",
      "required": true,
      "schema": {
       "type": "string",
       "enum": [
        "ripple",
        "tether",
        "circle",
        "paxos",
        "wlfi",
        "sky",
        "ethena",
        "fdt",
        "gemini",
        "usdd",
        "techteryx",
        "frax",
        "usual",
        "aave",
        "curve",
        "anchorage",
        "sgforge",
        "jpyc",
        "liquity",
        "stasis",
        "dinaro",
        "qivalis",
        "hsbc",
        "allunity",
        "anchorpoint",
        "bridge",
        "straitsx",
        "gmo",
        "wisdomtree",
        "universal",
        "monerium",
        "quantoz",
        "stablr",
        "bankingcircle",
        "aedstablecoin",
        "zand",
        "aedc",
        "jdcoinlink"
       ]
      }
     }
    ],
    "responses": {
     "200": {
      "description": "CSV with a comment header line",
      "content": {
       "text/csv": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  },
  "/feed.xml": {
   "get": {
    "operationId": "getFeed",
    "summary": "RSS 2.0 feed of stablecoin news, regulatory events and sourced depeg events",
    "responses": {
     "200": {
      "description": "RSS feed",
      "content": {
       "application/rss+xml": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  },
  "/llms.txt": {
   "get": {
    "operationId": "getLlmsTxt",
    "summary": "llms.txt index of all pages (Markdown twins), per llmstxt.org",
    "responses": {
     "200": {
      "description": "Plain text",
      "content": {
       "text/plain": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  },
  "/sitemap-index.xml": {
   "get": {
    "operationId": "getSitemapIndex",
    "summary": "Sitemap index (one sitemap per language)",
    "responses": {
     "200": {
      "description": "XML sitemap index",
      "content": {
       "application/xml": {
        "schema": {
         "type": "string"
        }
       }
      }
     }
    }
   }
  }
 },
 "components": {
  "schemas": {
   "PegHistory": {
    "type": "object",
    "properties": {
     "v": {
      "type": "integer"
     },
     "generated": {
      "type": "string",
      "format": "date-time"
     },
     "sources": {
      "type": "object",
      "additionalProperties": {
       "type": "string"
      }
     },
     "coins": {
      "type": "object",
      "description": "Keyed by CoinGecko id",
      "additionalProperties": {
       "type": "object",
       "properties": {
        "sym": {
         "type": "string"
        },
        "peg": {
         "type": "string"
        },
        "windows": {
         "type": "object",
         "additionalProperties": {
          "type": "object",
          "properties": {
           "n": {
            "type": "integer"
           },
           "maxDev": {
            "type": "number",
            "description": "bps"
           },
           "peak": {
            "type": "number",
            "description": "signed bps"
           },
           "low": {
            "type": "number"
           },
           "high": {
            "type": "number"
           },
           "t50": {
            "type": "number",
            "description": "seconds outside ±50 bps"
           },
           "t100": {
            "type": "number",
            "description": "seconds outside ±100 bps"
           },
           "src": {
            "type": "string"
           }
          }
         }
        }
       }
      }
     },
     "chains": {
      "type": "object"
     },
     "events": {
      "type": "array",
      "items": {
       "type": "object"
      }
     },
     "known": {
      "type": "array",
      "items": {
       "type": "object",
       "properties": {
        "sym": {
         "type": "string"
        },
        "date": {
         "type": "string"
        },
        "low": {
         "type": "number"
        },
        "hoursBelow99": {
         "type": "number"
        },
        "cause": {
         "type": "string"
        },
        "src": {
         "type": "string"
        },
        "url": {
         "type": "string",
         "format": "uri"
        }
       }
      }
     }
    }
   },
   "Dossier": {
    "type": "object",
    "properties": {
     "name": {
      "type": "string"
     },
     "url": {
      "type": "string"
     },
     "exported": {
      "type": "string"
     },
     "note": {
      "type": "string"
     },
     "columns": {
      "type": "array",
      "items": {
       "type": "string"
      }
     },
     "rows": {
      "type": "array",
      "items": {
       "type": "array",
       "items": {
        "type": "string"
       }
      }
     }
    }
   }
  }
 }
}