输入/搜索内容
内置函数
结构体
内置变量与常量
通用约定
交易所
能力矩阵
中心化交易所
去中心化交易所
Hyperliquid
Lighter
edgeX
Aster
Aevo
Pendle
WOOFi Pro
Uniswap / PancakeSwap
Aerodrome / Velodrome
KyberSwap
1inch
EVM DEX通用指令
Jupiter
OKX DEX
DEX策略示例
预测市场
证券与期货
链上与自定义接入

USDC永续合约与USDC期权。查询、撤单、设置杠杆使用API Key签名;下单、改单、条件单还要用注册在Aevo账户上的签名密钥(配置项「Signing Key」)对订单做EIP-712签名。

名称与配置

exchange.GetName():Futures_Aevo(期货)。

配置项必填说明
Access Key是Aevo的API Key,作为私有接口的AEVO-KEY请求头。
Secret Key是Aevo的API Secret,用于私有接口的HMAC-SHA256签名。
Signing Key是Aevo账户上注册的EIP-712签名私钥(0x加64位十六进制),用于下单、改单和条件单。(详见表下)

表中长说明的其余部分:

  • Signing Key:在Aevo的设置页(https://app.aevo.xyz/settings,不是API Keys页)生成,生成1周后自动失效,失效后需要重新生成并更新这一项。没有填写时下单、改单、创建条件单报错,查询、撤单、设置杠杆不受影响;也可以运行时用exchange.IO("signingKey", key)设置。

交易对与合约代码

交易对示例:BTC_USDC、ETH_USDC

Aevo以USDC计价和结算,交易对写作ETH_USDC;计价币写成USDC以外的币会报错。

合约代码说明
swap永续合约(交易所代码ETH-PERP),完整品种代码形如ETH_USDC.swap。

Aevo没有交割合约,除swap与期权代码外的合约代码都会报错。

专属IO指令
指令参数说明返回值
signingKeystring设置本交易所对象下单用的EIP-712签名私钥(0x加64位十六进制),覆盖配置项「Signing Key」,只在本次运行中有效。签名密钥在Aevo网页创建API Key时生成并注册到账户,有有效期,过期后需要重新生成。该私钥对应的钱包地址,可以与Aevo网页上的签名密钥列表核对;私钥格式不对时报错。调用时不检查是否已注册,未注册的密钥在下单时报错。
apimethod, path[, params[, raw[, sign]]]直接调用Aevo接口。(详见表下)交易所的原始应答;应答带error时报错。

表中长说明的其余部分:

  • api:公开路径(/markets、/statistics、/orderbook、/instrument/...、/funding、/coingecko-statistics,path是完整URL时按其中的路径判断)默认不签名,其它路径默认用API Key签名(AEVO-KEY、AEVO-SIGNATURE等请求头);sign传true/false(也可以直接作为第4个参数)强制签名或不签名。GET的参数编入查询串,其它方法以JSON请求体发送(保留数字、布尔类型)。raw不是请求体而是参数表(JSON对象、JSON字符串或a=1&b=2),非空时整体替换params。不会替调用方对订单做EIP-712签名。

通用指令base、currency见exchange.IO。

常用用法
用api查询行情与账户,并换用另一个签名密钥
javascript
function main() { // 公开路径默认不签名 var q = {asset: "ETH", instrument_type: "PERPETUAL"} var markets = exchange.IO("api", "GET", "/markets", q) Log(markets[0].instrument_name, "标记价格:", markets[0].mark_price) // 其它路径默认用API Key签名 var account = exchange.IO("api", "GET", "/account") Log("可用余额:", account.available_balance, "持仓数:", account.positions.length) // 换用另一个已注册的签名密钥,只在本次运行中有效;返回该密钥对应的钱包地址, // 可以与Aevo网页上的签名密钥列表核对 var addr = exchange.IO("signingKey", "0x...") // 换成签名密钥私钥 Log("签名密钥地址:", addr) }

函数支持差异

不支持(调用时报错并返回空值):exchange.GetTickers。

以回退方式支持:

  • exchange.GetRecords:交易所没有K线接口,由托管者用成交记录合成:首次调用只有最近成交覆盖的少量K线,随调用逐步累积。合约没有成交时为空。

保证金、账户与模拟盘

保证金模式:Aevo是统一保证金账户,没有全仓/逐仓切换指令;exchange.GetPositions()的保证金模式按交易所返回(持仓的margin_type,缺省时取账户里该合约的设置),没有逐合约设置的期权持仓为全仓。exchange.SetMarginLevel()按永续合约设置杠杆,期权不支持。持仓的MarginLevel为该合约的杠杆倍数(持仓的leverage,缺省时取账户里该合约的设置;期权为0),Margin为持仓占用的初始保证金(initial_margin)。

持仓模式:只有单向(净)持仓,没有双向持仓。平仓单(closebuy、closesell)以只减仓(reduce-only)方式下单。

账户:exchange.GetAccount()的Balance为USDC可用余额,FrozenBalance为占用的初始保证金,Equity为账户权益;USDC以外的抵押品在exchange.GetAssets()中逐币列出。

期权

支持Aevo的USDC期权,下单、撤单、查询与永续走同一套接口。限制:

  • exchange.GetMarkets()的结果包含期权合约(只列出交易中的合约),exchange.SetContractType()按其中的代码校验。
  • exchange.GetTicker()的Last为标记价格;无人报价时Buy、Sell为0;Open、High、Low为0。
  • 不支持exchange.SetMarginLevel()、exchange.GetFundings()。
  • 价格和数量按6位小数定点签名,小于0.000001的非零价格或数量会报错。

期权代码示例:ETH-30JUN23-1600-C、ETH-24SEP27-2800-P

期权代码为Aevo原生代码:标的-到期日(DDMMMYY)-行权价-C/P,C为看涨、P为看跌。期权以USDC结算,交易对设置为标的币加_USDC(标的必须与交易对的交易币一致),完整品种代码形如ETH_USDC.ETH-30JUN23-1600-C。

注意事项
  • 只支持限价单,市价单报错;条件单(止盈、止损)的委托价必须是限价,不支持市价止盈止损和OCO。
  • 下单选项放在最后一个对象参数里:{tif: "ioc"}、{tif: "fok"}、{postOnly: true}分别对应交易所的IOC、FOK和只做Maker;其它键原样并入下单请求体(同名覆盖连接器生成的字段)。
  • exchange.ModifyOrder()、exchange.ModifyConditionOrder()由交易所重新签发订单,返回新的订单号,此后应使用新订单号;exchange.ModifyOrder()沿用原订单的只减仓(reduce-only)属性。交易所对被exchange.ModifyConditionOrder()替换掉的原条件单仍返回挂单状态(实际已不在挂单列表中,撤销会报ORDER_DOES_NOT_EXIST);同一个托管者进程里修改过的条件单,exchange.GetConditionOrder(原订单号)会核对挂单列表并返回已撤销,重启后或在其它进程修改的则按交易所原样返回。
  • 订单查询结果没有成交均价时,exchange.GetOrder()、exchange.GetConditionOrder()对已有成交的订单按交易所成交记录计算AvgPrice(成交量加权,多一次或几次请求),已结束订单的结果会缓存;成交记录尚未生成时AvgPrice为0。
  • 永续合约exchange.GetTicker()的Last为标记价格、Open为24小时前的标记价格,没有最高价、最低价(High、Low为0),Volume为24小时成交张数。
  • 资金费率每小时结算一次;exchange.GetFundings()只返回永续合约。
  • exchange.GetHistoryOrders()、exchange.GetHistoryConditionOrders()只能按单个品种查询,传空字符串(查询全部品种)会报错。