介绍
SecretCryptos API 提供安全、简单且一致的访问,用于我们的 混币器 和 兑换 服务。本“轻量版”文档重点介绍核心端点,帮助您快速上手。
基础 URL: https://api.secretcryptos.com/v1
示例: GET /v1/ping
– 试一试
您也可以在 api.secretcryptos.com 浏览实时根页面。
更多链接:链接中心 • API 文档(Swagger UI) • GitHub 组织。
认证
- 请求头:
Authorization: Bearer YOUR_API_KEY
- 所有请求必须使用 HTTPS。
API 密钥安全
cURL(服务器端)
curl -H "Authorization: Bearer YOUR_API_KEY" \ "https://api.secretcryptos.com/v1/meta/mixer"
PHP 代理
<?php $ch = curl_init("https://api.secretcryptos.com/v1/meta/exchange"); curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); curl_setopt($ch, CURLOPT_HTTPHEADER, ["Authorization: Bearer YOUR_API_KEY"]); echo curl_exec($ch);
Node.js(Express)
import express from "express"; import fetch from "node-fetch"; const app = express(); app.get("/api/meta/exchange", async (req, res) => { const r = await fetch("https://api.secretcryptos.com/v1/meta/exchange", { headers: { Authorization: "Bearer " + process.env.SECRETCRYPTOS_API_KEY } }); res.status(r.status).type("application/json").send(await r.text()); }); app.listen(3000);
Python(Flask)
from flask import Flask, Response import os, requests app = Flask(__name__) @app.get("/api/meta/mixer") def mixer_meta(): r = requests.get( "https://api.secretcryptos.com/v1/meta/mixer", headers={"Authorization": f"Bearer {os.environ['SECRETCRYPTOS_API_KEY']}"} ) return Response(r.content, status=r.status_code, mimetype="application/json")
Ping
简单的健康检查和版本信息。
GET https://api.secretcryptos.com/v1/ping
{ "ok": true, "service": "SecretCryptos API", "version": "1.2.6", "ts": 1723800000 }
ts
: Unix 时间戳(秒)。- 不需要身份验证。
混币器 (MIXER)
Mixer API 允许您以编程方式创建保护隐私的交易。您可以定义 币种、网络、金额,以及一个或多个带有百分比分配和可选延迟的 输出地址。系统会分配一个充值地址并返回完整方案(费用 + 输出),以便您自动化收款、付款或类似托管的流程。
- 使用场景:安全收款、自动收益分配、向多个钱包付款、延迟支付。
- 在创建订单前,请通过
/v1/meta/mixer
获取限制与费用信息。 - 所有金额字段均以 币种单位 表示,除非另有说明。
- 所有时间戳均为 Unix 时间戳(秒),服务器时区为 GMT-3。
混币器 (MIXER) / 创建订单
创建新的混币订单。您需要提供币种、网络、金额以及一个或多个带有百分比分配和延迟的输出地址。系统会分配一个充值地址,并返回订单详情,包括费用和输出计划。
验证规则
amount
: 必须在/v1/meta/mixer
中定义的该币种min_amount
和max_amount
之间。addresses
: 1–10 个输出地址。percent
:- 格式: 最多保留 2 位小数 (例如
10
,10.5
,10.50
)。 - 单个地址最小:
≥ 1.00
, 最大:≤ 100.00
。 - 所有输出的总和必须正好为
100.00
。 - 如果只有 1 个输出,其百分比必须正好是
100.00
。
- 格式: 最多保留 2 位小数 (例如
delay
:- 接受分钟 (例如
120
) 或标签 (例如"2h 0m"
)。 - 最大值:
48h
(即2880
分钟)。
- 接受分钟 (例如
service_fee
(可选覆盖):- 最多保留 2 位小数。
- 范围:
0.10
–5.00
(%)。如果省略,将使用该币种的系统默认值。
address format
: 必须与所选网络匹配 (例如 BTC Legacy/SegWit, ERC-200x…
, TRC-20T…
, SOL 等)。destination_tag / memo
: 可选;某些网络必需 (例如 XRP 标签, TON 备注)。
注意事项
expires_at
: 充值地址过期时间 (Epoch 秒)。outputs[i].time
: 计划的输出时间 (Epoch 秒,基于delay_minutes
)。- 测试时使用
?pretty=1
可返回更易读的 JSON。 - 速率限制: 默认每个 API 密钥每日限制;更高级别可用 (参见 “Rate Limits”)。
常见错误
{ "ok": false, "code": "BAD_REQUEST", "message": "Sum of percents must be exactly 100.00" }
BAD_REQUEST
: 请求体无效、地址格式错误、百分比非两位小数、费用超出范围、延迟 > 48h 等。AMOUNT_TOO_LOW / AMOUNT_TOO_HIGH
: 违反币种的最小/最大限制。SERVICE_UNAVAILABLE
: 该网络没有可用的充值地址。TOO_MANY_REQUESTS
: 已达到每日 API 限制。UNAUTHORIZED / FORBIDDEN
: API 密钥无效或已禁用。
请求头
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
请求体
{ "action": "create_order", "addresses": [ { "address": "35iMHbUZeTssxBodiHwEEkb32jpBfVueEL", "percent": "84.93", "delay": "0", }, { "address": "1P279UBChDFPAky8S4DcKGaaxKEMYBK9MM", "percent": "15.07", "delay": "120", } ], "amount": "10.00000000", "crypto": "btc", "network": "btc", "partner": "YOUR_PARTNER_KEY", "service_fee": 0.45, "qrcode": 1 }
请求体
{ "action": "create_order", "addresses": [ { "address": "raGXwk3P9yCtT2mGKD7nQdRNDCPSgwb2Kb", "percent": "100", "delay": "0", "destination_tag": "435757008" } ], "amount": "10.00000000", "crypto": "btc", "network": "btc", "partner": "YOUR_PARTNER_KEY", "service_fee": 0.45, "qrcode": 1 }
addresses
: 输出目标列表。每个地址应包含以下字段:address
: 接收资金的目标地址。percent
: 分配到该地址的总金额百分比 (例如100
表示全部金额,50
表示一半)。delay
: 交易处理前的延迟。可以用分钟 (例如120
) 或文本格式 (例如"2h 0m"
) 指定。destination_tag
: 对于 XRP 和 TON 网络必填。如果不需要,可以省略或留空 (例如""
)。
amount
: 要转账的总金额,以币种单位表示。请使用点号作为小数分隔符 (例如10.00000000
)。crypto
/network
: 币种和区块链网络 (例如btc
/btc
表示比特币)。partner
: 可选但推荐。您的 PARTNER KEY 可在 合作伙伴平台 的 API 选项卡下获取 (与 API-KEY 一起)。使用时可赚取 30% 的服务费。service_fee
: 可选覆盖服务费百分比。如果省略,则使用系统默认值。如果提供,必须是 0.1 到 5 之间的数字 (含边界)。qrcode
: 可选。1
返回deposit.qr_code
下的 Base64 数据 URL;0
或省略则不返回二维码。destination_tag
: 对于 XRP 和 TON 网络必填。如果不需要,可以省略或留空 ("")。
如何使用二维码
当 qrcode
设置为 1
时,响应将在 deposit.qr_code
字段中包含一个 Base64 编码的图片。这是一个完全可用的二维码,您可以在前端作为图片嵌入,允许用户通过钱包应用扫描。以下是在网页上显示的示例:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." alt="扫码支付" />
用户可以使用他们喜欢的钱包应用扫描二维码,立即填充目标地址和金额,从而实现快速、安全的交易。
响应
{ "ok": true, "trackcode": "6A5FB3BA8A150EC9", "maintenance": 0, "deposit": { "address": "31wXuLH5AKBWoZsK4VJS5wG75nTUAWYnWf", "name": "Bitcoin", "symbol": "₿", "network": "btc", "network_label": "Bitcoin (BTC)", "deposit_amount": "10.00000000", "min_amount": 0.001, "max_amount": 20, "expires_at": 1755614593, "qr_code": "data:image/png;base64,iVBORw0....." }, "fees": { "service_fee_percent": 0.45, "service_fee_value": "0.04500000", "fee_per_output": "0.00005000", "fee_outputs_total": "0.00010000", "fee_total": "0.04510000" }, "outputs": [ { "id": 1, "address": "35iMHbUZeTssxBodiHwEEkb32jpBfVueEL", "destination_tag": null, "share_percent": 84.93, "delay_minutes": 0, "delay_label": "0h 0m", "amount": "8.45469657", "time": 1755441793 }, { "id": 2, "address": "1P279UBChDFPAky8S4DcKGaaxKEMYBK9MM", "destination_tag": null, "share_percent": 15.07, "delay_minutes": 120, "delay_label": "2h 0m", "amount": "1.50020343", "time": 1755448993 } ], "signature_text": "...." }
trackcode
: 唯一的订单标识符。deposit
: 用户应发送资金的位置。fees
: 所有应用的费用。outputs
: 资金的计划分配及延迟。time
和expires_at
: Unix 时间戳 (GMT-3 时区)。signature_text
: 用于验证的数字签名文本。
PHP 示例
<?php $url = "https://api.secretcryptos.com/v1/mixer/orders"; $headers = [ "Authorization: Bearer YOUR_API_KEY", "Content-Type: application/json" ]; $data = [ "action" => "create_order", "addresses" => [ ["address"=>"35iMHbUZeTssxBodiHwEEkb32jpBfVueEL", "percent"=>"84.93", "delay"=>"0"], ["address"=>"1P279UBChDFPAky8S4DcKGaaxKEMYBK9MM", "percent"=>"15.07", "delay"=>"120"] ], "amount" => "10.00000000", "crypto" => "btc", "network" => "btc", "partner" => "YOUR_PARTNER_KEY", "service_fee" => 0.45, ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($data) ]); echo curl_exec($ch); curl_close($ch);
兑换 (EXCHANGE)
兑换 API 允许您将 from_coin/from_network 存款兑换到单一的 to_coin/to_network 目标地址。我们分配一个存款地址,计算实时报价(基于美元的限额和费用),并返回完整的订单对象,您可以轮询直到资金到位并执行。
- 使用场景:结账时即时兑换,“存入 X → 收到 Y”,以及 L1/L2 之间的上下车桥接。
- 在创建订单之前,通过
/v1/meta/exchange
获取交易对限额和默认费用。 - 所有金额字段均为 币单位(除非另有说明);限额基于 美元。
- 所有时间戳均为 Unix epoch 秒(服务器时区 GMT-3)。
兑换 (EXCHANGE) / 创建订单
创建新的兑换订单。您需要提供 from_*
端(币种/网络/数量)以及目标端的 to_address
。我们会返回一个 from_network
的存款地址、报价和计划输出。
验证规则
amount
:美元价值(数量 × from_coin 价格)必须在/v1/meta/exchange
返回的该交易对min_usd
/max_usd
范围内。address format
:必须符合所选to_network
格式(例如,ERC-200x…
,TRC-20T…
,BTC,DOGE,SOL 等)。destination_tag / memo
:可选,但某些网络必填(例如 XRP 标签,TON 备注)。service_fee
(可选,百分比):- 最多支持 2 位小数(例如,
0.6
=0.60%
)。 - 全局限制:最小
0.50%
,最大3.00%
。 - 如果低于该交易对的站点默认值,则采用站点默认值;如果高于
3.00%
,则强制为3.00%
。 - 如果省略,实际费用 =
max(站点默认值, 0.50%)
。
- 最多支持 2 位小数(例如,
说明
quote.final_usd
= (数量 × from 价格) × (1 − 费用%)。quote.to.estimated_receive
=final_usd
÷ to_coin 价格。receive.delay_label
:计划的兑换延迟(默认0h 10m
)。expires_at
:分配的存款地址的有效存款时间窗口。- 测试时可使用
?pretty=1
获取格式化的 JSON。
请求头
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json
请求体
{ "from_coin": "eth", "from_network": "eth", "to_coin": "doge", "to_network": "doge", "to_address": "DLPaeuaJi2JLUcvYHD4ddLxadwnGaVSt4p", "amount": "1.00000000", "service_fee": 0.6, // 可选;%0.60 → 受规则限制 "partner": "YOUR_PARTNER_KEY", // 可选,可赚取平台手续费的 30% "qrcode": 1 // 可选;在 deposit.qr_code 中添加 base64 QR}
请求体(XRP / TON 示例)
{ "from_coin": "usdt", "from_network": "trx", "to_coin": "xrp", "to_network": "xrp", "to_address": "rLWyHZwAhsVrHCu8ahsfQfb9w9w7A5WTrS", "destination_tag": "123456", "amount": "250" } --- { "from_coin": "btc", "from_network": "btc", "to_coin": "ton", "to_network": "ton", "to_address": "UQDTQmCrngsFMbgBhWNX_Sg6Ko3sXUcdeliM5OoZO2Pt4NJx", "memo": "MYMEMO123", "amount": "0.015" }
响应
{ "ok": true, "type": "exchange", "trackcode": "D391FC08747E7B04", "pair": { "from": "ETH_eth", "to": "DOGE_doge" }, "deposit": { "address": "0x7ed2bf650d12819171a8add77fe772a18dd77a10", "name": "Ethereum", "symbol": "Ξ", "network": "eth", "network_label": "Ethereum (ERC20)", "deposit_amount": "1.00000000", "min_usd": 100, "max_usd": 88565, "expires_at": 1755781843, "qr_code": "data:image/png;base64,..." // 仅当 qrcode=1 时返回 }, "quote": { "from": { "coin":"ETH","network":"eth","price_usd":4300.8836,"amount":"1.00000000","amount_usd":"4300.88362842" }, "to": { "coin":"DOGE","network":"doge","price_usd":0.22014648,"estimated_receive":"19419.24455241" }, "fee_percent": 0.6, "final_usd": "4275.07832665" }, "receive": { "address":"DLPaeuaJi2JLUcvYHD4ddLxadwnGaVSt4p", "destination_tag": null, "coin":"DOGE","network":"doge", "percent":100,"delay_minutes":10,"delay_label":"0h 10m", "amount":"19419.24455241","time":1755609642 }, "outputs":[ { "id":1, "address":"DLPaeuaJi2JLUcvYHD4ddLxadwnGaVSt4p", "destination_tag":null, "share_percent":100, "delay_minutes":10, "delay_label":"0h 10m", "amount":"19419.24455241", "time":1755609642 } ], "signature_text":"..." }
trackcode
:用于轮询状态的唯一订单标识符。deposit
:用户必须发送 from_coin 的位置。quote
:定价快照和实际费用。receive
/outputs
:计划的兑换输出详情。
PHP 示例
<?php $url = "https://api.secretcryptos.com/v1/exchange/orders"; $headers = [ "Authorization: Bearer YOUR_API_KEY", "Content-Type: application/json" ]; $payload = [ "from_coin"=>"eth","from_network"=>"eth", "to_coin"=>"doge","to_network"=>"doge", "to_address"=>"DLPaeuaJi2JLUcvYHD4ddLxadwnGaVSt4p", "amount"=>"1.00000000", "service_fee"=>0.6, "partner"=>"YOUR_PARTNER_KEY", "qrcode"=>1 ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER=>true, CURLOPT_HTTPHEADER=>$headers, CURLOPT_POST=>true, CURLOPT_POSTFIELDS=>json_encode($payload, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES), ]); echo curl_exec($ch); curl_close($ch);
如何使用二维码
当在创建请求中设置 qrcode
= 1
时,响应会在 deposit.qr_code
下包含一个 Base64 编码的二维码。可直接嵌入 <img> 供用户扫码存款地址。
<img src="data:image/png;base64,..." alt="扫码支付" />
价格
获取支持的加密货币以 USD 计价的最新市场价格。您可以通过逗号分隔同时查询多个符号。
接口端点
查询参数
symbols
(可选):以逗号分隔的币种符号列表(例如BTC,ETH,USDT
)。如果省略,将返回所有支持的币种。
响应
ok
:如果请求成功,则为true
。base
:始终为USD
。ts
:Unix 时间戳(秒)。prices
:对象映射SYMBOL → "price"
(字符串数字)。
示例请求(仅 BTC、ETH)
<?php $url = "https://api.secretcryptos.com/v1/prices?symbols=" . urlencode("BTC,ETH"); $headers = [ "Authorization: Bearer <API_KEY>", ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_TIMEOUT => 20, ]); $result = curl_exec($ch); if ($result === false) { echo "cURL error: " . curl_error($ch); } else { echo $result; } curl_close($ch);
示例请求(所有符号)
<?php $url = "https://api.secretcryptos.com/v1/prices"; $headers = [ "Authorization: Bearer <API_KEY>", ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_TIMEOUT => 20, ]); $result = curl_exec($ch); if ($result === false) { header("Content-Type: text/plain; charset=utf-8"); echo "cURL error: " . curl_error($ch); } else { header("Content-Type: application/json; charset=utf-8"); echo $result; } curl_close($ch);
示例响应
{ "ok": true, "base": "USD", "ts": 1755600000, "prices": { "BTC": "117799.51713382", "ETH": "4409.46254479", "USDT": "1.0005594" } }
错误代码
BAD_REQUEST
:无效的symbols
格式。UNAUTHORIZED / FORBIDDEN
:API key 无效或缺失。SERVER_ERROR
:内部服务器/数据库错误。
说明
- 不支持的交易对会被直接忽略,不会出现在
prices
对象中。 - 数值以字符串形式返回,以保持精度。
订单状态
使用单一接口即可查询 mixer 和 exchange 订单状态。您可以显式指定订单类型(mixer
/exchange
),也可以让 API 自动检测。
接口端点
请求体
trackcode
(必填):订单的 16 位大写跟踪码。type
(可选):mixer
|exchange
。如果省略,API 会尝试自动检测。outputs
(可选):none
|summary
|full
(默认:summary
)。mask_addresses
(可选):true
=隐藏地址(默认),false
=返回完整地址。
响应
type
:mixer
或exchange
。deposit.confirm_status
:充值确认状态:0
:未收到付款。1
:已收到付款但仍在等待(确认中或尚未完全到账)。2
:充值已完全确认并到账。
deposit.delete_in_sec
:距离 48 小时保留期过期的剩余秒数。deposit.funding
区块:waiting_balance
:预期总金额。received_balance
:当前已收到金额。remaining_need
:剩余所需金额。is_fully_funded
:是否已完全到账。can_start
:仅当confirm_status==2
且is_fully_funded==true
时为 true。
outputs
:none
:不返回。summary
:返回count
、sent_count
、sent_total
。full
:每个输出包含:index
、address
(是否隐藏)、destination_tag
、coin
、network
、share_percent
、delay_label
、delay_seconds
、state
、confirm
、tx
、amount
、left_seconds
。
status_reason
:例如"INSUFFICIENT_FUNDS"
(资金不足时)。
业务规则
- 订单在未完全到账时不会开始(
is_fully_funded=false
):输出保持未分配,且不生成推广分成。 - 如果
confirm_status==2
且is_fully_funded==true
:- 输出会一次性时间戳,并在后续查询中保持一致。
- 当订单有效时,推广分成只会记入一次。
示例请求(PHP)
// Mixer 示例(完整输出,未隐藏地址)<?php $url = "https://api.secretcryptos.com/v1/orders/check"; $headers = [ "Authorization: Bearer <API_KEY>", "Content-Type: application/json" ]; $data = [ "trackcode" => "554FEC10054743FD", "type" => "mixer", // mixer | exchange "outputs" => "full", // none | summary | full "mask_addresses" => false // true(default)=masked, false=full ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), ]); $result = curl_exec($ch); if ($result === false) { header("Content-Type: text/plain; charset=utf-8"); echo "cURL error: " . curl_error($ch); } else { header("Content-Type: application/json; charset=utf-8"); echo $result; } curl_close($ch);
示例响应 — 已完全到账
{ "ok": true, "type": "mixer", "trackcode": "6A5FB3BA8A150EC9", "deposit": { "confirm_status": 2, "coin": "btc", "network": "btc", "delete_in_sec": 167812, "funding": { "waiting_balance": "10.00000000", "received_balance": "10.00000000", "remaining_need": "0.00000000", "is_fully_funded": true, "can_start": true } }, "outputs": [ { "index": 1, "address": "35iMHbUZeTssxBodiHwEEkb32jpBfVueEL", "destination_tag": null, "coin": "btc", "network": "btc", "share_percent": 84.93, "delay_label": "0h 0m", "delay_seconds": 0, "state": 2, "confirm": 1, "tx": "135f451af7f894....fafb578eee9e9c4", "amount": "8.45469657", "left_seconds": 0 }, { "index": 2, "address": "1P279UBChDFPAky8S4DcKGaaxKEMYBK9MM", "destination_tag": null, "coin": "btc", "network": "btc", "share_percent": 15.07, "delay_label": "2h 0m", "delay_seconds": 7200, "state": 1, "confirm": 0, "tx": "", "amount": "1.50020343", "left_seconds": 5916 } ] }
示例响应 — 未完全到账
{ "ok": true, "type": "exchange", "trackcode": "A1B2C3D4E5F6A7B8", "deposit": { "confirm_status": 2, "coin": "usdt", "network": "erc20", "delete_in_sec": 14321, "funding": { "waiting_balance": "500.00000000", "received_balance": "420.00000000", "remaining_need": "80.00000000", "is_fully_funded": false, "can_start": false } }, "status_reason": "INSUFFICIENT_FUNDS", "outputs": { "count": 3, "sent_count": 0, "sent_total": "0.00000000" } }
输出字段说明
index
:订单中的输出序号。address
:接收资金的目标地址。destination_tag
:XRP、XLM 等币种的可选标签/备注(不需要时为null
)。coin
:输出的加密货币代码(例如btc
、eth
)。network
:转账使用的网络名称(例如btc
、eth
)。share_percent
:分配给该输出的总充值百分比。delay_label
:可读标签,显示该输出何时处理(例如2h 0m
)。delay_seconds
:延迟的秒数,直到该输出可开始处理。state
:输出状态:0
→ 等待中(充值尚未完全确认)。1
→ 处理中(已排程;当delay_seconds
归零时开始)。2
→ 完成(转账已结束)。
confirm
:转账确认状态(仅在state=2
时有效):0
→ 交易已广播但尚未确认(待定)。1
→ 交易已确认(至少 1 个区块确认)。
tx
:该输出的区块链交易哈希。amount
:发送到该输出地址的金额。left_seconds
:距离计划发送时间的剩余秒数。
提示: 该倒计时仅在deposit.confirm_status=2
(完全确认)后开始。例如:设置 600 秒(10 分钟),会在充值确认后才开始倒计时。
提示: 付款和输出数据大约每 1 分钟刷新一次。
错误代码
BAD_REQUEST
:缺失/无效的trackcode
,或请求体格式错误。NOT_FOUND
:未找到订单。UNAUTHORIZED / FORBIDDEN
:API key 无效或被禁用。TOO_MANY_REQUESTS
:超过每日请求限制。SERVER_ERROR
:服务器内部错误。
mask_addresses
:由mask_addresses
控制(默认:true
)。delay_seconds
:delay_label
的数字等价形式(仅在full
模式下返回)。
删除订单
删除一个现有订单,使其无法再通过 API 访问。一旦删除,该订单将永久不可查询。
端点
请求体
trackcode
(必填): 16 位大写跟踪码。type
(可选):mixer
|exchange
。如果省略,将自动检测。
响应
ok
: 成功时为true
。trackcode
: 回显请求的跟踪码。type
: 订单类型 (mixer
或exchange
)。deleted
: 如果订单已被删除则为true
。
行为
- 如果订单已被删除或未找到,API 返回 404 NOT_FOUND。
- 如果提供了
type
,仅检查该类型;否则自动检测。
示例请求 (PHP)
<?php $url = "https://api.secretcryptos.com/v1/orders/delete"; $headers = [ "Authorization: Bearer <API_KEY>", "Content-Type: application/json" ]; $data = [ "trackcode" => "D391FC08747E7B04" // "type" => "exchange" ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES), CURLOPT_TIMEOUT => 20, ]); $result = curl_exec($ch); if ($result === false) { echo "cURL error: " . curl_error($ch); } else { echo $result; } curl_close($ch);
示例响应 — 成功
{ "ok": true, "trackcode": "D391FC08747E7B04", "type": "exchange", "deleted": true }
示例响应 — 未找到
{ "ok": false, "code": "NOT_FOUND", "message": "Order not found or already deleted" }
错误代码
BAD_REQUEST
: 无效的trackcode
或type
。NOT_FOUND
: 订单未找到或已删除。UNAUTHORIZED / FORBIDDEN
: API 密钥无效或缺失。SERVER_ERROR
: 内部服务器错误。
签名验证
验证数字签名负载(保证书签名)。解密成功后,API 返回相关订单(Mixer 或 Exchange)的已验证子集,适用于客户端检查和状态显示。
端点
请求体
signature
(必填): 数字签名块,可以是原始 Base64,也可以包含 BEGIN/END 行。
响应
ok
: 成功时为true
。message
: 可读的状态信息。type
:mixer
|exchange
。route
: Mixer:confirm
|deposit
|mixing
。Exchange:exc-deposit
|exc-send
。trackcode
: 解析出的跟踪码。order
:deposit_address
(字符串)service_fee
(字符串,2 位小数)coin
(字符串)network
(字符串)waiting_balance
(字符串,8 位小数)created_at
(整数,Unix 时间戳)
outputs
(数组):coin
,network
,address
,destination_tag
share_percent
(字符串,2 位小数)delay_minutes
(整数),delay_label
(例如2h 0m
)amount
(字符串,8 位小数)
outputs_count
(整数)
行为
- 系统会验证所提供的数字签名。
- 仅最近 48 小时内的订单可验证。更早的订单可能已被自动删除。
- 如果未找到有效订单,API 返回 404 NOT_FOUND。
示例请求 (PHP)
<?php $url = "https://api.secretcryptos.com/v1/validate"; $signatureBlock = <<<SIG -----BEGIN DIGITAL SIGNATURE----- eyJ0cmFjayI6ICJEMzkxRkMwODc0N0U3QjA0IiwgInR5cGUiOiAibWl4ZXIiLCAiZXh0cmEiOiAiLi4uIn0= -----END DIGITAL SIGNATURE----- SIG; $headers = [ "Authorization: Bearer <API_KEY>", "Content-Type: application/json", "Accept: application/json", ]; $payload = [ "signature" => $signatureBlock ]; $ch = curl_init($url); curl_setopt_array($ch, [ CURLOPT_RETURNTRANSFER => true, CURLOPT_HTTPHEADER => $headers, CURLOPT_POST => true, CURLOPT_POSTFIELDS => json_encode($payload, JSON_UNESCAPED_UNICODE|JSON_UNESCAPED_SLASHES), CURLOPT_TIMEOUT => 20, CURLOPT_SSL_VERIFYPEER => true, CURLOPT_SSL_VERIFYHOST => 2, ]); $result = curl_exec($ch); if ($result === false) { header("Content-Type: text/plain; charset=utf-8"); echo "cURL error: " . curl_error($ch); } else { header("Content-Type: application/json; charset=utf-8"); echo $result; } curl_close($ch);
示例响应 — 成功
{ "ok": true, "message": "The signature has been validated successfully.", "type": "mixer", "route": "deposit", "trackcode": "6A5FB3BA8A150EC9", "order": { "deposit_address": "31wXuLH5AKBWoZsK4VJS5wG75nTUAWYnWf", "service_fee": "0.45", "coin": "btc", "network": "btc", "waiting_balance": "10.00000000", "created_at": "1755698732" }, "outputs": [ { "coin": "btc", "network": "btc", "address": "35iMHbUZeTssxBodiHwEEkb32jpBfVueEL", "destination_tag": "", "share_percent": "84.93", "delay_minutes": 0, "delay_label": "0h 0m", "amount": "8.45469657" }, { "coin": "btc", "network": "btc", "address": "1P279UBChDFPAky8S4DcKGaaxKEMYBK9MM", "destination_tag": "", "share_percent": "15.07", "delay_minutes": 120, "delay_label": "2h 0m", "amount": "1.50020343" } ], "outputs_count": 2 }
示例响应 — 错误
{ "ok": false, "error": "BAD_REQUEST", "message": "需要数字签名" } --- { "ok": false, "error": "INVALID_SIGNATURE", "message": "提供的数据不是有效的 Base64 或太短" } --- { "ok": false, "error": "DECRYPTION_FAILED", "message": "解密失败。请确保签名有效后重试。" } --- { "ok": false, "error": "MISSING_TRACKCODE", "message": "签名负载中必须包含跟踪码。" } --- { "ok": false, "error": "NOT_FOUND", "message": "请求的订单详情未找到。" }
错误代码
BAD_REQUEST
: 缺少signature
或负载格式错误。INVALID_SIGNATURE
: 无效的 Base64 或签名块过短。DECRYPTION_FAILED
: AES-GCM 解密失败。INVALID_PAYLOAD
: 解密后的负载不是有效的 JSON。MISSING_TRACKCODE
: 负载中缺少track
字段。NOT_FOUND
: 最近 48 小时内未找到订单。UNAUTHORIZED / FORBIDDEN
: API 密钥无效或缺失。SERVER_ERROR
: 内部服务器错误。
备注
- 数值精度:
waiting_balance
和amount
→ 8 位小数 (字符串),share_percent
→ 2 位小数 (字符串),service_fee
→ 2 位小数 (字符串)。 - 延迟: 同时返回可读标签 (
delay_label
) 和机器可读分钟数 (delay_minutes
)。