{
  "openapi": "3.1.0",
  "info": {
    "title": "DMF Public Site API",
    "description": "Public token metadata API for DMF (Digital Monetary Framework). Returns token information from the dmfUSD stability pool.",
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://dmfam.org",
      "description": "DMF production"
    }
  ],
  "paths": {
    "/api/tokens": {
      "get": {
        "summary": "List tokens with pool data",
        "description": "Returns token address, balance, and pool metadata for the DMF stability pool. Currently returns dmfUSD/USDC pair data.",
        "operationId": "listTokens",
        "responses": {
          "200": {
            "description": "Token list response",
            "content": {
              "application/json": {
                "schema": {
                  "type": "object",
                  "properties": {
                    "tokens": {
                      "type": "array",
                      "description": "List of tokens in the pool",
                      "items": {
                        "type": "object",
                        "properties": {
                          "address": {
                            "type": "string",
                            "description": "Token contract address"
                          },
                          "symbol": {
                            "type": "string",
                            "description": "Token symbol (e.g. dmfUSD, USDC)"
                          },
                          "balance": {
                            "type": "string",
                            "description": "Token balance formatted"
                          },
                          "usdValue": {
                            "type": "string",
                            "description": "USD value estimate"
                          }
                        }
                      }
                    },
                    "lastUpdated": {
                      "type": "string",
                      "format": "date-time",
                      "description": "Timestamp of last data update"
                    },
                    "updateTimeFormatted": {
                      "type": "string",
                      "description": "Human-readable update time"
                    },
                    "cached": {
                      "type": "boolean",
                      "description": "Whether the response is from cache"
                    },
                    "cacheAge": {
                      "type": "integer",
                      "description": "Cache age in seconds"
                    }
                  }
                }
              }
            }
          }
        }
      }
    }
  }
}
