{
  "openapi": "3.1.0",
  "info": {
    "title": "Bitpont Developer API",
    "version": "1.2.0",
    "description": "Discovery, public position and transaction status reads, swap comparison, unsigned workflow drafts and bounded Safe lending proposals. Never accepts private keys, signs or submits transactions."
  },
  "servers": [
    {
      "url": "https://www.bitpont.com/api/v1"
    }
  ],
  "security": [
    {
      "bearerAuth": []
    }
  ],
  "paths": {
    "/read/treasury.account": {
      "get": {
        "operationId": "treasury_account",
        "tags": [
          "treasury"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "chainId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "1",
                "8453",
                "42161"
              ]
            }
          },
          {
            "name": "safe",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/treasury.lending": {
      "get": {
        "operationId": "treasury_lending",
        "tags": [
          "treasury"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "chainId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "1",
                "8453"
              ]
            }
          },
          {
            "name": "safe",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/transactions.status": {
      "get": {
        "operationId": "transactions_status",
        "tags": [
          "transactions"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "hash",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{64}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/hyperliquid.markets": {
      "get": {
        "operationId": "hyperliquid_markets",
        "tags": [
          "hyperliquid"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "perp",
                "spot"
              ]
            }
          },
          {
            "name": "dex",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[a-zA-Z0-9_-]{0,40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/hyperliquid.book": {
      "get": {
        "operationId": "hyperliquid_book",
        "tags": [
          "hyperliquid"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "perp",
                "spot"
              ]
            }
          },
          {
            "name": "dex",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[a-zA-Z0-9_-]{0,40}$"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/hyperliquid.chart": {
      "get": {
        "operationId": "hyperliquid_chart",
        "tags": [
          "hyperliquid"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "kind",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "perp",
                "spot"
              ]
            }
          },
          {
            "name": "dex",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[a-zA-Z0-9_-]{0,40}$"
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$"
            }
          },
          {
            "name": "interval",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "5m",
                "15m",
                "1h",
                "4h",
                "1d"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/hyperliquid.account": {
      "get": {
        "operationId": "hyperliquid_account",
        "tags": [
          "hyperliquid"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          },
          {
            "name": "user",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          },
          {
            "name": "dex",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[a-zA-Z0-9_-]{0,40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/pendle.markets": {
      "get": {
        "operationId": "pendle_markets",
        "tags": [
          "pendle"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{0,300}$"
            }
          },
          {
            "name": "expired",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "0",
                "1"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/pendle.market": {
      "get": {
        "operationId": "pendle_market",
        "tags": [
          "pendle"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "market",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          },
          {
            "name": "wallet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/morpho.markets": {
      "get": {
        "operationId": "morpho_markets",
        "tags": [
          "morpho"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{0,300}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/morpho.market": {
      "get": {
        "operationId": "morpho_market",
        "tags": [
          "morpho"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "marketId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{64}$"
            }
          },
          {
            "name": "wallet",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/morpho.positions": {
      "get": {
        "operationId": "morpho_positions",
        "tags": [
          "morpho"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          },
          {
            "name": "skip",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^(0|[1-9][0-9]{0,77})$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/liquidity.position": {
      "get": {
        "operationId": "liquidity_position",
        "tags": [
          "liquidity"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "protocol",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "uniswap-v3",
                "pancakeswap-v3",
                "aerodrome",
                "camelot",
                "quickswap"
              ]
            }
          },
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          },
          {
            "name": "tokenId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^(0|[1-9][0-9]{0,77})$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/liquidity.positions": {
      "get": {
        "operationId": "liquidity_positions",
        "tags": [
          "liquidity"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "ethereum",
                "base",
                "arbitrum",
                "optimism",
                "polygon",
                "bnb",
                "avalanche"
              ]
            }
          },
          {
            "name": "protocol",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "uniswap-v3",
                "pancakeswap-v3",
                "aerodrome",
                "camelot",
                "quickswap"
              ]
            }
          },
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^(0|[1-9][0-9]{0,77})$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/solana-liquidity.pool": {
      "get": {
        "operationId": "solana_liquidity_pool",
        "tags": [
          "solanaLiquidity"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "orca",
                "meteora",
                "raydium"
              ]
            }
          },
          {
            "name": "address",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/solana-liquidity.position": {
      "get": {
        "operationId": "solana_liquidity_position",
        "tags": [
          "solanaLiquidity"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "orca",
                "meteora",
                "raydium"
              ]
            }
          },
          {
            "name": "pool",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
            }
          },
          {
            "name": "position",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
            }
          },
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/solana-liquidity.positions": {
      "get": {
        "operationId": "solana_liquidity_positions",
        "tags": [
          "solanaLiquidity"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "provider",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "orca",
                "meteora",
                "raydium"
              ]
            }
          },
          {
            "name": "pool",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
            }
          },
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[1-9A-HJ-NP-Za-km-z]{32,44}$"
            }
          },
          {
            "name": "fresh",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "0",
                "1"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/boros.markets": {
      "get": {
        "operationId": "boros_markets",
        "tags": [
          "boros"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "cursor",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{0,300}$"
            }
          },
          {
            "name": "matured",
            "in": "query",
            "required": false,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^[^\\u0000-\\u001f]{1,300}$",
              "enum": [
                "0",
                "1"
              ]
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/boros.market": {
      "get": {
        "operationId": "boros_market",
        "tags": [
          "boros"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "marketId",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^(0|[1-9][0-9]{0,77})$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/boros.portfolio": {
      "get": {
        "operationId": "boros_portfolio",
        "tags": [
          "boros"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/gmx.markets": {
      "get": {
        "operationId": "gmx_markets",
        "tags": [
          "gmx"
        ],
        "description": "Requires discovery:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/gmx.account": {
      "get": {
        "operationId": "gmx_account",
        "tags": [
          "gmx"
        ],
        "description": "Requires positions:read. Read-only; upstream availability and completeness are reported separately.",
        "parameters": [
          {
            "name": "wallet",
            "in": "query",
            "required": true,
            "schema": {
              "type": "string",
              "maxLength": 300,
              "pattern": "^0x[0-9a-fA-F]{40}$"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/capabilities": {
      "get": {
        "responses": {
          "200": {
            "description": "Capability or integration contract"
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/resources": {
      "get": {
        "responses": {
          "200": {
            "description": "Capability or integration contract"
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/workflows": {
      "get": {
        "responses": {
          "200": {
            "description": "Capability or integration contract"
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/openapi.json": {
      "get": {
        "responses": {
          "200": {
            "description": "Capability or integration contract"
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/usage": {
      "get": {
        "responses": {
          "200": {
            "description": "Capability or integration contract"
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/read/batch": {
      "post": {
        "operationId": "readBatch",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "requests"
                ],
                "properties": {
                  "requests": {
                    "type": "array",
                    "minItems": 1,
                    "maxItems": 6,
                    "items": {
                      "type": "object",
                      "additionalProperties": false,
                      "required": [
                        "id",
                        "resource",
                        "params"
                      ],
                      "properties": {
                        "id": {
                          "type": "string",
                          "pattern": "^[a-zA-Z0-9_-]{1,64}$"
                        },
                        "resource": {
                          "enum": [
                            "treasury.account",
                            "treasury.lending",
                            "transactions.status",
                            "hyperliquid.markets",
                            "hyperliquid.book",
                            "hyperliquid.chart",
                            "hyperliquid.account",
                            "pendle.markets",
                            "pendle.market",
                            "morpho.markets",
                            "morpho.market",
                            "morpho.positions",
                            "liquidity.position",
                            "liquidity.positions",
                            "solana-liquidity.pool",
                            "solana-liquidity.position",
                            "solana-liquidity.positions",
                            "boros.markets",
                            "boros.market",
                            "boros.portfolio",
                            "gmx.markets",
                            "gmx.account"
                          ]
                        },
                        "params": {
                          "type": "object"
                        }
                      }
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Ordered independent results. A successful HTTP response can contain failed or partial items."
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/transactions/treasury/prepare": {
      "post": {
        "operationId": "prepareTreasury",
        "description": "Requires transactions:prepare. Prepares a bounded unsigned Aave USDC Safe proposal; does not approve, sign or submit. Amount is human-readable USDC, not base units.",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "chainId",
                  "safe",
                  "owner",
                  "action",
                  "amount"
                ],
                "properties": {
                  "chainId": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 8453,
                    "enum": [
                      1,
                      8453
                    ]
                  },
                  "safe": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^0x[0-9a-fA-F]{40}$"
                  },
                  "owner": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^0x[0-9a-fA-F]{40}$"
                  },
                  "action": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^[^\\u0000-\\u001f]{1,300}$",
                    "enum": [
                      "lending-supply",
                      "lending-withdraw",
                      "lending-repay",
                      "lending-repay-supply"
                    ]
                  },
                  "amount": {
                    "type": "string",
                    "maxLength": 70,
                    "pattern": "^(0|[1-9][0-9]*)(\\.[0-9]{1,6})?$"
                  },
                  "repayAll": {
                    "type": "boolean"
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "ReadResult containing the exact Safe proposal, calls, fresh state, explicit simulation coverage, costs not quoted and an opt-in Bitpont review link."
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/quotes/evm-swap": {
      "post": {
        "operationId": "quoteEvmSwap",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "network",
                  "from",
                  "to",
                  "amount",
                  "wallet",
                  "slippageBps"
                ],
                "properties": {
                  "network": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^[^\\u0000-\\u001f]{1,300}$",
                    "enum": [
                      "ethereum",
                      "base",
                      "arbitrum",
                      "optimism",
                      "polygon",
                      "bnb",
                      "avalanche"
                    ]
                  },
                  "from": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^0x[0-9a-fA-F]{40}$"
                  },
                  "to": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^0x[0-9a-fA-F]{40}$"
                  },
                  "amount": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^[1-9][0-9]{0,77}$"
                  },
                  "wallet": {
                    "type": "string",
                    "maxLength": 300,
                    "pattern": "^0x[0-9a-fA-F]{40}$"
                  },
                  "slippageBps": {
                    "type": "integer",
                    "minimum": 1,
                    "maximum": 300
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Bitpont response. Provider amounts remain decimal strings. See the resource data object for provider-specific units and pagination.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ReadResult"
                }
              }
            }
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    },
    "/workflows/prepare": {
      "post": {
        "operationId": "prepareWorkflow",
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "type": "object",
                "additionalProperties": false,
                "required": [
                  "network",
                  "source",
                  "destination",
                  "amount"
                ],
                "properties": {
                  "network": {
                    "enum": [
                      "solana",
                      "ethereum",
                      "base"
                    ]
                  },
                  "source": {
                    "enum": [
                      "wallet",
                      "jupiter",
                      "aave",
                      "morpho"
                    ]
                  },
                  "destination": {
                    "enum": [
                      "wallet",
                      "jupiter",
                      "aave",
                      "morpho",
                      "perps"
                    ]
                  },
                  "amount": {
                    "type": "string",
                    "description": "Positive human-readable USDC amount, at most six fractional digits. Zero and unsupported source/destination combinations are rejected.",
                    "pattern": "^[0-9]+(\\.[0-9]{1,6})?$"
                  },
                  "subAccountId": {
                    "type": "integer",
                    "minimum": 0,
                    "maximum": 65535
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Unsigned draft only. No execution, quote or guaranteed cost."
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      },
      "get": {
        "parameters": [
          {
            "name": "network",
            "in": "query",
            "schema": {
              "enum": [
                "solana",
                "ethereum",
                "base"
              ]
            },
            "required": true
          },
          {
            "name": "source",
            "in": "query",
            "schema": {
              "enum": [
                "wallet",
                "jupiter",
                "aave",
                "morpho"
              ]
            },
            "required": true
          },
          {
            "name": "destination",
            "in": "query",
            "schema": {
              "enum": [
                "wallet",
                "jupiter",
                "aave",
                "morpho",
                "perps"
              ]
            },
            "required": true
          },
          {
            "name": "amount",
            "in": "query",
            "schema": {
              "type": "string",
              "description": "Positive human-readable USDC amount, at most six fractional digits. Zero and unsupported source/destination combinations are rejected.",
              "pattern": "^[0-9]+(\\.[0-9]{1,6})?$"
            },
            "required": true
          },
          {
            "name": "subAccountId",
            "in": "query",
            "schema": {
              "type": "integer",
              "minimum": 0,
              "maximum": 65535
            },
            "required": false
          }
        ],
        "responses": {
          "200": {
            "description": "Unsigned draft"
          },
          "400": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "401": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "403": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "404": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "413": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "429": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "502": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "503": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          },
          "504": {
            "description": "Structured error, with requestId and retryable.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/Error"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer"
      }
    },
    "schemas": {
      "ReadResult": {
        "type": "object",
        "required": [
          "requestId",
          "resource",
          "state",
          "servedAt",
          "data"
        ],
        "properties": {
          "requestId": {
            "type": "string"
          },
          "resource": {
            "type": "string"
          },
          "state": {
            "enum": [
              "available",
              "partial",
              "stale"
            ]
          },
          "servedAt": {
            "type": "integer"
          },
          "observedAt": {
            "type": [
              "integer",
              "null"
            ]
          },
          "freshness": {
            "enum": [
              "observed",
              "unknown",
              "stale"
            ]
          },
          "data": {
            "type": "object"
          }
        }
      },
      "Error": {
        "type": "object",
        "required": [
          "error",
          "code",
          "requestId",
          "retryable"
        ],
        "properties": {
          "error": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "requestId": {
            "type": "string"
          },
          "retryable": {
            "type": "boolean"
          }
        }
      }
    }
  }
}
