{
  "openapi": "3.1.1",
  "info": {
    "title": "Arbitron API",
    "description": "Funding rates, executable cross-venue spreads and the listings calendar across the perpetual futures venues Arbitron tracks. Read-only JSON over HTTPS. Authenticate with an API key (`Authorization: Bearer arb_live_...`); create one at https://arbitron.app/settings/api. Every response carries `RateLimit` headers and an `ETag`; a `304` costs nothing. Errors are RFC 9457 problem details whose `type` links to https://arbitron.app/developers/errors.",
    "termsOfService": "https://arbitron.app/terms",
    "contact": {
      "name": "Arbitron",
      "url": "https://arbitron.app/developers",
      "email": "support@arbitron.app"
    },
    "version": "1.0.0"
  },
  "servers": [
    {
      "url": "https://arbitron.app",
      "description": "Production"
    }
  ],
  "paths": {
    "/api/v1": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "Where everything is",
        "description": "Anonymous. Links to the docs, the OpenAPI document, llms.txt, the MCP server and the plans, plus the endpoint list with the scope each one needs.",
        "operationId": "discover",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/DiscoveryResponse"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/funding": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "Current funding rate on every venue and symbol",
        "description": "One row per perpetual contract on every venue Arbitron tracks, sorted by absolute rate. Rates are percent per settlement; apr_pct is the annualised carry net of costs. Filter by coin or venue, page with cursor.",
        "operationId": "listFunding",
        "parameters": [
          {
            "name": "coin",
            "in": "query",
            "description": "Ticker to filter by, e.g. BTC. Case-insensitive.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "description": "Venue to filter by, as /exchanges spells it, e.g. Binance.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_abs_rate_pct",
            "in": "query",
            "description": "Keep rows whose |rate_pct| is at least this, e.g. 0.05.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          },
          {
            "name": "sort",
            "in": "query",
            "description": "abs_rate_desc (default), rate_desc, rate_asc or volume_desc.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Rows per page, 1 to 500 (Demo: 50). Default 100.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "meta.next_cursor from the previous page.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfIReadOnlyListOfFundingRateItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/funding/{coin}": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "One coin's funding across venues",
        "description": "Every venue quoting the coin, the spread between the highest and lowest rate, and which venue pays a short or a long best right now.",
        "operationId": "getCoinFunding",
        "parameters": [
          {
            "name": "coin",
            "in": "path",
            "description": "Ticker, e.g. BTC. Case-insensitive.",
            "required": true,
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfCoinFundingResponse"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/funding/history": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "Funding history, daily or per settlement",
        "description": "resolution=1d returns one annualised APR point per day for each venue quoting the coin (up to 180 days). resolution=settlement returns every settlement print for one venue (up to 92 days per call). How far back you may reach depends on the plan.",
        "operationId": "getFundingHistory",
        "parameters": [
          {
            "name": "coin",
            "in": "query",
            "description": "Ticker, e.g. BTC.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "description": "Venue; optional for 1d, required for settlement.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "resolution",
            "in": "query",
            "description": "1d (default) or settlement.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "ISO 8601 UTC. Default: 30 days before 'to' (1d) or 7 days (settlement).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "ISO 8601 UTC. Default: now.",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfFundingHistoryResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          },
          "403": {
            "description": "Forbidden",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          },
          "404": {
            "description": "Not Found",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/spreads": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "Executable cross-venue spreads",
        "description": "The public scanner's ranked spreads, priced against real order-book depth for an order of size_usd. est_profit_pct is per round trip after fees; cycles counts how often the spread opened and closed in the window. The Demo plan withholds the top rows; paid plans see all of them.",
        "operationId": "listSpreads",
        "parameters": [
          {
            "name": "size_usd",
            "in": "query",
            "description": "Order size the depth is priced at: 25, 100 or 500. Default 100.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "exchange",
            "in": "query",
            "description": "Keep spreads with this venue on either leg.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "coin",
            "in": "query",
            "description": "Ticker to filter by.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "min_profit_pct",
            "in": "query",
            "description": "Keep spreads whose est_profit_pct is at least this.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
              "type": [
                "number",
                "string"
              ],
              "format": "double"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Rows per page, 1 to 500 (Demo: 50). Default 100.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "meta.next_cursor from the previous page.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfSpreadsResponse"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/listings": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "Announced listings and delistings",
        "description": "The listings calendar: what each venue has announced, when it takes effect and where the announcement is.",
        "operationId": "listListings",
        "parameters": [
          {
            "name": "exchange",
            "in": "query",
            "description": "Venue to filter by.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "type",
            "in": "query",
            "description": "listing or delisting. Default: both.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "from",
            "in": "query",
            "description": "Keep rows effective at or after this time (ISO 8601 UTC).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "to",
            "in": "query",
            "description": "Keep rows effective before this time (ISO 8601 UTC).",
            "schema": {
              "type": "string",
              "format": "date-time"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Rows per page, 1 to 500 (Demo: 50). Default 100.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "meta.next_cursor from the previous page.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfIReadOnlyListOfListingItem"
                }
              }
            }
          },
          "400": {
            "description": "Bad Request",
            "content": {
              "application/problem+json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiProblem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/exchanges": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "The venues",
        "description": "Every venue the API serves, with tracked instrument counts, maximum leverage, the default taker fee and links to its contract specs and funding pages. No scope needed beyond a valid key.",
        "operationId": "listExchanges",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfIReadOnlyListOfExchangeItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/coins": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "Coins with a funding page",
        "description": "Ticker lookup: q matches the start of a ticker. Each coin carries how many venues quote it and its 24h perpetual volume. No scope needed beyond a valid key.",
        "operationId": "listCoins",
        "parameters": [
          {
            "name": "q",
            "in": "query",
            "description": "Start of a ticker, e.g. PE matches PEPE and PENDLE.",
            "schema": {
              "type": "string"
            }
          },
          {
            "name": "limit",
            "in": "query",
            "description": "Rows per page, 1 to 500 (Demo: 50). Default 100.",
            "schema": {
              "pattern": "^-?(?:0|[1-9]\\d*)$",
              "type": [
                "integer",
                "string"
              ],
              "format": "int32"
            }
          },
          {
            "name": "cursor",
            "in": "query",
            "description": "meta.next_cursor from the previous page.",
            "schema": {
              "type": "string"
            }
          }
        ],
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfIReadOnlyListOfCoinItem"
                }
              }
            }
          }
        }
      }
    },
    "/api/v1/usage": {
      "get": {
        "tags": [
          "ApiV1Endpoints"
        ],
        "summary": "This key's usage and limits",
        "description": "The plan behind the key, the month and minute windows, and what the plan includes (history depth, delay, commercial use).",
        "operationId": "getUsage",
        "responses": {
          "200": {
            "description": "OK",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/ApiEnvelopeOfUsageResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "schemas": {
      "ApiEnvelopeOfCoinFundingResponse": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/CoinFundingResponse"
              }
            ]
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiEnvelopeOfFundingHistoryResponse": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/FundingHistoryResponse"
              }
            ]
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiEnvelopeOfIReadOnlyListOfCoinItem": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/CoinItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiEnvelopeOfIReadOnlyListOfExchangeItem": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ExchangeItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiEnvelopeOfIReadOnlyListOfFundingRateItem": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FundingRateItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiEnvelopeOfIReadOnlyListOfListingItem": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/ListingItem"
            }
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiEnvelopeOfSpreadsResponse": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/SpreadsResponse"
              }
            ]
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiEnvelopeOfUsageResponse": {
        "required": [
          "data",
          "meta"
        ],
        "type": "object",
        "properties": {
          "data": {
            "oneOf": [
              {
                "type": "null"
              },
              {
                "$ref": "#/components/schemas/UsageResponse"
              }
            ]
          },
          "meta": {
            "$ref": "#/components/schemas/ApiMeta"
          }
        }
      },
      "ApiMeta": {
        "required": [
          "as_of",
          "delayed_seconds",
          "source",
          "url"
        ],
        "type": "object",
        "properties": {
          "as_of": {
            "type": "string",
            "format": "date-time"
          },
          "delayed_seconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "source": {
            "type": "string"
          },
          "url": {
            "type": "string"
          },
          "count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "total": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "next_cursor": {
            "type": [
              "null",
              "string"
            ]
          }
        }
      },
      "ApiProblem": {
        "required": [
          "type",
          "title",
          "status",
          "detail",
          "instance",
          "code",
          "docs"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "title": {
            "type": "string"
          },
          "status": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "detail": {
            "type": "string"
          },
          "instance": {
            "type": "string"
          },
          "code": {
            "type": "string"
          },
          "docs": {
            "type": "string"
          },
          "suggestions": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "type": "string"
            }
          }
        }
      },
      "CoinFundingResponse": {
        "required": [
          "coin",
          "venue_count",
          "spread_pct",
          "highest",
          "lowest",
          "best_short_exchange",
          "best_long_exchange",
          "total_volume_24h_usdt",
          "inverse_venues",
          "rates"
        ],
        "type": "object",
        "properties": {
          "coin": {
            "type": "string"
          },
          "venue_count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "spread_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "highest": {
            "$ref": "#/components/schemas/FundingVenueRef"
          },
          "lowest": {
            "$ref": "#/components/schemas/FundingVenueRef"
          },
          "best_short_exchange": {
            "type": "string"
          },
          "best_long_exchange": {
            "type": "string"
          },
          "total_volume_24h_usdt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "inverse_venues": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "rates": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FundingRateItem"
            }
          }
        }
      },
      "CoinItem": {
        "required": [
          "coin",
          "venue_count",
          "volume_24h_usdt",
          "funding_url"
        ],
        "type": "object",
        "properties": {
          "coin": {
            "type": "string"
          },
          "venue_count": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "volume_24h_usdt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "funding_url": {
            "type": "string"
          }
        }
      },
      "DiscoveryAuth": {
        "required": [
          "type",
          "header",
          "key_prefix",
          "get_key_url"
        ],
        "type": "object",
        "properties": {
          "type": {
            "type": "string"
          },
          "header": {
            "type": "string"
          },
          "key_prefix": {
            "type": "string"
          },
          "get_key_url": {
            "type": "string"
          }
        }
      },
      "DiscoveryEndpoint": {
        "required": [
          "method",
          "path",
          "scope",
          "summary"
        ],
        "type": "object",
        "properties": {
          "method": {
            "type": "string"
          },
          "path": {
            "type": "string"
          },
          "scope": {
            "type": [
              "null",
              "string"
            ]
          },
          "summary": {
            "type": "string"
          }
        }
      },
      "DiscoveryResponse": {
        "required": [
          "name",
          "version",
          "description",
          "docs_url",
          "openapi_url",
          "reference_url",
          "llms_url",
          "mcp_url",
          "plans_url",
          "auth",
          "endpoints"
        ],
        "type": "object",
        "properties": {
          "name": {
            "type": "string"
          },
          "version": {
            "type": "string"
          },
          "description": {
            "type": "string"
          },
          "docs_url": {
            "type": "string"
          },
          "openapi_url": {
            "type": "string"
          },
          "reference_url": {
            "type": "string"
          },
          "llms_url": {
            "type": "string"
          },
          "mcp_url": {
            "type": "string"
          },
          "plans_url": {
            "type": "string"
          },
          "auth": {
            "$ref": "#/components/schemas/DiscoveryAuth"
          },
          "endpoints": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/DiscoveryEndpoint"
            }
          }
        }
      },
      "ExchangeItem": {
        "required": [
          "exchange",
          "name",
          "icon_url",
          "tracked_instruments",
          "max_leverage",
          "taker_fee_pct",
          "trading_enabled",
          "has_spot",
          "fee_url",
          "specs_url",
          "funding_url"
        ],
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string"
          },
          "name": {
            "type": "string"
          },
          "icon_url": {
            "type": "string"
          },
          "tracked_instruments": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "max_leverage": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "uint32"
          },
          "taker_fee_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "trading_enabled": {
            "type": "boolean"
          },
          "has_spot": {
            "type": "boolean"
          },
          "fee_url": {
            "type": [
              "null",
              "string"
            ]
          },
          "specs_url": {
            "type": "string"
          },
          "funding_url": {
            "type": "string"
          }
        }
      },
      "FundingDailyPoint": {
        "required": [
          "day",
          "apr_pct"
        ],
        "type": "object",
        "properties": {
          "day": {
            "type": "string",
            "format": "date"
          },
          "apr_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "FundingHistoryResponse": {
        "required": [
          "coin",
          "resolution",
          "from",
          "to",
          "series"
        ],
        "type": "object",
        "properties": {
          "coin": {
            "type": "string"
          },
          "resolution": {
            "type": "string"
          },
          "from": {
            "type": "string",
            "format": "date-time"
          },
          "to": {
            "type": "string",
            "format": "date-time"
          },
          "series": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/FundingHistorySeries"
            }
          }
        }
      },
      "FundingHistorySeries": {
        "required": [
          "exchange",
          "symbol",
          "daily",
          "settlements"
        ],
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "daily": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FundingDailyPoint"
            }
          },
          "settlements": {
            "type": [
              "null",
              "array"
            ],
            "items": {
              "$ref": "#/components/schemas/FundingSettlementPoint"
            }
          }
        }
      },
      "FundingRateItem": {
        "required": [
          "exchange",
          "symbol",
          "coin",
          "is_inverse",
          "rate_pct",
          "apr_pct",
          "sum_7d_pct",
          "sum_30d_pct",
          "interval_hours",
          "next_funding_at",
          "volume_24h_usdt"
        ],
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "coin": {
            "type": "string"
          },
          "is_inverse": {
            "type": "boolean"
          },
          "rate_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "apr_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "sum_7d_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "sum_30d_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "null",
              "number",
              "string"
            ],
            "format": "double"
          },
          "interval_hours": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "next_funding_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "volume_24h_usdt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "FundingSettlementPoint": {
        "required": [
          "time",
          "rate_pct",
          "interval_hours"
        ],
        "type": "object",
        "properties": {
          "time": {
            "type": "string",
            "format": "date-time"
          },
          "rate_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "interval_hours": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          }
        }
      },
      "FundingVenueRef": {
        "required": [
          "exchange",
          "symbol",
          "rate_pct"
        ],
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "rate_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          }
        }
      },
      "ListingItem": {
        "required": [
          "exchange",
          "symbol",
          "coin",
          "kind",
          "status",
          "effective_at",
          "source",
          "announcement_url",
          "detected_at"
        ],
        "type": "object",
        "properties": {
          "exchange": {
            "type": "string"
          },
          "symbol": {
            "type": "string"
          },
          "coin": {
            "type": "string"
          },
          "kind": {
            "type": "string"
          },
          "status": {
            "type": [
              "null",
              "string"
            ]
          },
          "effective_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          },
          "source": {
            "type": "string"
          },
          "announcement_url": {
            "type": [
              "null",
              "string"
            ]
          },
          "detected_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      },
      "SpreadItem": {
        "required": [
          "symbol",
          "coin",
          "exchange_a",
          "exchange_b",
          "est_profit_pct",
          "avg_profit_pct",
          "fee_pct_cycle",
          "spread_range_pct",
          "cycles",
          "confidence",
          "volume_a_usdt",
          "volume_b_usdt",
          "last_cycle_at"
        ],
        "type": "object",
        "properties": {
          "symbol": {
            "type": "string"
          },
          "coin": {
            "type": "string"
          },
          "exchange_a": {
            "type": "string"
          },
          "exchange_b": {
            "type": "string"
          },
          "est_profit_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "avg_profit_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "fee_pct_cycle": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "spread_range_pct": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "cycles": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "confidence": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "volume_a_usdt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "volume_b_usdt": {
            "pattern": "^-?(?:0|[1-9]\\d*)(?:\\.\\d+)?(?:[eE][+-]?\\d+)?$",
            "type": [
              "number",
              "string"
            ],
            "format": "double"
          },
          "last_cycle_at": {
            "type": [
              "null",
              "string"
            ],
            "format": "date-time"
          }
        }
      },
      "SpreadsResponse": {
        "required": [
          "size_usd",
          "withheld_top",
          "spreads"
        ],
        "type": "object",
        "properties": {
          "size_usd": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "withheld_top": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "spreads": {
            "type": "array",
            "items": {
              "$ref": "#/components/schemas/SpreadItem"
            }
          }
        }
      },
      "UsageResponse": {
        "required": [
          "plan",
          "key_prefix",
          "scopes",
          "month",
          "minute",
          "history_days",
          "delay_seconds",
          "commercial_use",
          "upgrade_url"
        ],
        "type": "object",
        "properties": {
          "plan": {
            "type": "string"
          },
          "key_prefix": {
            "type": "string"
          },
          "scopes": {
            "type": "array",
            "items": {
              "type": "string"
            }
          },
          "month": {
            "$ref": "#/components/schemas/UsageWindow"
          },
          "minute": {
            "$ref": "#/components/schemas/UsageWindow"
          },
          "history_days": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "null",
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "delay_seconds": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int32"
          },
          "commercial_use": {
            "type": "boolean"
          },
          "upgrade_url": {
            "type": "string"
          }
        }
      },
      "UsageWindow": {
        "required": [
          "used",
          "limit",
          "remaining",
          "resets_at"
        ],
        "type": "object",
        "properties": {
          "used": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "limit": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "remaining": {
            "pattern": "^-?(?:0|[1-9]\\d*)$",
            "type": [
              "integer",
              "string"
            ],
            "format": "int64"
          },
          "resets_at": {
            "type": "string",
            "format": "date-time"
          }
        }
      }
    },
    "securitySchemes": {
      "ApiKey": {
        "type": "http",
        "description": "Your API key as a bearer token. The X-Api-Key header is accepted too.",
        "scheme": "bearer",
        "bearerFormat": "arb_live_<43 chars>_<6 chars>"
      }
    }
  },
  "security": [
    {
      "ApiKey": [ ]
    }
  ],
  "tags": [
    {
      "name": "ApiV1Endpoints"
    }
  ]
}