快速開始
Moin.Cash 把驅動官網的同一套兌換引擎以 JSON API 的形式開放。本頁用五次呼叫走完一次完整串接。
1. 建立 API Key
登入後打開主控台的 開發者 → API 金鑰 頁(/home/developer/keys;個人帳戶和你擁有開發者、管理員或所有者角色的企業都能用),點 建立 API 金鑰:
- 串接用 沙箱(
ck_test_…:合成報價、模擬訂單,不觸達任何真實供應商),上線用 正式(ck_live_…); - 保留預設勾選的
exchange:read(幣種、幣對、訂單狀態)與exchange:write(報價、建單)。
建立 Key(沙箱或正式)需先通過你本人的個人身份認證(KYC);通過之前,主控台會先引導你完成認證。
完整 Key 只顯示一次,請存入你的金鑰管理系統。所有商戶請求都帶上:
Authorization: Bearer ck_test_xxxxxxxxxxxxxxxx2. 發現可兌換的資產
GET /cash/v1/merchant/exchange/currencies—— 全部可交易資產,含symbol、network、decimals、contractAddress、routeCount。GET /cash/v1/merchant/exchange/pairs?symbol=USDT&network=bsc—— 某發送資產可達的全部目標,已知時附限額。
3. 取得報價
POST /cash/v1/merchant/exchange/quotes,內容為 { fromSymbol, fromNetwork, toSymbol, toNetwork, fromAmount, type }。type 取 FIXED(鎖價至 expiresAt)或 FLOAT(入金確認時按市場結算)。回應含 quoteId、淨到帳 toAmount、feeBreakdown 與有效限額 commercialSnapshot.limits。
4. 建立訂單
POST /cash/v1/merchant/exchange/orders,帶 quoteId、客戶 receivingAddress 與請求標頭 Idempotency-Key。回應明確告訴你要付什麼:在 expiresAt 前把 paymentAmount 轉到 paymentAddress(memo/tag 網路另有 paymentExtraId)。
5. 追蹤訂單
每 10 秒輪詢 GET /cash/v1/merchant/exchange/orders/{orderId}。status 依次 pending → processing → completed(或 expired / failed)。結算後回填 paymentTxHash、deliveryTxHash、actualFromAmount、actualToAmount。用沙箱 Key 時,可以用模擬器自己推進狀態(見 通用 → 沙箱與模擬器)。
約定
| 主題 | 規則 |
|---|---|
| Base URL | https://api.moin.cash/cash/v1 |
| 回應包 | 成功:{ "ok": true, "data": … };失敗:{ "ok": false, "error": { "code", "message", "details" }, "requestId" },error.code 是穩定的業務碼 |
| 金額 | 一律十進位字串("50"、"145.014285"),禁止浮點數 |
| 時間 | createdAt / expiresAt 為毫秒時間戳;*Iso 為 ISO 8601 |
| 冪等 | 建單必須帶唯一 Idempotency-Key;同 Key 重試回傳同一訂單 |
| 限流 | 報價按 Key 配額;遇 429 請退避 |
| Webhook | 收款(收單)事件會推送到你的回呼地址,見 通用 → Webhook;兌換訂單目前請輪詢 |
完整業務碼見 通用 → 錯誤與約定。