{
    "openapi": "3.1.0",
    "info": {
        "title": "Bullet Trading API",
        "description": "REST API for the Bullet exchange. Provides Binance FAPI-compatible endpoints for trading, account management, and market data.",
        "contact": {
            "name": "Bullet",
            "url": "https://bullet.xyz"
        },
        "license": {
            "name": "Proprietary"
        },
        "version": "0.1.0"
    },
    "servers": [
        {
            "url": "/",
            "description": "Current server"
        },
        {
            "url": "https://tradingapi.mainnet.bullet.xyz",
            "description": "Mainnet"
        },
        {
            "url": "https://tradingapi.testnet.bullet.xyz",
            "description": "Testnet"
        },
        {
            "url": "https://tradingapi.staging.bullet.xyz",
            "description": "Staging"
        }
    ],
    "paths": {
        "/api/v1/accountConfig": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "Account Configuration (Bullet-specific)",
                "operationId": "account_config",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Account configuration",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountConfig"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/addressState": {
            "get": {
                "tags": [
                    "Address"
                ],
                "summary": "Per-credential on-chain state used by clients when constructing txs.",
                "operationId": "address_state",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "signing credential address (base58)",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Address state",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AddressState"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/balance": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "Account Balance (Bullet-specific)",
                "description": "Superset of `/fapi/v3/balance` that surfaces data the rollup already\nreturns but the Binance-shaped endpoint doesn't expose:\naccount-level trading credits / unrealized loss borrow, per-asset\ngross asset/liability amounts, and referral rewards.",
                "operationId": "account_balance_bullet",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Account balance",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/AccountBalance"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/api/v1/solanaOffchainTx": {
            "post": {
                "summary": "Submit a Solana off-chain signed transaction to the rollup.",
                "description": "Accepts the JSON envelope produced by the SDK's `solana` / `solanaSimple`\nauthenticator (Phantom, Solflare, Ledger), where the body is signed with\na Solana off-chain message signature rather than a Sovereign credential.\nThe rollup verifies the signature and constructs the inner tx; this route\nis a pass-through proxy and intentionally skips the borsh tx validator.",
                "operationId": "submit_solana_offchain_tx",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SubmitSolanaOffchainTxRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Transaction submitted successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SubmitTxResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid request body, envelope, or chain_hash mismatch",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid Solana signature",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Validation service unavailable (chain_hash not loaded)",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/allOrders": {
            "get": {
                "tags": [
                    "User Data (Beta)"
                ],
                "summary": "All Orders (order history from ClickHouse)",
                "operationId": "all_orders",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "Account address (required on first request, encoded in cursor for subsequent)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Trading pair symbol (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "orderId",
                        "in": "query",
                        "description": "Return orders with orderId >= this value",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time in microseconds",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "endTime",
                        "in": "query",
                        "description": "End time in microseconds",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of results (default 500, max 1000)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of all orders",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse_HistoricalOrder"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/borrowLendPools": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Borrow Lend Pools - Doesnt exist in Binance",
                "operationId": "borrow_lend_pools",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Symbol",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "BorrowLendPools",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BorrowLendPoolResponse"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/commissionRate": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "User Commission Rate (USER_DATA)",
                "operationId": "commission_rate",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "symbol",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User commission rate"
                    }
                }
            }
        },
        "/fapi/v1/depth": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Get orderbook",
                "operationId": "order_book",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Symbol",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "BTC-USD"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Limit (default 20, max 1000)",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32",
                            "minimum": 0
                        },
                        "example": 20
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Order book",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/OrderBook"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/exchangeInfo": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Get current exchange trading rules and symbol information",
                "operationId": "exchange_info",
                "responses": {
                    "200": {
                        "description": "Exchange information",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ExchangeInfo"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/fundingInfo": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Funding rate metadata (caps, intervals) per symbol",
                "operationId": "funding_info",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Symbol",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Funding info",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FundingInfo"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/fundingRate": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Latest price for a symbol or symbols",
                "operationId": "funding_rate",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Symbol",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Funding Rate",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/FundingRate"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/insuranceBalance": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Query Insurance Fund Balance Snapshot",
                "operationId": "insurance_balance",
                "responses": {
                    "200": {
                        "description": "Insurance Fund Balance Snapshot",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/InsuranceBalance"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/leverageBracket": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "Notional and Leverage Brackets (USER_DATA)",
                "operationId": "leverage_bracket",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "User notional and leverage brackets",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/LeverageBracket"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/openInterest": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Open interest per market",
                "operationId": "open_interest",
                "responses": {
                    "200": {
                        "description": "Open Interest",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/OpenInterest"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/openOrder": {
            "get": {
                "tags": [
                    "Trading"
                ],
                "summary": "Query Current Open Order",
                "operationId": "query_open_order",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "orderId",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "clientOrderId",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "triggerOrderId",
                        "in": "query",
                        "description": "look up a user trigger order (STOP / TAKE_PROFIT) by its\nTriggerOrderId. mutually exclusive with `orderId` /\n`clientOrderId` — trigger orders use an independent id counter\nfrom regular orders in the rollup",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64",
                            "minimum": 0
                        }
                    },
                    {
                        "name": "address",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Open order information",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/BinanceOrder"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/openOrders": {
            "get": {
                "tags": [
                    "Trading"
                ],
                "summary": "Query All Open Orders",
                "operationId": "query_open_orders",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Trading pair symbol — optional, omit to return open orders across all markets",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "address",
                        "in": "query",
                        "description": "Account address",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of open orders",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/BinanceOrder"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/ping": {
            "get": {
                "tags": [
                    "Health"
                ],
                "summary": "Test connectivity to the Rest API",
                "operationId": "ping",
                "responses": {
                    "200": {
                        "description": "Ping successful",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PingResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/premiumIndex": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Mark price, index price, and estimated funding rate per symbol",
                "operationId": "premium_index",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Symbol",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Premium index",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PremiumIndex"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/rateLimit/order": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "Query User Rate Limit (USER_DATA)",
                "operationId": "rate_limit_order",
                "responses": {
                    "501": {
                        "description": "User rate limit"
                    }
                }
            }
        },
        "/fapi/v1/symbolConfig": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "Symbol Configuration (USER_DATA)",
                "operationId": "symbol_config",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    },
                    {
                        "name": "symbol",
                        "in": "query",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Symbol configuration"
                    }
                }
            }
        },
        "/fapi/v1/ticker/24hr": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "24 hour rolling window price change statistics.\nreturns all markets — no per-symbol filtering (intentional, dataset is small)",
                "operationId": "ticker_24hr",
                "responses": {
                    "200": {
                        "description": "24hr ticker statistics",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Ticker24hr"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/ticker/price": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Latest price for a symbol or symbols",
                "operationId": "ticker_price",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Symbol",
                        "required": false,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Price ticker",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/PriceTicker"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/time": {
            "get": {
                "tags": [
                    "Health"
                ],
                "summary": "Test connectivity to the Rest API and get the current server time",
                "operationId": "time",
                "responses": {
                    "200": {
                        "description": "Server time",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/TimeResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/trades": {
            "get": {
                "tags": [
                    "Market-Data"
                ],
                "summary": "Recent Trades List",
                "operationId": "recent_trades",
                "parameters": [
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Symbol",
                        "required": true,
                        "schema": {
                            "type": "string"
                        },
                        "example": "BTC-USD"
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Default 100; max 1000",
                        "required": false,
                        "schema": {
                            "type": "integer",
                            "format": "int32"
                        },
                        "example": 100
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of recent trades",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Trade"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/userDeposits": {
            "get": {
                "tags": [
                    "User Data (Beta)"
                ],
                "summary": "User Deposit History",
                "operationId": "user_deposits",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "Account address (required on first request, encoded in cursor for subsequent)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time in microseconds",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "endTime",
                        "in": "query",
                        "description": "End time in microseconds",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of results (default 500, max 1000)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of user deposits",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse_UserDeposit"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/userFundingPayments": {
            "get": {
                "tags": [
                    "User Data (Beta)"
                ],
                "summary": "User Funding Payment History",
                "operationId": "user_funding_payments",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "Account address (required on first request, encoded in cursor for subsequent)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Trading pair symbol (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time in microseconds (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "endTime",
                        "in": "query",
                        "description": "End time in microseconds (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of results (default 500, max 1000)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of user funding payments",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse_UserFundingPayment"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/userLiquidations": {
            "get": {
                "tags": [
                    "User Data (Beta)"
                ],
                "summary": "User Liquidation History",
                "operationId": "user_liquidations",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "Account address (required on first request, encoded in cursor for subsequent)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Trading pair symbol (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time in microseconds (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "endTime",
                        "in": "query",
                        "description": "End time in microseconds (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of results (default 500, max 1000)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of user liquidations",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse_UserLiquidation"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/userTrades": {
            "get": {
                "tags": [
                    "User Data (Beta)"
                ],
                "summary": "Account Trade List",
                "operationId": "user_trades",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "Account address (required on first request, encoded in cursor for subsequent)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "symbol",
                        "in": "query",
                        "description": "Trading pair symbol (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time in microseconds (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "endTime",
                        "in": "query",
                        "description": "End time in microseconds (optional filter)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of results (default 500, max 1000)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of account trades",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse_UserTrade"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "404": {
                        "description": "Market not found",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v1/userWithdrawals": {
            "get": {
                "tags": [
                    "User Data (Beta)"
                ],
                "summary": "User Withdrawal History",
                "operationId": "user_withdrawals",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "description": "Account address (required on first request, encoded in cursor for subsequent)",
                        "required": false,
                        "schema": {
                            "type": [
                                "string",
                                "null"
                            ]
                        }
                    },
                    {
                        "name": "startTime",
                        "in": "query",
                        "description": "Start time in microseconds",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "endTime",
                        "in": "query",
                        "description": "End time in microseconds",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "format": "int64"
                        }
                    },
                    {
                        "name": "limit",
                        "in": "query",
                        "description": "Number of results (default 500, max 1000)",
                        "required": false,
                        "schema": {
                            "type": [
                                "integer",
                                "null"
                            ],
                            "minimum": 0
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "List of user withdrawals",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/PaginatedResponse_UserWithdrawal"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Historical data service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v3/account": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "Get current account information",
                "operationId": "account_info",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Account information",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/Account"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/fapi/v3/balance": {
            "get": {
                "tags": [
                    "Account"
                ],
                "summary": "Get account balance",
                "operationId": "account_balance",
                "parameters": [
                    {
                        "name": "address",
                        "in": "query",
                        "required": true,
                        "schema": {
                            "type": "string"
                        }
                    }
                ],
                "responses": {
                    "200": {
                        "description": "Account balance",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "array",
                                    "items": {
                                        "$ref": "#/components/schemas/Balance"
                                    }
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Bad request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Internal server error",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/health": {
            "get": {
                "tags": [
                    "Health"
                ],
                "summary": "Get health of the API.",
                "operationId": "health",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "text/plain": {
                                "schema": {
                                    "type": "string"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/health/ready": {
            "get": {
                "tags": [
                    "Health"
                ],
                "summary": "readiness probe — 200 when all components healthy, 503 otherwise",
                "operationId": "ready",
                "responses": {
                    "200": {
                        "description": "All components ready",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReadinessStatus"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Not all components ready",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ReadinessStatus"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/rollup/constants": {
            "get": {
                "summary": "Get the rollup constants.",
                "operationId": "constants",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/RollupConstants"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Constants not available",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/rollup/schema": {
            "get": {
                "summary": "Get the rollup schema (unwrapped).",
                "operationId": "schema",
                "responses": {
                    "200": {
                        "description": "Success",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "type": "object"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Schema not available",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/tx/submit": {
            "post": {
                "summary": "Submit a transaction to the rollup.",
                "operationId": "submit_tx",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SubmitTxRequest"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Transaction submitted successfully",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SubmitTxResponse"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid transaction format or validation failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "401": {
                        "description": "Invalid signature or public key",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "503": {
                        "description": "Validation service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        },
        "/rollup/simulate": {
            "post": {
                "summary": "Simulate a transaction against the current rollup state without committing.",
                "description": "Pass-through proxy to the sequencer's `/rollup/simulate`. The body is a JSON\n`SimulateParameters` document (runtime `call` + `sender`), NOT a signed borsh\ntx, so this route intentionally skips the tx validators and forwards the\nrequest unchanged — mirroring the rest of the `/rollup/*` passthrough.",
                "operationId": "simulate",
                "requestBody": {
                    "content": {
                        "application/json": {
                            "schema": {
                                "$ref": "#/components/schemas/SimulateParameters"
                            }
                        }
                    },
                    "required": true
                },
                "responses": {
                    "200": {
                        "description": "Simulation completed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/SimulateOutcome"
                                }
                            }
                        }
                    },
                    "400": {
                        "description": "Invalid simulation request",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "422": {
                        "description": "Simulation request failed validation",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "500": {
                        "description": "Simulation failed",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    },
                    "502": {
                        "description": "Upstream service unavailable",
                        "content": {
                            "application/json": {
                                "schema": {
                                    "$ref": "#/components/schemas/ApiErrorResponse"
                                }
                            }
                        }
                    }
                }
            }
        }
    },
    "components": {
        "schemas": {
            "Account": {
                "type": "object",
                "required": [
                    "totalInitialMargin",
                    "totalMaintMargin",
                    "totalWalletBalance",
                    "totalUnrealizedProfit",
                    "totalMarginBalance",
                    "totalPositionInitialMargin",
                    "totalOpenOrderInitialMargin",
                    "totalCrossWalletBalance",
                    "totalCrossUnPnl",
                    "availableBalance",
                    "maxWithdrawAmount",
                    "feeTier",
                    "feeDiscountBps",
                    "assets",
                    "positions"
                ],
                "properties": {
                    "assets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AccountAsset"
                        }
                    },
                    "availableBalance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "feeDiscountBps": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 0
                    },
                    "feeTier": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 0
                    },
                    "maxWithdrawAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "positions": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AccountPosition"
                        }
                    },
                    "totalCrossUnPnl": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalCrossWalletBalance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalInitialMargin": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalMaintMargin": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalMarginBalance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalOpenOrderInitialMargin": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalPositionInitialMargin": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalUnrealizedProfit": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "totalWalletBalance": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "AccountAsset": {
                "type": "object",
                "required": [
                    "asset",
                    "assetId",
                    "walletBalance",
                    "updateTime"
                ],
                "properties": {
                    "asset": {
                        "type": "string"
                    },
                    "assetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "updateTime": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "walletBalance": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "AccountBalance": {
                "type": "object",
                "required": [
                    "account",
                    "assets",
                    "rewards"
                ],
                "properties": {
                    "account": {
                        "$ref": "#/components/schemas/AccountBalanceSummary"
                    },
                    "assets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AssetBalance"
                        }
                    },
                    "rewards": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/AssetReward"
                        }
                    }
                }
            },
            "AccountBalanceSummary": {
                "type": "object",
                "required": [
                    "tradingCredits",
                    "unrealizedLossBorrow"
                ],
                "properties": {
                    "tradingCredits": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "unrealizedLossBorrow": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "AccountConfig": {
                "type": "object",
                "required": [
                    "delegates"
                ],
                "properties": {
                    "delegates": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Delegate"
                        }
                    }
                }
            },
            "AccountPosition": {
                "type": "object",
                "required": [
                    "symbol",
                    "marketId",
                    "unrealizedProfit",
                    "entryPrice",
                    "initialMargin",
                    "maintMargin",
                    "positionSide",
                    "positionAmt",
                    "updateTime"
                ],
                "properties": {
                    "entryPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "initialMargin": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "maintMargin": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "marketId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "positionAmt": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "positionSide": {
                        "type": "string"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "unrealizedProfit": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "updateTime": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "AddressState": {
                "type": "object",
                "required": [
                    "address"
                ],
                "properties": {
                    "address": {
                        "type": "string",
                        "description": "the queried address, echoed back as supplied"
                    },
                    "generation": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "format": "uint64",
                        "description": "highest uniqueness generation this credential has submitted with,\nor null if it has never submitted a tx. clients use this to seed a\nmonotonic generation override so the next tx doesn't collide",
                        "minimum": 0
                    }
                }
            },
            "ApiErrorDetail": {
                "oneOf": [
                    {
                        "$ref": "#/components/schemas/JsonValidationErrorDetail"
                    },
                    {
                        "type": "object"
                    }
                ],
                "description": "Typed details body. Variant order is important for untagged\ndeserialization: keep the more-specific shape (`JsonValidation`)\nbefore more-permissive ones. `Upstream` holds the upstream payload\nverbatim (object, string, array, number, etc.) so pre-PR clients\nreading `details.error` (or `details` directly) keep working."
            },
            "ApiErrorResponse": {
                "type": "object",
                "description": "Structured API error response matching Bullet API format.\n\nAll error responses from the trading API conform to this schema.",
                "required": [
                    "status",
                    "message"
                ],
                "properties": {
                    "details": {
                        "oneOf": [
                            {
                                "type": "null"
                            },
                            {
                                "$ref": "#/components/schemas/ApiErrorDetail",
                                "description": "Structured per-failure details. Shape depends on the variant."
                            }
                        ]
                    },
                    "error_id": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "description": "Error identifier for support.",
                        "example": "8b2e4d9f-7a1c-4f0e-9c5d-3e6a8b1c2d4f"
                    },
                    "message": {
                        "type": "string",
                        "description": "Human-readable error message.",
                        "example": "Transaction validation failed: insufficient funds"
                    },
                    "status": {
                        "type": "integer",
                        "format": "uint16",
                        "description": "HTTP status code.",
                        "example": 400,
                        "minimum": 0
                    }
                }
            },
            "Asset": {
                "type": "object",
                "required": [
                    "asset",
                    "marginAvailable",
                    "assetId",
                    "decimals",
                    "withdrawFee"
                ],
                "properties": {
                    "asset": {
                        "type": "string"
                    },
                    "assetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "decimals": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0
                    },
                    "marginAvailable": {
                        "type": "boolean"
                    },
                    "tokenId": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "userDepositLimit": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "withdrawFee": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "AssetBalance": {
                "type": "object",
                "required": [
                    "asset",
                    "assetId",
                    "balance",
                    "assetAmount",
                    "liabilityAmount",
                    "maxWithdrawAmount",
                    "updateTime"
                ],
                "properties": {
                    "asset": {
                        "type": "string"
                    },
                    "assetAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "assetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "balance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "liabilityAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "maxWithdrawAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "updateTime": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "AssetReward": {
                "type": "object",
                "required": [
                    "asset",
                    "assetId",
                    "variant",
                    "cumulativeAmount",
                    "claimedAmount",
                    "unclaimedAmount"
                ],
                "properties": {
                    "asset": {
                        "type": "string"
                    },
                    "assetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "claimedAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "cumulativeAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "unclaimedAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "variant": {
                        "type": "string"
                    }
                }
            },
            "Balance": {
                "type": "object",
                "required": [
                    "accountAlias",
                    "asset",
                    "balance",
                    "crossWalletBalance",
                    "crossUnPnl",
                    "availableBalance",
                    "maxWithdrawAmount",
                    "marginAvailable",
                    "updateTime"
                ],
                "properties": {
                    "accountAlias": {
                        "type": "string"
                    },
                    "asset": {
                        "type": "string"
                    },
                    "availableBalance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "balance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "crossUnPnl": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "crossWalletBalance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "marginAvailable": {
                        "type": "boolean"
                    },
                    "maxWithdrawAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "updateTime": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "BinanceOrder": {
                "type": "object",
                "required": [
                    "orderId",
                    "symbol",
                    "marketId",
                    "status",
                    "price",
                    "avgPrice",
                    "origQty",
                    "executedQty",
                    "cumQty",
                    "cumQuote",
                    "timeInForce",
                    "orderType",
                    "reduceOnly",
                    "closePosition",
                    "side",
                    "positionSide",
                    "workingType",
                    "priceProtect",
                    "origType",
                    "priceMatch",
                    "selfTradePreventionMode",
                    "goodTillDate",
                    "updateTime",
                    "isTrigger"
                ],
                "properties": {
                    "avgPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "clientOrderId": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "closePosition": {
                        "type": "boolean"
                    },
                    "cumQty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "cumQuote": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "executedQty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "goodTillDate": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "isTrigger": {
                        "type": "boolean",
                        "description": "bullet extension: true when this row is a user trigger order\n(STOP / TAKE_PROFIT). `orderId` for triggers is drawn from the\n`TriggerOrderId` namespace, which is independent of the regular\n`OrderId` counter — use `(orderId, isTrigger)` as the composite key"
                    },
                    "marketId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "orderId": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "orderType": {
                        "type": "string",
                        "description": "one of: `LIMIT`, `STOP`, `TAKE_PROFIT`"
                    },
                    "origQty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "origType": {
                        "type": "string",
                        "description": "same as `orderType`"
                    },
                    "pendingTpsl": {
                        "oneOf": [
                            {
                                "type": "null"
                            },
                            {
                                "$ref": "#/components/schemas/PendingTpsl",
                                "description": "reserved TP/SL pair attached to this parent limit order. only present\nwhile the parent is unfilled — once filled, the trigger orders are\nactivated and listed independently"
                            }
                        ]
                    },
                    "positionSide": {
                        "type": "string"
                    },
                    "price": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "priceMatch": {
                        "type": "string"
                    },
                    "priceProtect": {
                        "type": "boolean"
                    },
                    "reduceOnly": {
                        "type": "boolean"
                    },
                    "selfTradePreventionMode": {
                        "type": "string"
                    },
                    "side": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "description": "one of: NEW, PARTIALLY_FILLED, FILLED"
                    },
                    "stopPrice": {
                        "type": [
                            "string",
                            "null"
                        ],
                        "format": "decimal"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "timeInForce": {
                        "type": "string"
                    },
                    "updateTime": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "workingType": {
                        "type": "string"
                    }
                }
            },
            "BorrowLendPoolResponse": {
                "type": "object",
                "required": [
                    "asset",
                    "assetId",
                    "isActive",
                    "lastUpdateTimestamp",
                    "rateParams",
                    "depositLimit",
                    "borrowLimit",
                    "availableAmount",
                    "borrowedAmount",
                    "cumulativeDepositRate",
                    "cumulativeBorrowRate",
                    "accumulatedProtocolFees",
                    "unclaimedProtocolFees",
                    "interestFeeTenthBps"
                ],
                "properties": {
                    "accumulatedProtocolFees": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "asset": {
                        "type": "string"
                    },
                    "assetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "availableAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "borrowLimit": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "borrowedAmount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "cumulativeBorrowRate": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "cumulativeDepositRate": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "depositLimit": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "interestFeeTenthBps": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "isActive": {
                        "type": "boolean"
                    },
                    "lastUpdateTimestamp": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "rateParams": {
                        "$ref": "#/components/schemas/RateParams"
                    },
                    "unclaimedProtocolFees": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "Bracket": {
                "type": "object",
                "required": [
                    "bracket",
                    "initialLeverage",
                    "notionalCap",
                    "notionalFloor",
                    "maintMarginRatio",
                    "cum"
                ],
                "properties": {
                    "bracket": {
                        "type": "integer",
                        "format": "uint32",
                        "minimum": 0
                    },
                    "cum": {
                        "type": "number",
                        "format": "double"
                    },
                    "initialLeverage": {
                        "type": "integer",
                        "format": "uint32",
                        "minimum": 0
                    },
                    "maintMarginRatio": {
                        "type": "number",
                        "format": "double"
                    },
                    "notionalCap": {
                        "type": "number",
                        "format": "double"
                    },
                    "notionalFloor": {
                        "type": "number",
                        "format": "double"
                    }
                }
            },
            "ChainInfo": {
                "type": "object",
                "description": "chain-level constants from the rollup",
                "required": [
                    "chainId",
                    "chainName",
                    "gasTokenId",
                    "hyperlaneDomain",
                    "addressPrefix"
                ],
                "properties": {
                    "addressPrefix": {
                        "type": "string"
                    },
                    "chainId": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "chainName": {
                        "type": "string"
                    },
                    "gasTokenId": {
                        "type": "string"
                    },
                    "hyperlaneDomain": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    }
                }
            },
            "Delegate": {
                "type": "object",
                "required": [
                    "address",
                    "name",
                    "flags"
                ],
                "properties": {
                    "address": {
                        "type": "string"
                    },
                    "expiresAt": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "format": "int64"
                    },
                    "flags": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 0
                    },
                    "name": {
                        "type": "string"
                    }
                }
            },
            "ExchangeInfo": {
                "type": "object",
                "required": [
                    "rateLimits",
                    "assets",
                    "symbols",
                    "globalConfig"
                ],
                "properties": {
                    "assets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Asset"
                        }
                    },
                    "chainHash": {
                        "type": [
                            "string",
                            "null"
                        ]
                    },
                    "chainInfo": {
                        "oneOf": [
                            {
                                "type": "null"
                            },
                            {
                                "$ref": "#/components/schemas/ChainInfo"
                            }
                        ]
                    },
                    "globalConfig": {
                        "$ref": "#/components/schemas/GlobalConfigResponse"
                    },
                    "rateLimits": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/RateLimit"
                        }
                    },
                    "symbols": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Symbol"
                        }
                    }
                }
            },
            "FundingInfo": {
                "type": "object",
                "description": "funding rate metadata per symbol",
                "required": [
                    "symbol",
                    "adjustedFundingRateCap",
                    "adjustedFundingRateFloor",
                    "fundingIntervalHours"
                ],
                "properties": {
                    "adjustedFundingRateCap": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "adjustedFundingRateFloor": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "fundingIntervalHours": {
                        "type": "integer",
                        "format": "int32",
                        "minimum": 0
                    },
                    "symbol": {
                        "type": "string"
                    }
                }
            },
            "FundingRate": {
                "type": "object",
                "required": [
                    "symbol",
                    "fundingRate",
                    "fundingTime",
                    "markPrice"
                ],
                "properties": {
                    "fundingRate": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "fundingTime": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "markPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "symbol": {
                        "type": "string"
                    }
                }
            },
            "GlobalConfigResponse": {
                "type": "object",
                "required": [
                    "maxOrdersPerUser",
                    "maxTriggerOrdersPerUser",
                    "maxTriggerOrdersToExecutePerMsg",
                    "minNotionalTwapValue",
                    "minNotionalTwapValuePerOrder",
                    "twapExecutionIntervalSeconds"
                ],
                "properties": {
                    "maxOrdersPerUser": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "maxTriggerOrdersPerUser": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "maxTriggerOrdersToExecutePerMsg": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "minNotionalTwapValue": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "minNotionalTwapValuePerOrder": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "twapExecutionIntervalSeconds": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    }
                }
            },
            "HealthState": {
                "type": "string",
                "description": "health state for a single component",
                "enum": [
                    "starting",
                    "running",
                    "recovering"
                ]
            },
            "HistoricalOrder": {
                "type": "object",
                "description": "historical order for /fapi/v1/allOrders",
                "required": [
                    "orderId",
                    "symbol",
                    "status",
                    "price",
                    "origQty",
                    "executedQty",
                    "avgPrice",
                    "side",
                    "type",
                    "time",
                    "updateTime",
                    "reduceOnly",
                    "closePosition",
                    "positionSide",
                    "txHashes"
                ],
                "properties": {
                    "avgPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "closePosition": {
                        "type": "boolean"
                    },
                    "executedQty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "orderId": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "origQty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "positionSide": {
                        "type": "string"
                    },
                    "price": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "reduceOnly": {
                        "type": "boolean"
                    },
                    "side": {
                        "type": "string"
                    },
                    "status": {
                        "type": "string",
                        "description": "one of: NEW, PARTIALLY_FILLED, FILLED, CANCELED, EXPIRED"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "txHashes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "type": {
                        "type": "string"
                    },
                    "updateTime": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "InsuranceAsset": {
                "type": "object",
                "required": [
                    "asset",
                    "marginBalance",
                    "updateTime"
                ],
                "properties": {
                    "asset": {
                        "type": "string"
                    },
                    "marginBalance": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "updateTime": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "InsuranceBalance": {
                "type": "object",
                "required": [
                    "symbols",
                    "assets"
                ],
                "properties": {
                    "assets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/InsuranceAsset"
                        }
                    },
                    "symbols": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    }
                }
            },
            "JsonValidationErrorDetail": {
                "type": "object",
                "description": "One JSON shape failure: machine-readable `rule` + full serde\nmessage including line/column. Surfaced under `details` on the wire.",
                "required": [
                    "rule",
                    "message"
                ],
                "properties": {
                    "message": {
                        "type": "string",
                        "example": "invalid type: integer `24500000`, expected a string at line 4 column 30"
                    },
                    "rule": {
                        "type": "string",
                        "example": "wrong_type"
                    }
                }
            },
            "LedgerEvent": {
                "type": "object",
                "description": "Ledger event emitted by a transaction",
                "required": [
                    "type",
                    "number",
                    "key",
                    "value",
                    "module"
                ],
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "Event key"
                    },
                    "module": {
                        "$ref": "#/components/schemas/ModuleRef",
                        "description": "Module that emitted the event"
                    },
                    "number": {
                        "type": "integer",
                        "format": "uint64",
                        "description": "Event number",
                        "minimum": 0
                    },
                    "tx_hash": {
                        "type": "string",
                        "description": "Transaction hash (if associated with a transaction)"
                    },
                    "type": {
                        "type": "string",
                        "description": "Event type"
                    },
                    "value": {
                        "type": "object",
                        "description": "Event value (arbitrary JSON)"
                    }
                }
            },
            "LeverageBracket": {
                "type": "object",
                "required": [
                    "symbol",
                    "brackets"
                ],
                "properties": {
                    "brackets": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Bracket"
                        }
                    },
                    "notionalCoef": {
                        "type": [
                            "number",
                            "null"
                        ],
                        "format": "double"
                    },
                    "symbol": {
                        "type": "string"
                    }
                }
            },
            "ModuleRef": {
                "type": "object",
                "description": "Reference to a module",
                "required": [
                    "name"
                ],
                "properties": {
                    "name": {
                        "type": "string",
                        "description": "Module name"
                    }
                }
            },
            "OpenInterest": {
                "type": "object",
                "description": "open interest for a single market",
                "required": [
                    "symbol",
                    "openInterest",
                    "time"
                ],
                "properties": {
                    "openInterest": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "OrderBook": {
                "type": "object",
                "required": [
                    "lastUpdateId",
                    "E",
                    "T",
                    "bids",
                    "asks"
                ],
                "properties": {
                    "E": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "T": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "asks": {
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": false,
                            "prefixItems": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "string"
                                }
                            ]
                        }
                    },
                    "bids": {
                        "type": "array",
                        "items": {
                            "type": "array",
                            "items": false,
                            "prefixItems": [
                                {
                                    "type": "string"
                                },
                                {
                                    "type": "string"
                                }
                            ]
                        }
                    },
                    "lastUpdateId": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    }
                }
            },
            "PaginatedResponse_HistoricalOrder": {
                "type": "object",
                "description": "paginated response wrapper with optional cursor for next page",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "description": "historical order for /fapi/v1/allOrders",
                            "required": [
                                "orderId",
                                "symbol",
                                "status",
                                "price",
                                "origQty",
                                "executedQty",
                                "avgPrice",
                                "side",
                                "type",
                                "time",
                                "updateTime",
                                "reduceOnly",
                                "closePosition",
                                "positionSide",
                                "txHashes"
                            ],
                            "properties": {
                                "avgPrice": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "closePosition": {
                                    "type": "boolean"
                                },
                                "executedQty": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "orderId": {
                                    "type": "integer",
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "origQty": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "positionSide": {
                                    "type": "string"
                                },
                                "price": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "reduceOnly": {
                                    "type": "boolean"
                                },
                                "side": {
                                    "type": "string"
                                },
                                "status": {
                                    "type": "string",
                                    "description": "one of: NEW, PARTIALLY_FILLED, FILLED, CANCELED, EXPIRED"
                                },
                                "symbol": {
                                    "type": "string"
                                },
                                "time": {
                                    "type": "integer",
                                    "format": "int64"
                                },
                                "txHashes": {
                                    "type": "array",
                                    "items": {
                                        "type": "string"
                                    }
                                },
                                "type": {
                                    "type": "string"
                                },
                                "updateTime": {
                                    "type": "integer",
                                    "format": "int64"
                                }
                            }
                        }
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "PaginatedResponse_UserDeposit": {
                "type": "object",
                "description": "paginated response wrapper with optional cursor for next page",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": [
                                "asset",
                                "assetId",
                                "amount",
                                "amountNotional",
                                "txHash",
                                "eventNumber",
                                "time"
                            ],
                            "properties": {
                                "amount": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "amountNotional": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "asset": {
                                    "type": "string"
                                },
                                "assetId": {
                                    "type": "integer",
                                    "format": "uint16",
                                    "minimum": 0
                                },
                                "eventNumber": {
                                    "type": "integer",
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "time": {
                                    "type": "integer",
                                    "format": "int64"
                                },
                                "txHash": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "PaginatedResponse_UserFundingPayment": {
                "type": "object",
                "description": "paginated response wrapper with optional cursor for next page",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "description": "user funding payment history",
                            "required": [
                                "symbol",
                                "marketId",
                                "fundingApplied",
                                "txHash",
                                "eventNumber",
                                "time"
                            ],
                            "properties": {
                                "eventNumber": {
                                    "type": "integer",
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "fundingApplied": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "marketId": {
                                    "type": "integer",
                                    "format": "uint16",
                                    "minimum": 0
                                },
                                "symbol": {
                                    "type": "string"
                                },
                                "time": {
                                    "type": "integer",
                                    "format": "int64"
                                },
                                "txHash": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "PaginatedResponse_UserLiquidation": {
                "type": "object",
                "description": "paginated response wrapper with optional cursor for next page",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": [
                                "symbol",
                                "liquidateeAddress",
                                "liquidatorAddress",
                                "marketId",
                                "markPrice",
                                "size",
                                "side",
                                "liquidatorReward",
                                "realizedPnl",
                                "txHash",
                                "eventNumber",
                                "time"
                            ],
                            "properties": {
                                "eventNumber": {
                                    "type": "integer",
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "liquidateeAddress": {
                                    "type": "string"
                                },
                                "liquidatorAddress": {
                                    "type": "string"
                                },
                                "liquidatorReward": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "markPrice": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "marketId": {
                                    "type": "integer",
                                    "format": "uint16",
                                    "minimum": 0
                                },
                                "realizedPnl": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "side": {
                                    "type": "string"
                                },
                                "size": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "symbol": {
                                    "type": "string"
                                },
                                "time": {
                                    "type": "integer",
                                    "format": "int64"
                                },
                                "txHash": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "PaginatedResponse_UserTrade": {
                "type": "object",
                "description": "paginated response wrapper with optional cursor for next page",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": [
                                "symbol",
                                "id",
                                "orderId",
                                "side",
                                "price",
                                "qty",
                                "quoteQty",
                                "realizedPnl",
                                "commission",
                                "commissionAsset",
                                "time",
                                "positionSide",
                                "buyer",
                                "maker",
                                "address",
                                "txHash"
                            ],
                            "properties": {
                                "address": {
                                    "type": "string"
                                },
                                "buyer": {
                                    "type": "boolean"
                                },
                                "clientOrderId": {
                                    "type": [
                                        "integer",
                                        "null"
                                    ],
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "commission": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "commissionAsset": {
                                    "type": "string"
                                },
                                "id": {
                                    "type": "integer",
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "maker": {
                                    "type": "boolean"
                                },
                                "orderId": {
                                    "type": "integer",
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "positionSide": {
                                    "type": "string"
                                },
                                "price": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "qty": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "quoteQty": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "realizedPnl": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "side": {
                                    "type": "string"
                                },
                                "symbol": {
                                    "type": "string"
                                },
                                "time": {
                                    "type": "integer",
                                    "format": "int64"
                                },
                                "txHash": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "PaginatedResponse_UserWithdrawal": {
                "type": "object",
                "description": "paginated response wrapper with optional cursor for next page",
                "required": [
                    "data"
                ],
                "properties": {
                    "data": {
                        "type": "array",
                        "items": {
                            "type": "object",
                            "required": [
                                "asset",
                                "assetId",
                                "amount",
                                "amountNotional",
                                "fee",
                                "txHash",
                                "eventNumber",
                                "time"
                            ],
                            "properties": {
                                "amount": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "amountNotional": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "asset": {
                                    "type": "string"
                                },
                                "assetId": {
                                    "type": "integer",
                                    "format": "uint16",
                                    "minimum": 0
                                },
                                "eventNumber": {
                                    "type": "integer",
                                    "format": "uint64",
                                    "minimum": 0
                                },
                                "fee": {
                                    "type": "string",
                                    "format": "decimal"
                                },
                                "time": {
                                    "type": "integer",
                                    "format": "int64"
                                },
                                "txHash": {
                                    "type": "string"
                                }
                            }
                        }
                    },
                    "nextCursor": {
                        "type": [
                            "string",
                            "null"
                        ]
                    }
                }
            },
            "PendingTpsl": {
                "type": "object",
                "required": [
                    "dynamicSize"
                ],
                "properties": {
                    "dynamicSize": {
                        "type": "boolean",
                        "description": "if true, the activated trigger orders track the parent's filled size;\notherwise they use the size baked in at placement"
                    },
                    "sl": {
                        "oneOf": [
                            {
                                "type": "null"
                            },
                            {
                                "$ref": "#/components/schemas/TpslLeg"
                            }
                        ]
                    },
                    "tp": {
                        "oneOf": [
                            {
                                "type": "null"
                            },
                            {
                                "$ref": "#/components/schemas/TpslLeg"
                            }
                        ]
                    }
                }
            },
            "PingResponse": {
                "type": "object"
            },
            "PremiumIndex": {
                "type": "object",
                "description": "real-time mark price, index price, and estimated funding rate per symbol",
                "required": [
                    "symbol",
                    "markPrice",
                    "indexPrice",
                    "lastFundingRate",
                    "interestRate",
                    "estimatedFundingRate",
                    "nextFundingTime",
                    "time"
                ],
                "properties": {
                    "estimatedFundingRate": {
                        "type": "string",
                        "format": "decimal",
                        "description": "pre-computed estimated 1h funding rate (8h rate ÷ 8) from current premium index accumulator"
                    },
                    "indexPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "interestRate": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "lastFundingRate": {
                        "type": "string",
                        "format": "decimal",
                        "description": "funding rate for 8h period"
                    },
                    "markPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "nextFundingTime": {
                        "type": "integer",
                        "format": "int64",
                        "description": "unix timestamp ms of next hourly funding settlement"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64",
                        "description": "server time unix ms"
                    }
                }
            },
            "PriceTicker": {
                "type": "object",
                "required": [
                    "symbol",
                    "price",
                    "time"
                ],
                "properties": {
                    "price": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "RateLimit": {
                "type": "object",
                "required": [
                    "rateLimitType",
                    "interval",
                    "intervalNum",
                    "limit"
                ],
                "properties": {
                    "interval": {
                        "type": "string"
                    },
                    "intervalNum": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "limit": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "rateLimitType": {
                        "type": "string"
                    }
                }
            },
            "RateParams": {
                "type": "object",
                "required": [
                    "optimal_utilisation_rate",
                    "min_borrow_rate",
                    "optimal_borrow_rate",
                    "max_borrow_rate"
                ],
                "properties": {
                    "max_borrow_rate": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "min_borrow_rate": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "optimal_borrow_rate": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "optimal_utilisation_rate": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "ReadinessStatus": {
                "type": "object",
                "description": "readiness response returned by /health/ready",
                "required": [
                    "ready",
                    "components"
                ],
                "properties": {
                    "components": {
                        "type": "object",
                        "additionalProperties": {
                            "$ref": "#/components/schemas/HealthState"
                        },
                        "propertyNames": {
                            "type": "string"
                        }
                    },
                    "ready": {
                        "type": "boolean"
                    }
                }
            },
            "RollupConstants": {
                "type": "object",
                "description": "Response from the `/rollup/constants` endpoint.",
                "required": [
                    "chain_id",
                    "chain_name",
                    "gas_token_id",
                    "hyperlane_domain",
                    "address_prefix"
                ],
                "properties": {
                    "address_prefix": {
                        "type": "string"
                    },
                    "chain_id": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "chain_name": {
                        "type": "string"
                    },
                    "gas_token_id": {
                        "type": "string"
                    },
                    "hyperlane_domain": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    }
                }
            },
            "SubmitSolanaOffchainTxRequest": {
                "type": "object",
                "description": "Body for a Solana off-chain signed transaction.\n\nProduced by the bullet SDK's `solana` / `solanaSimple` authenticators\n(Phantom, Solflare, Ledger). The inner bytes are a Solana off-chain\nsigned message, NOT a borsh-serialized Sovereign tx.",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "type": "string",
                        "description": "Base64-encoded Solana off-chain signed message envelope"
                    }
                }
            },
            "SubmitTxRequest": {
                "type": "object",
                "required": [
                    "body"
                ],
                "properties": {
                    "body": {
                        "type": "string",
                        "description": "Base64 encoded borsh string"
                    }
                }
            },
            "SubmitTxResponse": {
                "type": "object",
                "description": "Response from submitting a transaction.",
                "required": [
                    "id",
                    "status"
                ],
                "properties": {
                    "events": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/LedgerEvent"
                        },
                        "description": "Events emitted by the transaction"
                    },
                    "id": {
                        "type": "string",
                        "description": "The transaction hash"
                    },
                    "receipt": {
                        "$ref": "#/components/schemas/TxReceipt",
                        "description": "Transaction receipt (if processed)"
                    },
                    "status": {
                        "$ref": "#/components/schemas/TxStatus",
                        "description": "Transaction status"
                    },
                    "tx_number": {
                        "type": "integer",
                        "format": "uint64",
                        "description": "Transaction number (if processed)",
                        "minimum": 0
                    }
                }
            },
            "Symbol": {
                "type": "object",
                "required": [
                    "marketId",
                    "symbol",
                    "pair",
                    "contractType",
                    "deliveryDate",
                    "onboardDate",
                    "status",
                    "baseAsset",
                    "baseAssetId",
                    "quoteAsset",
                    "marginAsset",
                    "pricePrecision",
                    "quantityPrecision",
                    "baseAssetPrecision",
                    "quotePrecision",
                    "underlyingType",
                    "underlyingSubType",
                    "settlePlan",
                    "triggerProtect",
                    "filters",
                    "orderTypes",
                    "timeInForce",
                    "liquidationFee",
                    "marketTakeBound",
                    "makerFeeBps",
                    "takerFeeBps"
                ],
                "properties": {
                    "baseAsset": {
                        "type": "string"
                    },
                    "baseAssetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "baseAssetPrecision": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0
                    },
                    "contractType": {
                        "type": "string"
                    },
                    "deliveryDate": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "filters": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/Filter"
                        }
                    },
                    "liquidationFee": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "makerFeeBps": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "marginAsset": {
                        "type": "string"
                    },
                    "marketId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "marketTakeBound": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "onboardDate": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "orderTypes": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "pair": {
                        "type": "string"
                    },
                    "pricePrecision": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0
                    },
                    "quantityPrecision": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0
                    },
                    "quoteAsset": {
                        "type": "string"
                    },
                    "quotePrecision": {
                        "type": "integer",
                        "format": "uint8",
                        "minimum": 0
                    },
                    "settlePlan": {
                        "type": "integer",
                        "format": "int32"
                    },
                    "status": {
                        "type": "string"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "takerFeeBps": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "timeInForce": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "triggerProtect": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "underlyingSubType": {
                        "type": "array",
                        "items": {
                            "type": "string"
                        }
                    },
                    "underlyingType": {
                        "type": "string"
                    }
                }
            },
            "Ticker24hr": {
                "type": "object",
                "required": [
                    "symbol",
                    "priceChange",
                    "priceChangePercent",
                    "weightedAvgPrice",
                    "lastPrice",
                    "openPrice",
                    "highPrice",
                    "lowPrice",
                    "volume",
                    "quoteVolume",
                    "openTime",
                    "closeTime",
                    "count"
                ],
                "properties": {
                    "closeTime": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "count": {
                        "type": "integer",
                        "format": "int64",
                        "minimum": 0
                    },
                    "highPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "lastPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "lowPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "openPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "openTime": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "priceChange": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "priceChangePercent": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "quoteVolume": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "volume": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "weightedAvgPrice": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "TimeResponse": {
                "type": "object",
                "required": [
                    "serverTime"
                ],
                "properties": {
                    "serverTime": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "TpslLeg": {
                "type": "object",
                "required": [
                    "triggerOrderId",
                    "orderPrice",
                    "triggerPrice",
                    "priceCondition",
                    "orderType",
                    "timeInForce"
                ],
                "properties": {
                    "orderPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "orderType": {
                        "type": "string",
                        "description": "LIMIT (bullet's TPSL legs are always limit orders — see `time_in_force`\nfor the actual TIF behaviour)"
                    },
                    "priceCondition": {
                        "type": "string",
                        "description": "MARK_PRICE | ORACLE_PRICE | LAST_PRICE"
                    },
                    "timeInForce": {
                        "type": "string",
                        "description": "GTC | GTX (post-only) | FOK | IOC — matches the parent BinanceOrder's\n`timeInForce` shape"
                    },
                    "triggerOrderId": {
                        "type": "integer",
                        "format": "uint64",
                        "description": "the reserved TriggerOrderId this leg will activate as",
                        "minimum": 0
                    },
                    "triggerPrice": {
                        "type": "string",
                        "format": "decimal"
                    }
                }
            },
            "Trade": {
                "type": "object",
                "required": [
                    "id",
                    "price",
                    "qty",
                    "quoteQty",
                    "time",
                    "isBuyerMaker"
                ],
                "properties": {
                    "id": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "isBuyerMaker": {
                        "type": "boolean"
                    },
                    "price": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "qty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "quoteQty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    }
                }
            },
            "TxReceipt": {
                "type": "object",
                "description": "Transaction receipt",
                "required": [
                    "result"
                ],
                "properties": {
                    "result": {
                        "$ref": "#/components/schemas/TxResult",
                        "description": "Result of transaction execution"
                    }
                }
            },
            "TxResult": {
                "type": "string",
                "description": "Transaction execution result",
                "enum": [
                    "successful",
                    "reverted",
                    "skipped"
                ]
            },
            "TxStatus": {
                "type": "string",
                "description": "Transaction status",
                "enum": [
                    "unknown",
                    "dropped",
                    "submitted",
                    "published",
                    "processed",
                    "finalized"
                ]
            },
            "UserDeposit": {
                "type": "object",
                "required": [
                    "asset",
                    "assetId",
                    "amount",
                    "amountNotional",
                    "txHash",
                    "eventNumber",
                    "time"
                ],
                "properties": {
                    "amount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "amountNotional": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "asset": {
                        "type": "string"
                    },
                    "assetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "eventNumber": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "txHash": {
                        "type": "string"
                    }
                }
            },
            "UserFundingPayment": {
                "type": "object",
                "description": "user funding payment history",
                "required": [
                    "symbol",
                    "marketId",
                    "fundingApplied",
                    "txHash",
                    "eventNumber",
                    "time"
                ],
                "properties": {
                    "eventNumber": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "fundingApplied": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "marketId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "txHash": {
                        "type": "string"
                    }
                }
            },
            "UserLiquidation": {
                "type": "object",
                "required": [
                    "symbol",
                    "liquidateeAddress",
                    "liquidatorAddress",
                    "marketId",
                    "markPrice",
                    "size",
                    "side",
                    "liquidatorReward",
                    "realizedPnl",
                    "txHash",
                    "eventNumber",
                    "time"
                ],
                "properties": {
                    "eventNumber": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "liquidateeAddress": {
                        "type": "string"
                    },
                    "liquidatorAddress": {
                        "type": "string"
                    },
                    "liquidatorReward": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "markPrice": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "marketId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "realizedPnl": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "side": {
                        "type": "string"
                    },
                    "size": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "txHash": {
                        "type": "string"
                    }
                }
            },
            "UserTrade": {
                "type": "object",
                "required": [
                    "symbol",
                    "id",
                    "orderId",
                    "side",
                    "price",
                    "qty",
                    "quoteQty",
                    "realizedPnl",
                    "commission",
                    "commissionAsset",
                    "time",
                    "positionSide",
                    "buyer",
                    "maker",
                    "address",
                    "txHash"
                ],
                "properties": {
                    "address": {
                        "type": "string"
                    },
                    "buyer": {
                        "type": "boolean"
                    },
                    "clientOrderId": {
                        "type": [
                            "integer",
                            "null"
                        ],
                        "format": "uint64",
                        "minimum": 0
                    },
                    "commission": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "commissionAsset": {
                        "type": "string"
                    },
                    "id": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "maker": {
                        "type": "boolean"
                    },
                    "orderId": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "positionSide": {
                        "type": "string"
                    },
                    "price": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "qty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "quoteQty": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "realizedPnl": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "side": {
                        "type": "string"
                    },
                    "symbol": {
                        "type": "string"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "txHash": {
                        "type": "string"
                    }
                }
            },
            "UserWithdrawal": {
                "type": "object",
                "required": [
                    "asset",
                    "assetId",
                    "amount",
                    "amountNotional",
                    "fee",
                    "txHash",
                    "eventNumber",
                    "time"
                ],
                "properties": {
                    "amount": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "amountNotional": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "asset": {
                        "type": "string"
                    },
                    "assetId": {
                        "type": "integer",
                        "format": "uint16",
                        "minimum": 0
                    },
                    "eventNumber": {
                        "type": "integer",
                        "format": "uint64",
                        "minimum": 0
                    },
                    "fee": {
                        "type": "string",
                        "format": "decimal"
                    },
                    "time": {
                        "type": "integer",
                        "format": "int64"
                    },
                    "txHash": {
                        "type": "string"
                    }
                }
            },
            "SimulateParameters": {
                "type": "object",
                "description": "Parameters for a transaction simulation request.\n\nMirrors the sequencer's `SimulateParameters`. Documentation-only: like\n`/tx/submit`, the handler forwards the raw body, so this type is not\ndeserialized in-process.",
                "required": [
                    "sender",
                    "call"
                ],
                "properties": {
                    "call": {
                        "type": "object",
                        "description": "The runtime call to simulate, provided as JSON"
                    },
                    "sender": {
                        "type": "string",
                        "description": "The credential ID of the transaction sender"
                    },
                    "sequencer": {
                        "$ref": "#/components/schemas/SequencerParameter",
                        "description": "Optional sequencer configuration"
                    },
                    "tx_details": {
                        "$ref": "#/components/schemas/TxDetailsParameter",
                        "description": "Optional transaction details (gas limit, fees)"
                    },
                    "uniqueness": {
                        "type": "object",
                        "description": "Optional uniqueness data for the transaction"
                    }
                }
            },
            "SimulateOutcome": {
                "oneOf": [
                    {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/SuccessOutcome",
                                "description": "The transaction executed successfully."
                            },
                            {
                                "type": "object",
                                "required": [
                                    "outcome"
                                ],
                                "properties": {
                                    "outcome": {
                                        "type": "string",
                                        "enum": [
                                            "success"
                                        ]
                                    }
                                }
                            }
                        ],
                        "description": "The transaction executed successfully."
                    },
                    {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/RevertOutcome",
                                "description": "The transaction reverted during execution."
                            },
                            {
                                "type": "object",
                                "required": [
                                    "outcome"
                                ],
                                "properties": {
                                    "outcome": {
                                        "type": "string",
                                        "enum": [
                                            "reverted"
                                        ]
                                    }
                                }
                            }
                        ],
                        "description": "The transaction reverted during execution."
                    },
                    {
                        "allOf": [
                            {
                                "$ref": "#/components/schemas/FailOutcome",
                                "description": "The transaction was skipped due to pre-execution errors."
                            },
                            {
                                "type": "object",
                                "required": [
                                    "outcome"
                                ],
                                "properties": {
                                    "outcome": {
                                        "type": "string",
                                        "enum": [
                                            "skipped"
                                        ]
                                    }
                                }
                            }
                        ],
                        "description": "The transaction was skipped due to pre-execution errors."
                    }
                ],
                "description": "Outcome of a transaction simulation.\n\nDiscriminated on `outcome`, mirroring the sequencer's `SimulateOutcome`\n(`sov-rollup-apis`): `success` / `reverted` / `skipped`."
            },
            "SuccessOutcome": {
                "type": "object",
                "description": "Successful simulation outcome.",
                "required": [
                    "gas_used",
                    "priority_fee",
                    "events"
                ],
                "properties": {
                    "events": {
                        "type": "array",
                        "items": {
                            "$ref": "#/components/schemas/SimulatedEvent"
                        },
                        "description": "Events emitted during execution"
                    },
                    "gas_used": {
                        "type": "string",
                        "description": "Gas consumed by the transaction (gas-token amount, as a decimal string)"
                    },
                    "priority_fee": {
                        "type": "string",
                        "description": "Priority fee paid (gas-token amount, as a decimal string)"
                    }
                }
            },
            "RevertOutcome": {
                "type": "object",
                "description": "Reverted simulation outcome.",
                "required": [
                    "detail"
                ],
                "properties": {
                    "detail": {
                        "type": "object",
                        "description": "Structured detail about the revert (`ErrorContext`, an arbitrary JSON object)"
                    }
                }
            },
            "FailOutcome": {
                "type": "object",
                "description": "Skipped simulation outcome.",
                "required": [
                    "reason"
                ],
                "properties": {
                    "reason": {
                        "type": "string",
                        "description": "The reason the transaction was skipped"
                    }
                }
            },
            "SimulatedEvent": {
                "type": "object",
                "description": "An event emitted during transaction simulation.",
                "required": [
                    "value",
                    "key",
                    "module"
                ],
                "properties": {
                    "key": {
                        "type": "string",
                        "description": "The event key"
                    },
                    "module": {
                        "type": "string",
                        "description": "The module that emitted the event"
                    },
                    "value": {
                        "type": "object",
                        "description": "The event data (arbitrary JSON)"
                    }
                }
            },
            "SequencerParameter": {
                "type": "object",
                "description": "Optional sequencer configuration for a simulation request.",
                "properties": {
                    "da_address": {
                        "type": "string",
                        "description": "Custom data availability address for the sequencer"
                    },
                    "rollup_address": {
                        "type": "string",
                        "description": "Custom rollup address for the sequencer"
                    }
                }
            },
            "TxDetailsParameter": {
                "type": "object",
                "description": "Optional transaction details for a simulation request.",
                "properties": {
                    "gas_limit": {
                        "type": "array",
                        "items": {
                            "type": "integer",
                            "format": "int64",
                            "minimum": 0
                        },
                        "description": "Gas limit for the transaction, as an array of u64 values"
                    },
                    "max_fee": {
                        "type": "string",
                        "description": "Maximum fee the sender is willing to pay"
                    },
                    "max_priority_fee_bips": {
                        "type": "integer",
                        "format": "uint64",
                        "description": "Maximum priority fee in basis points",
                        "minimum": 0
                    }
                }
            },
            "Filter": {
                "oneOf": [
                    {
                        "type": "object",
                        "required": [
                            "tickSize",
                            "minPrice",
                            "maxPrice",
                            "filterType"
                        ],
                        "properties": {
                            "filterType": {
                                "type": "string",
                                "enum": [
                                    "PRICE_FILTER"
                                ]
                            },
                            "maxPrice": {
                                "type": "string",
                                "format": "decimal"
                            },
                            "minPrice": {
                                "type": "string",
                                "format": "decimal"
                            },
                            "tickSize": {
                                "type": "string",
                                "format": "decimal"
                            }
                        }
                    },
                    {
                        "type": "object",
                        "required": [
                            "stepSize",
                            "minQty",
                            "maxQty",
                            "filterType"
                        ],
                        "properties": {
                            "filterType": {
                                "type": "string",
                                "enum": [
                                    "LOT_SIZE"
                                ]
                            },
                            "maxQty": {
                                "type": "string",
                                "format": "decimal"
                            },
                            "minQty": {
                                "type": "string",
                                "format": "decimal"
                            },
                            "stepSize": {
                                "type": "string",
                                "format": "decimal"
                            }
                        }
                    },
                    {
                        "type": "object",
                        "required": [
                            "limit",
                            "filterType"
                        ],
                        "properties": {
                            "filterType": {
                                "type": "string",
                                "enum": [
                                    "MAX_NUM_ORDERS"
                                ]
                            },
                            "limit": {
                                "type": "integer",
                                "format": "uint16",
                                "minimum": 0
                            }
                        }
                    },
                    {
                        "type": "object",
                        "required": [
                            "limit",
                            "filterType"
                        ],
                        "properties": {
                            "filterType": {
                                "type": "string",
                                "enum": [
                                    "MAX_NUM_ALGO_ORDERS"
                                ]
                            },
                            "limit": {
                                "type": "integer",
                                "format": "uint16",
                                "minimum": 0
                            }
                        }
                    },
                    {
                        "type": "object",
                        "required": [
                            "multiplierUp",
                            "multiplierDown",
                            "multiplierDecimal",
                            "filterType"
                        ],
                        "properties": {
                            "filterType": {
                                "type": "string",
                                "enum": [
                                    "PERCENT_PRICE"
                                ]
                            },
                            "multiplierDecimal": {
                                "type": "string"
                            },
                            "multiplierDown": {
                                "type": "string",
                                "format": "decimal"
                            },
                            "multiplierUp": {
                                "type": "string",
                                "format": "decimal"
                            }
                        }
                    }
                ]
            }
        }
    }
}
