跳轉至

限價單

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

前提條件

掛限價單前,您需要:

  1. 將代幣存入 Vault — 您和交易對手方都預先存入 Vault,保證每個配對的訂單都能結算。請參閱 Vault 了解為什麼需要以及它如何運作。
  2. 錢包中有 ETH — 限價單結算在鏈上進行,Gas 以真實 ETH 支付(與兌換不同,兌換的 Gas 包含在報價中)。

Bid(買單)

買單指定:

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

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

Ask(賣單)

賣單指定:

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

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

對於所有限價單:

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

擔保品機制

擔保品完全由鏈上 Vault 智慧合約管理 — Sera 的鏈下服務從不持有或控制您的資金。

當您掛限價單時:

  1. 所需的擔保品在鏈上的 Vault 智慧合約中凍結 — 它仍留在合約中您的地址下,不會轉移給 Sera
  2. 當訂單成交時,收益透過結算合約在鏈上計入您的 Vault 餘額
  3. 如果您取消,凍結的擔保品會釋放回您的可用 Vault 餘額

即使在凍結狀態下,您的代幣仍留在 Vault 合約中,如果 Sera 的鏈下服務不可用,可透過緊急提取取回。

您可以透過 GET /balances 查看可用餘額和凍結餘額。

Gas 費用

限價單在配對時進行鏈上結算。您需要以真實 ETH 支付 Gas — 與兌換不同,Gas 不會被抽象處理。請確保您的錢包中有 ETH 來支付結算交易費用。

Note

在 Sepolia 測試網上,您可以從水龍頭取得免費測試 ETH。

訂單到期

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

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

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

取消訂單

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

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

Note

所有使用者都受 5 分鐘冷卻期限制 — 訂單必須至少存在 5 分鐘後才能取消。

API 參考

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

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