介绍
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_KEYContent-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_KEYContent-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_tagshare_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)。