跳轉至

限價單

限價單讓您指定想要買入或賣出的確切價格。訂單停留在訂單簿上,直到成交、取消或到期。

前提條件

掛限價單前,您需要:

  1. 充值到 Vault — 限價單和 VL 訂單需要抵押品。預存款可減少資金不足失敗,但不能保證結算。
  2. 自行發送交易的 Gas — 錢包發送的 approve、充值、提款交易需要網絡 Gas;結算由 relayer 執行者發送。

Bid(買單)

買單指定:

  • 價格 — 您願意為每單位支付的最高價格
  • 數量 — 您想要買入的數量
  • 交易對識別 — from_address 是市場的基礎代幣(您想買入的代幣),to_address 是市場的報價代幣(用來為市場定價的代幣)

範例:「以每 XSGD 0.7450 USDC 的價格買入 1000 XSGD」

Ask(賣單)

賣單指定:

  • 價格 — 您願意接受的每單位最低價格
  • 數量 — 您想要賣出的數量
  • 交易對識別 — from_address 仍然是市場的基礎代幣,to_address 仍然是報價代幣

範例:「以每 XSGD 0.7460 USDC 的價格賣出 500 XSGD」

對於所有限價單:

  • bid 用 to_address 買入 from_address
  • ask 賣出 from_address,換取 to_address
  • 請使用 GET /tokens 回傳的代幣合約地址;人類可讀交易對標籤則來自 GET /markets

擔保品機制

資產保管在鏈上 Vault。下單通過鏈下賬務把金額從 available 移到 frozen 來預留抵押品。結算更新鏈上賬本;確認取消或恢復結果後更新預留。判斷能否再下單時,應查看 vault_spendable 及恢復/同步字段,詳見餘額。

Gas 費用

結算交易消耗 EVM Gas,由 relayer 執行者簽名並廣播,其錢包支付鏈上網絡費。限價單所有者無需僅為該筆結算在自己的錢包中持有 ETH。用戶可見費用以報價和 settlement_economics.fees_paid 為準,這不表示所有部署都承諾免費交易。用戶自行發送的 approve、充值、提款等交易仍需支付網絡 Gas。

訂單到期

訂單必須包含到期時間戳 — 一個未來的 Unix 時間戳,超過此時間後訂單將無法再被配對。

  • 每筆已簽名訂單都必須提供 expiration
  • 當 expiration <= now 時,API 會直接拒絕
  • 超過「目前伺服器時間 + 365 天 - 300 秒時鐘偏差保護」的值也會被拒絕

建構訂單時請先讀取 GET /system/time,並留出一點客戶端緩衝,不要在邊界時間上簽名。

取消訂單

如果訂單尚未完全成交,可以隨時取消。取消部分成交的訂單會將未成交部分退回您的 Vault 餘額。

  • 單筆取消 — POST /orders/cancel,附上 EIP-712 CancelOrder 簽名
  • 全部取消 — POST /orders/cancel-all(需要 API key)

Note

下單後存在撤單冷卻期(預設 300 秒,可按部署配置)。命中時回傳 429;當前實現沒有高頻帳戶豁免。

API 參考

操作 端點 驗證
掛單 POST /orders EIP-712 簽名
取消訂單 POST /orders/cancel EIP-712 簽名
全部取消 POST /orders/cancel-all API Key + EIP-712 CancelAll
取得訂單 GET /orders/{id} API Key
列出訂單 GET /orders API Key

完整的請求/回應細節請參閱訂單端點。

簽名前請使用訂單預覽取得規範數量/價格字串和 raw 簽名欄位。批量取消還需要 nonce 與 deadline,詳見訂單端點。