openapi: 3.0.3 info: title: Aevo Exchange Private REST Account Market Data API description: Authenticated REST API for Aevo exchange providing account management, order placement and management, position tracking, portfolio data, transfers, withdrawals, and trading history. Requires AEVO-KEY and AEVO-SECRET authentication headers obtained via cryptographic key registration. version: 1.0.0 contact: name: Aevo Support url: https://docs.aevo.xyz/ servers: - url: https://api.aevo.xyz description: Aevo Exchange production server security: - AevoKey: [] AevoSecret: [] tags: - name: Market Data description: Public market data endpoints paths: /orderbook: get: tags: - Market Data summary: Get orderbook description: Returns the orderbook for a given instrument symbol including bids, asks, and implied volatility. operationId: getOrderbook parameters: - name: instrument_name in: query required: true description: Instrument name. schema: type: string example: ETH-30JUN23-1600-C responses: '200': description: Orderbook snapshot content: application/json: schema: type: object properties: type: type: string example: snapshot instrument_id: type: string description: Numeric instrument identifier instrument_name: type: string example: ETH-30JUN23-1600-C instrument_type: type: string enum: - OPTION - PERPETUAL - SPOT bids: type: array description: Array of [price_USD, contract_amount, IV] items: type: array items: type: string asks: type: array description: Array of [price_USD, contract_amount, IV] items: type: array items: type: string last_updated: type: string description: Last updated timestamp in UNIX nanoseconds checksum: type: string description: Payload verification checksum '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' /index: get: tags: - Market Data summary: Get index price description: Returns the current index price for a given underlying asset. operationId: getIndex parameters: - name: asset in: query required: true description: Name of underlying asset. schema: type: string example: ETH responses: '200': description: Index price content: application/json: schema: type: object properties: price: type: string example: '1850.50' timestamp: type: string description: UNIX timestamp in nanoseconds example: '1680249600000000000' '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' /index-history: get: tags: - Market Data summary: Get index price history description: Returns historical index price data for a given underlying asset. operationId: getIndexHistory parameters: - name: asset in: query required: true description: Name of underlying asset. schema: type: string example: ETH - name: start_time in: query required: false description: Start time in UNIX nanoseconds. schema: type: integer - name: end_time in: query required: false description: End time in UNIX nanoseconds. schema: type: integer responses: '200': description: Index price history content: application/json: schema: type: object properties: history: type: array items: type: array items: type: string description: '[timestamp, price]' '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' /funding: get: tags: - Market Data summary: Get funding rate description: Returns the current funding rate for a perpetual instrument. operationId: getFunding parameters: - name: instrument_name in: query required: true description: Instrument name. schema: type: string example: ETH-PERP responses: '200': description: Funding rate content: application/json: schema: type: object properties: funding_rate: type: string description: Funding rate in decimals. example: '0.00122' next_epoch: type: string description: Next epoch in UNIX nanoseconds. example: '1680249600000000000' '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' /funding-history: get: tags: - Market Data summary: Get funding rate history description: Returns historical funding rate data for a perpetual instrument. operationId: getFundingHistory parameters: - name: instrument_name in: query required: true description: Instrument name. schema: type: string example: ETH-PERP - name: start_time in: query required: false description: Start time in UNIX nanoseconds. schema: type: integer - name: end_time in: query required: false description: End time in UNIX nanoseconds. schema: type: integer - name: limit in: query required: false description: Number of results to return. schema: type: integer default: 50 responses: '200': description: Funding rate history content: application/json: schema: type: object properties: funding_history: type: array items: type: array items: type: string description: '[timestamp, funding_rate]' '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' /mark-history: get: tags: - Market Data summary: Get mark price history description: Returns historical mark price data for a given instrument. operationId: getMarkHistory parameters: - name: instrument_name in: query required: true description: Instrument name. schema: type: string - name: start_time in: query required: false schema: type: integer - name: end_time in: query required: false schema: type: integer responses: '200': description: Mark price history content: application/json: schema: type: object properties: mark_history: type: array items: type: array items: type: string '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' /settlement-history: get: tags: - Market Data summary: Get settlement history description: Returns historical settlement price data. operationId: getSettlementHistory parameters: - name: asset in: query required: false schema: type: string example: ETH - name: start_time in: query required: false schema: type: integer - name: end_time in: query required: false schema: type: integer responses: '200': description: Settlement history content: application/json: schema: type: object properties: settlement_history: type: array items: type: object '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' /options-history: get: tags: - Market Data summary: Get options history description: Returns historical options trading data. operationId: getOptionsHistory parameters: - name: asset in: query required: false schema: type: string example: ETH - name: start_time in: query required: false schema: type: integer - name: end_time in: query required: false schema: type: integer - name: limit in: query required: false schema: type: integer default: 50 responses: '200': description: Options history content: application/json: schema: type: object properties: options_history: type: array items: type: object '400': $ref: '#/components/responses/BadRequest' '429': $ref: '#/components/responses/RateLimited' '500': $ref: '#/components/responses/InternalError' components: responses: InternalError: description: Internal server error content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' RateLimited: description: Rate limit exceeded content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' BadRequest: description: Malformed request content: application/json: schema: $ref: '#/components/schemas/ErrorResponse' schemas: ErrorResponse: type: object properties: error: type: string example: ERR_MALFORMED_REQUEST securitySchemes: AevoKey: type: apiKey in: header name: AEVO-KEY description: API key obtained from Aevo account settings AevoSecret: type: apiKey in: header name: AEVO-SECRET description: API secret obtained from Aevo account settings