简介
The SecretCryptos API提供安全、简单且一致的访问我们的Mixer和Exchange服务。此“精简版”文档重点关注核心端点,帮助您快速入门。
基本 URL: https://api.secretcryptos.com/v1
示例: GET /v1/ping – 尝试一下
您还可以在api.secretcryptos.com.
更多链接中浏览实时根页面:链接中心 • API 文档 (Swagger UI) • GitHub Organization.
Authentication
- Header:
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
The Mixer API 可让您以编程方式创建保护隐私的交易。您可以定义coin, 网络, 金额,以及一个或多个输出地址以及百分比份额和可选延迟。我们分配存款地址并返回完整的计划(费用+输出),以便您可以自动执行收据、付款或类似托管的流程。
- 用例:安全付款接收、自动收入共享、向多个钱包付款、延迟付款。
- 在创建订单之前通过
/v1/meta/mixer获取限额和费用。 - 所有货币字段均采用硬币单位除非另有说明。
- 所有时间戳均为 Unix 纪元秒(时区:服务器上的 GMT-3)。
MIXER / 创建订单
创建新的混合器订单。您提供代币、网络、金额以及一个或多个输出地址以及百分比和延迟。系统分配存款地址并返回订单详细信息,包括费用和输出计划。
验证规则
amount:必须介于特定币种min_amount和max_amount之间,来自/v1/meta/mixer.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 传统/SegWit、ERC-200x…、TRC-20T…、SOL 等)。destination_tag / memo:可选;某些网络需要(例如,XRP 标签、TON 备忘录)。
注释
expires_at:存款地址过期时(纪元秒)。outputs[i].time:计划输出时间为纪元秒(基于delay_minutes)。- 在测试期间使用
?pretty=1用于人类可读的 JSON。 - 速率限制:每个 API 密钥的默认值每天限制;可用更高级别(请参阅“速率限制”)。
常见错误
{
"ok": false,
"code": "BAD_REQUEST",
"message": "Sum of percents must be exactly 100.00"
}
BAD_REQUEST:正文无效、地址格式错误、百分比不是小数点后两位、费用超出范围、延迟 > 48 小时等。AMOUNT_TOO_LOW / AMOUNT_TOO_HIGH:违反每个币的最小/最大限额。SERVICE_UNAVAILABLE:该网络没有可用的存款地址。TOO_MANY_REQUESTS:达到每日 API 限制。UNAUTHORIZED / FORBIDDEN:API 密钥无效/禁用。
Headers
Authorization: Bearer YOUR_API_KEYContent-Type: application/json
Request Body
{
"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
}
Request Body
{
"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:要转移的硬币单位总金额。 Please use a dot as the decimal separator (e.g.,10.00000000).crypto/network: The coin and blockchain network (e.g.,btc/btcfor Bitcoin).partner: Optional but recommended.您的PARTNER KEY可在 API 选项卡下的Partner 上找到(使用您的 API 密钥)。使用后,您将赚取30% 的服务费.service_fee:可选覆盖服务费百分比。如果省略,则应用系统默认值。如果提供,则必须是0.1和5(含)之间的数字。qrcode:可选。1在deposit.qr_code;0下返回Base64数据URL,或者省略则不返回QR代码。destination_tag:对于XRP 和TON 网络是必需的。如果不需要,可以省略或留空 ("")。
如何使用 QR 码
当qrcode 设置为1 时,响应将在deposit.qr_code 字段下包含 Base64 编码的图像。这是一个功能齐全的二维码,您可以将其作为图像嵌入到前端中,从而允许用户使用钱包应用程序扫描它。以下是如何在网页上显示它的示例:
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." alt="Scan to pay" />
用户可以使用自己喜欢的钱包应用程序扫描二维码,立即填写目标地址和金额,从而促进快速安全的交易。
响应
{
"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
The Exchange API可让您将from_coin/ from_network存款交换到单个to_coin/ to_network目标地址。我们分配存款地址,计算实时报价(基于美元的限额和费用),并返回完整的订单对象,您可以轮询直到资金和执行。
- 用例:结帐时即时交换,“存款X → 接收Y”,L1/L2 之间的匝道/匝道桥。
- 在创建订单之前通过
/v1/meta/exchange获取货币对限额和默认费用。 - 所有货币字段除非另有说明,均采用硬币单位;限制是基于USD.
- 所有时间戳均为Unix纪元秒(服务器时区GMT-3)。
交换/创建订单
创建新的交换订单。您提供from_* 方(货币/网络/金额)和目标to_address为to_* 方。我们返回from_network上的存款地址、报价和计划输出。
验证规则
amount:美元价值(金额×from_coin价格)必须在特定货币对的范围内min_usd/max_usdfrom/v1/meta/exchange.address format:必须与所选to_network匹配(例如,ERC-200x…,TRC-20T…, BTC、DOGE、SOL 等)。destination_tag / memo:可选,但某些网络需要(例如,XRPtag、TONmemo)。service_fee(可选,百分比):- 最多 2 位小数(例如,
0.6=0.60%)。 - 全局钳位:最小值
0.50%, max3.00%. - 如果在该对的站点默认值下方提供,则应用站点默认值。如果高于
3.00%,则上限为3.00%. - 如果省略,则有效费用=
max(site_default, 0.50%).
- 最多 2 位小数(例如,
注释
quote.final_usd=(金额 × 价格)×(1 − 费用%)。quote.to.estimated_receive=final_usd÷ to_coin价格。receive.delay_label:我们发送掉期之前的计划延迟(默认0h 10m)。expires_at:存款窗口分配的地址。- 测试时使用
?pretty=1打印漂亮的 JSON。
Headers
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, // optional; %0.60 → clamped by rules "partner": "YOUR_PARTNER_KEY", // optional, earns 30% of platform fee "qrcode": 1 // optional; adds base64 QR at deposit.qr_code}
请求正文(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,..." // only if 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);
如何使用 QR 代码
当在 Create 中将qrcode 设置为1 时,响应包括 Base64 编码的 QR在deposit.qr_code 下。直接嵌入为<img>,让用户扫描充值地址。
<img src="data:image/png;base64,..." alt="Scan to pay" />
Prices
检索支持的加密货币的最新市场价格USD。您可以通过用逗号分隔来一次查询多个符号。
Endpoint
查询参数
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 密钥无效或丢失。SERVER_ERROR:内部服务器/数据库错误。
注释
- 不支持的代码会从
prices对象中简单省略。 - 数字值以字符串形式返回以保持精度。
订单状态
使用单个端点检查mixer和exchange订单的状态。您可以显式设置订单类型 (mixer/ exchange) 或让 API 自动检测它。
Endpoint
Request Body
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: onlytrue ifconfirm_status==2ANDis_fully_funded==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==2ANDis_fully_funded==true:- 输出被标记一次,并在重复检查时保持一致。
- 会员收入记入贷方
请求示例 (PHP)
// Mixer example (full outputs, unmasked addresses)<?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达到0时开始)。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 密钥无效或已禁用。TOO_MANY_REQUESTS:超出每日请求限制。SERVER_ERROR:意外的服务器错误。
mask_addresses:由mask_addresses控制(默认:true)。delay_seconds:delay_label的数字等效项(仅在full模式下返回)。
删除订单
删除现有订单,以便可以不再通过 API 访问。一旦删除,该订单将永久无法用于进一步查询。
Endpoint
请求正文
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 返回相关订单详细信息(混合器或交易所)的经过验证的子集,适合客户端检查和状态显示。
Endpoint
Request Body
signature(必需):数字签名块,可以是原始 Base64 或 BEGIN/END行。
成功时的响应
ok:true。message:人类可读的状态消息。type:mixer|exchange.route:对于混音器:confirm|deposit|mixing。交换用: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": "Digital signature is required"
}
---
{
"ok": false,
"error": "INVALID_SIGNATURE",
"message": "The provided data is not valid Base64 or is too short"
}
---
{
"ok": false,
"error": "DECRYPTION_FAILED",
"message": "Decryption failed. Ensure that the provided signature is valid and retry."
}
---
{
"ok": false,
"error": "MISSING_TRACKCODE",
"message": "Trackcode is required in the signature payload."
}
---
{
"ok": false,
"error": "NOT_FOUND",
"message": "The requested order details could not be found."
}
错误代码
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 位小数(字符串). - Delays:返回人工标签 (
delay_label) 和机器可读分钟 (delay_minutes)。