OpenAPI Specification
openapi: 3.0.3
info:
title: Aevo Exchange Private REST Account 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: Account
description: Account management endpoints
paths:
/account:
get:
tags:
- Account
summary: Get account details
description: Returns comprehensive account information including balances, positions, margins, collateral, and API key configuration.
operationId: getAccount
responses:
'200':
description: Account details
content:
application/json:
schema:
$ref: '#/components/schemas/AccountDetails'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
/register:
post:
tags:
- Account
summary: Register signing key
description: Registers a new signing key for order signing.
operationId: postRegister
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account:
type: string
description: Ethereum address
signing_key:
type: string
expiry:
type: string
account_signature:
type: string
responses:
'200':
description: Signing key registered
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalError'
/withdraw:
post:
tags:
- Account
summary: Withdraw funds
description: Initiates a withdrawal from the Aevo exchange.
operationId: postWithdraw
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account:
type: string
amount:
type: string
asset:
type: string
signature:
type: string
salt:
type: string
timestamp:
type: string
responses:
'200':
description: Withdrawal initiated
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'429':
$ref: '#/components/responses/RateLimited'
'500':
$ref: '#/components/responses/InternalError'
/transfer:
post:
tags:
- Account
summary: Transfer funds
description: Transfers funds between accounts or sub-accounts.
operationId: postTransfer
requestBody:
required: true
content:
application/json:
schema:
type: object
properties:
account:
type: string
amount:
type: string
asset:
type: string
receiver:
type: string
responses:
'200':
description: Transfer completed
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'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'
Unauthorized:
description: Unauthorized - missing or invalid authentication
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
BadRequest:
description: Malformed request
content:
application/json:
schema:
$ref: '#/components/schemas/ErrorResponse'
schemas:
AccountDetails:
type: object
properties:
account:
type: string
description: Ethereum address
username:
type: string
email_address:
type: string
account_type:
type: string
enum:
- STANDARD
- MARKET_MAKER
- MANAGED_ACCOUNT
equity:
type: string
balance:
type: string
available_balance:
type: string
available_margin:
type: string
initial_margin:
type: string
maintenance_margin:
type: string
collateral:
type: array
items:
$ref: '#/components/schemas/Collateral'
positions:
type: array
items:
$ref: '#/components/schemas/Position'
in_liquidation:
type: boolean
portfolio:
type: boolean
Collateral:
type: object
properties:
collateral_asset:
type: string
enum:
- USDC
- USDT
- WETH
- WBTC
- aeUSD
- SDAI
- weETH
collateral_value:
type: string
margin_value:
type: string
balance:
type: string
available_balance:
type: string
pending_withdrawals:
type: string
Position:
type: object
properties:
instrument_id:
type: string
instrument_name:
type: string
instrument_type:
type: string
enum:
- OPTION
- PERPETUAL
- SPOT
option:
type: object
properties:
strike:
type: string
option_type:
type: string
enum:
- put
- call
expiry:
type: string
iv:
type: string
delta:
type: string
theta:
type: string
vega:
type: string
rho:
type: string
gamma:
type: string
asset:
type: string
amount:
type: string
side:
type: string
enum:
- buy
- sell
mark_price:
type: string
avg_entry_price:
type: string
unrealized_pnl:
type: string
initial_margin:
type: string
maintenance_margin:
type: string
margin_type:
type: string
enum:
- CROSS
- ISOLATED
adl_rank:
type: string
enum:
- na
- low
- medium
- high
liquidation_price:
type: string
leverage:
type: string
ErrorResponse:
type: object
properties:
error:
type: string
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