Ribbon Finance Market Data API
Public market data endpoints
Public market data endpoints
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