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