跳到主要内容

写操作(39 Action)

统一入口:POST /api/v1/action · JSON-RPC 2.0 · 禁止 batch 所有数值字段在 action 内走 canonical decimal string(ADR-0026 §D) method 必须与签名 envelope 内 Action tag 一致 生产 Base URL: https://rpc.auroran.io


目录


1. 请求格式

{
"jsonrpc": "2.0",
"id": 1,
"method": "PlaceOrder",
"params": {
"envelope": {
"chain_id": 1,
"domain_chain_id": 1,
"action_version": 2,
"nonce": 42,
"signer": "0x1111222233334444555566667777888899990000",
"credential": {
"Secp256k1": {
"signature": [27, 95, 83, 94, "..."]
}
},
"action": {
"PlaceOrder": {
"owner": "0x1111222233334444555566667777888899990000",
"symbol": "BTC-USDT",
"side": "Bid",
"limit_price": "97100.00",
"qty": "1.00000",
"tif": "Gtc",
"client_order_id": "my-cloid-1",
"reduce_only": false
}
}
}
}
}

安全约束method(JSON-RPC 外层)必须等于 params.envelope.action 的变体名(如 "PlaceOrder"),否则返回 -32602分发权威永远是签名后的 envelope.actionmethod 不进签名摘要

1.1 Action 中的数值格式

所有数值字段在 action 内均使用 canonical decimal string

语义精度示例
价格(limit_price / trigger_price / mark_price 等)市场 price_decimals"97100.00"
数量(qty / amount)市场 size_decimals"1.50000"
余额 / 保证金 / 费率 / 名义值SCALE_6"5000.000000"

2. 签名算法

2.1 L1 通道(36 个交易/管理操作)

适用于除 WithdrawRequest / RegisterAgent / RevokeAgent 外的全部 Action。

L1 通道使用 phantom EIP-712 类型 L1Action(string source,bytes32 connectionId)。服务端不生成、不持有 typed data JSON——签名端自行按以下原语重建 digest,再对 digest 做 secp256k1 签名。

所需参数(从节点运维方获取):

参数来源说明
chain_idChainConfig.chain_id网络标识(如 Mainnet=1, Testnet=2)
network_tagChainConfig.signing_network_tagL1 phantom 类型的 source 字段(如 "Mainnet"
noncegetAccount 查询账户当前 nonce
action业务构造Action 对象(externally-tagged JSON)

Step 1 — msgpack 序列化 action 并计算 connectionId

msgpack_bytes = rmp_serde::to_vec_named(&action)
connectionId = keccak256(msgpack_bytes || nonce.to_be_bytes(8))

msgpack 编码细节(rmp_serde named-map 模式,确定性保证):

  • i128 → msgpack integer(定长)
  • Option::None → msgpack nil
  • Enum → msgpack map(外部 tag,key=变体名字符串,value=内层 map)
  • Address20 → 20 字节 bin
  • String/str → msgpack str
  • bool → msgpack bool
  • u32/u64 → 对应 msgpack integer

关键:action 序列化必须使用 msgpackrmp_serde::to_vec_named),而非 JSON。msgpack canonical 字节即协议,golden 锁定、跨语言可复现。使用 JSON 序列化将导致签名验证失败。

Step 2 — 构建 EIP-712 domain separator

typeHash_domain = keccak256(b"EIP712Domain(string name,string version,uint256 chainId,address verifyingContract)")

domain = keccak256(
typeHash_domain
|| keccak256(b"ZeptoSignTransaction") // enc_string("ZeptoSignTransaction")
|| keccak256(b"1") // enc_string("1")
|| pad32(chain_id.to_be_bytes()) // enc_uint(chain_id)
|| pad32_left([0u8; 20]) // enc_address(0x0000...0000)
)

Step 3 — 构建 L1Action struct hash

typeHash_l1 = keccak256(b"L1Action(string source,bytes32 connectionId)")

struct_hash = keccak256(
typeHash_l1
|| keccak256(network_tag.as_bytes()) // enc_string(network_tag)
|| connectionId // enc_bytes32(connectionId)
)

Step 4 — EIP-712 最终摘要

digest = keccak256(0x19 || 0x01 || domain || struct_hash)

Step 5 — 签名

对 32 字节 digest 做 secp256k1 recoverable 签名(v ∈ {27, 28}),得到 65 字节 [v, r_0..r_31, s_0..s_31]。填入 credential.Secp256k1.signature(JSON 字节数组)。

2.2 EIP-712 通道(3 个敏感操作)

适用于 WithdrawRequest / RegisterAgent / RevokeAgent。详见 §3

由钱包 eth_signTypedData_v4 直接处理 EIP-712 签名。domain 与 L1 通道相同(ZeptoSignTransactionchainId=chain_id),但 primary type 和 message 按 Action 不同。签名结果仍是 65 字节 secp256k1,填入 credential.Secp256k1.signature(JSON 字节数组)。


3. EIP-712 签名通道

三种敏感操作走 EIP-712 typed data 签名通道,对标 Hyperliquid 的 hyperliquidChain 模式。钱包通过 eth_signTypedData_v4 对结构化数据进行签名。

3.1 Domain

所有 User-Signed 操作共用同一 EIP-712 domain。chainIddomain_chain_id(即用户钱包当前连接的 EVM 网络 ID,如 Ethereum Mainnet=1、BSC=56),确保钱包签名时不报 chainId 不匹配:

{
"types": {
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{ "name": "verifyingContract", "type": "address" }
]
},
"domain": {
"name": "ZeptoSignTransaction",
"version": "1",
"chainId": 1,
"verifyingContract": "0x0000000000000000000000000000000000000000"
}
}
域字段说明
name"ZeptoSignTransaction"固定
version"1"Domain 版本
chainIdChainConfig.chain_idZepto 链 ID
verifyingContract0x0000...0000零地址(链上无验证合约)

3.2 WithdrawRequest

Primary type: Withdraw(string zeptoChain,address owner,string amount,string chain,uint64 nonce)

字段类型说明
zeptoChainstring链标识(如 "Mainnet"),密码学绑定防跨链
owneraddress提现账户地址
amountstring提现金额 canonical 小数串(SCALE_6,如 "100.500000"
chainstring用户选择的下提目标链(如 "bsc"),密码学绑定防跨链重放
nonceuint64账户 nonce
{
"types": {
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{ "name": "verifyingContract", "type": "address" }
],
"Withdraw": [
{ "name": "zeptoChain", "type": "string" },
{ "name": "owner", "type": "address" },
{ "name": "amount", "type": "string" },
{ "name": "chain", "type": "string" },
{ "name": "nonce", "type": "uint64" }
]
},
"primaryType": "Withdraw",
"domain": {
"name": "ZeptoSignTransaction",
"version": "1",
"chainId": 1,
"verifyingContract": "0x0000000000000000000000000000000000000000"
},
"message": {
"zeptoChain": "Mainnet",
"owner": "0x1111222233334444555566667777888899990000",
"amount": "100.500000",
"chain": "bsc",
"nonce": 42
}
}

3.3 RegisterAgent

Primary type: RegisterAgent(string zeptoChain,address owner,address agentAddress,uint64 roleMask,uint64 expiresAtMs,uint64 nonce)

字段类型说明
zeptoChainstring链标识(如 "Mainnet"
owneraddressMaster 账户地址
agentAddressaddress被授权的 secp256k1 API-wallet 地址
roleMaskuint64授予 agent 的角色位掩码(1 = Trader)
expiresAtMsuint64过期时间(毫秒);0 = 永不过期
nonceuint64账户 nonce
{
"types": {
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{ "name": "verifyingContract", "type": "address" }
],
"RegisterAgent": [
{ "name": "zeptoChain", "type": "string" },
{ "name": "owner", "type": "address" },
{ "name": "agentAddress", "type": "address" },
{ "name": "roleMask", "type": "uint64" },
{ "name": "expiresAtMs", "type": "uint64" },
{ "name": "nonce", "type": "uint64" }
]
},
"primaryType": "RegisterAgent",
"domain": {
"name": "ZeptoSignTransaction",
"version": "1",
"chainId": 1,
"verifyingContract": "0x0000000000000000000000000000000000000000"
},
"message": {
"zeptoChain": "Mainnet",
"owner": "0x1111222233334444555566667777888899990000",
"agentAddress": "0xaaaa111122223333444455556666777788889999",
"roleMask": 1,
"expiresAtMs": 0,
"nonce": 42
}
}

3.4 RevokeAgent

Primary type: RevokeAgent(string zeptoChain,address owner,address agentAddress,uint64 nonce)

字段类型说明
zeptoChainstring链标识(如 "Mainnet"
owneraddressMaster 账户地址
agentAddressaddress待撤销的 agent 地址
nonceuint64账户 nonce
{
"types": {
"EIP712Domain": [
{ "name": "name", "type": "string" },
{ "name": "version", "type": "string" },
{ "name": "chainId", "type": "uint256" },
{ "name": "verifyingContract", "type": "address" }
],
"RevokeAgent": [
{ "name": "zeptoChain", "type": "string" },
{ "name": "owner", "type": "address" },
{ "name": "agentAddress", "type": "address" },
{ "name": "nonce", "type": "uint64" }
]
},
"primaryType": "RevokeAgent",
"domain": {
"name": "ZeptoSignTransaction",
"version": "1",
"chainId": 1,
"verifyingContract": "0x0000000000000000000000000000000000000000"
},
"message": {
"zeptoChain": "Mainnet",
"owner": "0x1111222233334444555566667777888899990000",
"agentAddress": "0xaaaa111122223333444455556666777788889999",
"nonce": 42
}
}

3.5 字段编码约定

EIP-712 类型编码方式对应 Rust 字段
stringkeccak256(utf8_bytes)StringzeptoChainamount
address左补 12 零字节 → 32 字节Address20owneragentAddress
uint64大端 8 字节,高位补零 → 32 字节u64nonceroleMaskexpiresAtMs

4. 响应格式

4.1 成功(accepted)

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tx_hash": "0xa1b2...",
"height": 12346,
"envelope_idx": 3,
"signer": "0x1111222233334444555566667777888899990000",
"nonce": 42,
"action": { "PlaceOrder": { ... } },
"status": "accepted",
"events": [
{ "seq": 0, "block_height": 12346, "envelope_idx": 3,
"kind": { "Exec": { "OrderAccepted": { "order_id": 1001, "market_id": 1, ... } } } }
]
}
}

4.2 业务拒绝(kept-reject)

{
"jsonrpc": "2.0",
"id": 1,
"result": {
"tx_hash": "0x...",
"height": 12346,
"envelope_idx": 0,
"signer": "0x...", "nonce": 43,
"action": { "PlaceOrder": { ... } },
"status": "kept-reject",
"reason": { "InsufficientBalance": { "required": 5000000000, "have": 3000000000 } },
"events": [{
"kind": { "Core": { "Rejected": { "action_kind": "PlaceOrder", "reason": { "InsufficientBalance": { "required": "5000.000000", "have": "3000.000000" } } } } }
}]
}
}

关键差异result.reason 中的数值字段为 raw i128(如 5000000000),未做 decimal 投影。同一笔交易 result.events[] 中的对应 Rejected 事件已经过 ADR-0026 投影为 decimal string(如 "5000.000000")。对接方解析 reason 时须自行按精度转换。

4.3 响应字段

字段类型说明
tx_hashTxHash32 字节 hex,0x 前缀
heightu64落块高度
envelope_idxu32块内序号
signerAddress20签名者 master 地址
nonceu64本笔交易的 nonce
actionValue原始 Action JSON
statusTxStatus"accepted" · "kept-reject"
reasonRejectReason?仅 kept-reject;externally-tagged 枚举,数值为 raw i128
eventsValue[]事件投影(数值字段为 decimal string)

5. 交易

5.1 PlaceOrder

下单。limit_price 按价格精度、qty 按数量精度。

参数类型必填精度说明
ownerAddress20下单账户地址
symbolString交易对名,如 "BTC-USDT"
sideSide"Bid" 买 · "Ask"
limit_priceStringpx_decimals限价(decimal string)
qtyStringsz_decimals下单数量(decimal string)
tifTimeInForce"Gtc" · "Ioc" · "Fok" · "PostOnly"
client_order_idString?客户端订单 ID(对账用)
reduce_onlybool仅减仓(不增加净持仓方向)
expires_at_msu64?GTD 过期时刻(毫秒);null = GTC 长挂

杠杆说明PlaceOrder 不携带杠杆字段。杠杆是仓位的属性,通过 SetLeverage 设置。

5.2 CancelOrder

撤单。定位方式二选一。

参数类型必填说明
ownerAddress20挂单账户地址
symbolString条件cloid 路径必填;order_id 路径可省
order_idu64条件系统订单 ID(与 client_order_id 互斥)
client_order_idString条件客户端订单 ID(与 order_id 互斥,需同时提供 symbol

5.3 AmendOrder

改单。定位方式二选一(order_id / client_order_id)。所有 new_* 字段为选填——仅更新提供的字段。

参数类型必填精度说明
ownerAddress20挂单账户地址
symbolString交易对名
order_idu64条件系统订单 ID(与 client_order_id 互斥)
client_order_idString条件客户端订单 ID(与 order_id 互斥)
new_limit_priceString?px_decimals新限价
new_qtyString?sz_decimals新总数量(含已成交部分)
new_tifTimeInForce?新 TIF
new_reduce_onlybool?新 reduce_only

5.4 MassCancel

批量撤单。

参数类型必填说明
ownerAddress20挂单账户地址
symbolString交易对名
scopeMassCancelScope撤销范围:"Owner"(全部) · {"Side":"Bid"}(按方向) · {"Ids":[1,2,3]}(按 ID 列表)

5.5 ClosePosition

主动平仓(语法糖——构造 reduce_only + Ioc 的 PlaceOrder)。

参数类型必填精度说明
ownerAddress20持仓账户地址
symbolString交易对名
qtyString?sz_decimals平仓数量;null = 全平
limit_priceString?px_decimals限价;null = 市价
tifTimeInForce?TIF;null = Ioc
client_order_idString?客户端订单 ID

5.6 ScheduleCancel

Dead-Man-Switch(断线全撤)。设置未来截止时刻,到期且未刷新则全市场全撤。

参数类型必填说明
ownerAddress20账户地址
trigger_time_msu64?截止时刻(毫秒);null = 关闭 DMS

6. 批量交易

6.1 BatchPlaceOrder

一签多单。子项顺序执行、逐条回执,单条失败只回滚该子项并 emit BatchItemRejected

参数类型必填说明
ordersPlaceOrderActionWire[]下单列表(每项字段同 PlaceOrder

6.2 BatchModify

一签多改单。子项顺序执行、逐条回执。

参数类型必填说明
modifiesAmendOrderActionWire[]改单列表(每项字段同 AmendOrder

7. 保证金管理

7.1 SetLeverage

设置某市场的杠杆倍数。修改后自动重算所有保证金,不足则拒。

参数类型必填说明
ownerAddress20账户地址
symbolString交易对名
leverageu32杠杆倍数(1 ≤ leverage ≤ 市场 max_leverage)

7.2 SetMarginMode

切换 Cross ↔ Isolated(须 flat + 无挂单)。

参数类型必填说明
ownerAddress20账户地址
symbolString交易对名
margin_modeMarginMode"Cross" · "Isolated"

7.3 SetIsolatedMargin

逐仓保证金划入/划出。

参数类型必填精度说明
ownerAddress20账户地址
symbolString交易对名
amountStringSCALE_6金额(正=划入逐仓,负=划出回 balance)

8. 清算

8.1 Liquidate

清算指定账户在指定市场的仓位。signer 须持 Liquidator 角色。

参数类型必填说明
targetAddress20被清算账户地址
symbolString交易对名

9. 预言机报价

9.1 SubmitOracleQuote

提交 Book B 盘口报价。signer 须持 Quoter 角色。

参数类型必填精度说明
quoterAddress20报价者地址
symbolString交易对名
bid_priceStringpx_decimals买一价
ask_priceStringpx_decimals卖一价
mark_priceStringpx_decimals标记价
source_ts_msu64报价源时间戳(毫秒)
sequence_idu64报价序列号(严格递增)
last_priceStringpx_decimals外部最新成交价
volumeStringsz_decimals外部成交量增量

9.2 BatchSubmitOracleQuote

一签多 quote。子项顺序执行、逐条回执。

参数类型必填说明
quotesSubmitOracleQuoteActionWire[]报价列表(每项字段同 SubmitOracleQuote

10. 市场管理

全部 master-only(必须 master 直签,agent 一律拒)。

10.1 CreateMarket

创建市场。

参数类型必填说明
configMarketConfigWire完整市场配置(详见 §15 MarketConfigWire schema

10.2 ActivateMarket / HaltMarket / ResumeMarket

市场生命周期操作。|| 参数 | 类型 | 必填 | 说明 |

参数类型必填说明
symbolString交易对名
  • ActivateMarketCreated → Active
  • HaltMarketActive → Halted
  • ResumeMarketHalted → Active

10.3 RequestDelist / CompleteDelist

下市操作。

参数类型必填说明
symbolString交易对名
  • RequestDelistActive\|Halted → DelistPending
  • CompleteDelistDelistPending → Delisted(强制清退残留持仓)

10.4 SetFeeRecipient

修改市场手续费接收账户。

参数类型必填说明
symbolString交易对名
recipientAddress20新的手续费接收账户地址

10.5 AmendMarketConfig

运行时调整市场风险/费率参数。所有字段为选填——仅更新提供的字段。

参数类型必填精度说明
symbolString交易对名
max_leverageu32?市场级最大杠杆
maker_fee_rateString?SCALE_6Maker 费率
taker_fee_rateString?SCALE_6Taker 费率
margin_tableMarginTierWire[]?SCALE_6保证金分层表(整表替换,须升序)
mark_max_change_bpsu32?mark 单次最大相对偏离(bps;0=不限制)

10.6 SetEmergencyHalt

紧急熔断开关。

参数类型必填说明
symbolString交易对名
haltbooltrue 熔断 · false 恢复

11. Bridge 充提

11.1 RecordDeposit

登记链外到账单。signer 须持 SettlementOperator 角色。

参数类型必填精度说明
external_refObject外部链充值引用 { "chain": "bsc" | "admin" | ..., "seq": u64 }
tx_hash[u8;32]?BSC 充值 tx_hash(JSON 序列化为字节数组)
accountAddress20入账目标账户
amountStringSCALE_6充值金额(> 0)
bsc_blocku64BSC 区块号(管理员补 0)
bsc_tsu64BSC 区块时间戳秒(管理员补 0)

充值序号由链上自增分配(非外部传入)。external_ref 为去重键,同 (chain, seq) 重复提交将被拒绝。管理员充值使用 chain = "admin",同样参与去重。

11.2 CreditDeposit

对已登记的充值执行入账。

参数类型必填说明
sequ64待入账充值单的链上序号(= RecordDeposit 时分配的 seq,从 DepositRecorded 事件获取)

11.3 WithdrawRequest

用户发起提现。User-Signed EIP-712 通道(见 §3.2)。

参数类型必填精度说明
zepto_chainString链标识(如 "Mainnet"),密码学绑定
ownerAddress20提现账户地址
amountStringSCALE_6提现金额(> 0)
chainString用户选择的下提目标链(如 "bsc"),链外提款程序据此适配处理

EIP-712 签名包含 chain 字段,防止跨链重放。

11.4 WithdrawSettle

标记提现单已链下放款成功。signer 须持 SettlementOperator 角色。

参数类型必填说明
request_idu64提现请求 ID
external_txObject{"tx_hash": [u8;32], "bsc_block": u64, "bsc_ts": u64}

11.5 WithdrawRefund

标记提现单退款。signer 须持 SettlementOperator 角色。

参数类型必填说明
request_idu64提现请求 ID
reason_codeu8退款原因码(操作员自定义)

11.6 SetSettlementPaused

全局充提结算闸门。signer 须持 Admin 角色。

参数类型必填说明
pausedbooltrue 暂停 · false 恢复

12. 账户管理

12.1 SetAccountRole

修改账户角色。Master-only。

参数类型必填说明
targetAddress20目标账户地址
roleAccountRole角色:"Trader"/"OracleOperator"/"SettlementOperator"/"Admin"/"Liquidator"/"Quoter"
grantedbooltrue 授予 · false 撤销

12.2 RegisterAgent

授权 API-wallet agent。User-Signed EIP-712 通道(见 §3.3)。Master-only。

参数类型必填说明
zepto_chainString链标识(如 "Mainnet"
ownerAddress20Master 账户地址(须 = envelope.signer)
agent_addressAddress20被授权的 secp256k1 API-wallet 地址
role_masku64角色位掩码(须 ⊆ owner.role_mask)
expires_at_msu64过期时间(毫秒);0 = 永不过期

12.3 RevokeAgent

撤销已注册的 API-wallet agent。User-Signed EIP-712 通道(见 §3.4)。Master-only。

参数类型必填说明
zepto_chainString链标识(如 "Mainnet"
ownerAddress20Master 账户地址(须 = envelope.signer)
agent_addressAddress20待撤销的 agent 地址

13. 手续费与推荐

13.1 SetUserFeeRate

设置账户级自定义费率。signer 须持 Admin 角色。

参数类型必填精度说明
ownerAddress20目标账户地址
maker_fee_rateString?SCALE_6Maker 费率;null = 清除(回退市场默认)
taker_fee_rateString?SCALE_6Taker 费率;null = 清除(回退市场默认)

13.2 SetReferrer

绑定推荐码。signer 须持 Trader 角色。每个账户只能绑定一次。

参数类型必填说明
ownerAddress20被推荐人地址
codeString已注册的推荐码(不能自荐)

13.3 RegisterReferrer

注册自己的推荐码。signer 须持 Trader 角色。

参数类型必填说明
ownerAddress20推荐人地址
codeString推荐码(全局唯一,格式合法)

14. 高级订单(触发单 / OCO)

14.1 PlaceTriggerOrder

提交触发单(stop-loss / take-profit)。触发前不预扣保证金,触发那一刻才走 PlaceOrder 路径。

参数类型必填精度说明
ownerAddress20账户地址
symbolString交易对名
trigger_priceStringpx_decimals触发线
trigger_directionTriggerDirection"Above" · "Below"
payloadTriggerOrderPayloadWire触发后提交的订单(见下)
expires_at_msu64?触发单过期时刻(毫秒);null = 永不过期

TriggerOrderPayloadWirepayload 字段,externally-tagged):

Market 变体(市价触发):

字段类型必填精度说明
sideSide"Bid" · "Ask"
qtyStringsz_decimals下单数量
reduce_onlybool仅减仓
client_order_idString?客户端订单 ID

Limit 变体(限价触发):

字段类型必填精度说明
sideSide"Bid" · "Ask"
limit_priceStringpx_decimals限价
qtyStringsz_decimals下单数量
tifTimeInForceTIF
reduce_onlybool仅减仓
client_order_idString?客户端订单 ID

14.2 CancelTriggerOrder

撤销触发单。

参数类型必填说明
ownerAddress20账户地址
trigger_idu64触发单 ID

14.3 PlaceOco

原子提交 OCO 组合单(一对二:一个被执行则另一个自动撤销)。

参数类型必填说明
ownerAddress20账户地址
executionOcoExecutionWireOCO 腿配置(见下)
client_pair_idu64?客户端 OCO ID

OcoExecutionWireexecution 字段,externally-tagged):

TwoLimits 变体(两个限价单互斥):

字段类型必填说明
primaryOcoLimitLegWire主腿
secondaryOcoLimitLegWire副腿

StopAndLimit 变体(触发单 + 限价单):

字段类型必填说明
stop_legOcoStopLegWire触发腿
limit_legOcoLimitLegWire限价腿

OcoLimitLegWire

字段类型必填精度说明
symbolString交易对名
sideSide"Bid" · "Ask"
limit_priceStringpx_decimals限价
qtyStringsz_decimals数量
tifTimeInForceTIF
reduce_onlybool仅减仓
client_order_idString?客户端订单 ID
expires_at_msu64?GTD 过期时刻

OcoStopLegWireStopAndLimit 的触发腿):

字段类型必填精度说明
symbolString交易对名
sideSide"Bid" · "Ask"
qtyStringsz_decimals数量
trigger_priceStringpx_decimals触发线
trigger_directionTriggerDirection"Above" · "Below"
reduce_onlybool仅减仓
client_trigger_idu64?客户端触发 ID
expires_at_msu64?GTD 过期时刻

14.4 CancelOco

撤销 OCO 组合单。

参数类型必填说明
ownerAddress20账户地址
pair_idu64OCO pair ID

15. MarketConfigWire schema

CreateMarketconfig 字段类型,也用于 getMarket 响应中的 config

字段类型精度说明
symbolString交易对名
kindMarketKind"Native" CLOB · "ExternalPeg" 预言机
price_decimalsu32价格小数位(MARK_PRICE_DECIMALS - size_decimals
size_decimalsu32数量小数位
fee_recipientAddress20手续费接收账户
max_leverageu32市场级最大杠杆
maker_fee_rateStringSCALE_6Maker 手续费率
taker_fee_rateStringSCALE_6Taker 手续费率
margin_tableMarginTierWire[]SCALE_6保证金分层表(见下)
mark_max_change_bpsu32mark 单次最大偏离(bps;0=不限制)
max_fills_per_quoteu32每次报价最大成交笔数
price_floorStringpx_decimals价格下限
price_ceilStringpx_decimals价格上限

MarginTierWiremargin_table 的元素):

字段类型精度说明
max_notionalStringSCALE_6该 tier 的名义值上限(最后一个 tier 可为超大值表示无上限)
im_rateStringSCALE_6初始保证金率
mm_rateStringSCALE_6维持保证金率
max_leverageu32该 tier 内的最大杠杆