概要
The SecretCryptos APIは、MixerおよびExchangeサービスへの安全かつシンプルで一貫したアクセスを提供します。この「ライト」ドキュメントは、すぐに開始できるコア エンドポイントに焦点を当てています。
ベース URL: https://api.secretcryptos.com/v1
例: GET /v1/ping – 試してみる
You can also explore the live root page at api.secretcryptos.comでライブ ルート ページを探索することもできます。.
その他のリンク:リンク ハブ • API ドキュメント (Swagger UI) • GitHub 組織.
Authentication
- Header:
Authorization: Bearer YOUR_API_KEY - すべてのリクエストは HTTPS を使用する必要があります。
API キーの取得
- アカウントを作成するか、Partner.
- でサインインします。トップ メニューを開いて、API タブをクリックします。
- Copy your API-KEY をコピーします (秘密にしておいてください。Mixer と Exchange の両方で機能します)。
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 ミキサー API を使用すると、プログラムで作成できます。プライバシーを保護する取引。 coin, network, amount と 1 つ以上の 出力アドレス を割合シェアとオプションの遅延とともに定義します。入金アドレスを割り当て、完全なプラン (手数料 + 出力) を返すため、受け取り、支払い、またはエスクローのようなフローを自動化できます。
- 使用例: 安全な支払いの受け取り、自動収益分配、複数のウォレットへの支払い、支払いの遅延。
- 注文を作成する前に、
/v1/meta/mixerで制限と手数料を取得します。 - すべての通貨フィールドは、コイン単位です。注記がない限り、
- すべてのタイムスタンプは Unix エポック秒です (タイムゾーン: サーバー上の GMT-3)。
MIXER / オーダーの作成
新しいミキサー オーダーを作成します。コイン、ネットワーク、金額、およびパーセンテージと遅延を含む 1 つ以上の出力アドレスを指定します。システムは入金アドレスを割り当て、手数料や出力プランを含む注文の詳細を返します。
検証ルール
amount: コイン固有のmin_amountとmax_amountfrom/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 メモなど) では必要です。
Notes
expires_at: デポジット アドレスの有効期限が切れたとき (エポック秒)。outputs[i].time: エポック秒としての計画された出力時間 (delay_minutesに基づく)。- テスト中に人間が判読できる JSON に
?pretty=1を使用します。 - レート制限: API キーごとのデフォルトの 1 日あたりの制限。より高い階層も利用可能です (「レート制限」を参照)。
一般的なエラー
{
"ok": false,
"code": "BAD_REQUEST",
"message": "Sum of percents must be exactly 100.00"
}
BAD_REQUEST: 無効な本文、間違ったアドレス形式、パーセントが 10 進数ではない、料金が範囲外、遅延 > 48 時間など。AMOUNT_TOO_LOW / AMOUNT_TOO_HIGH: コインあたりの最小/最大に違反しています。SERVICE_UNAVAILABLE: そのネットワークで使用可能なデポジット アドレスがありません。TOO_MANY_REQUESTS: 1 日の 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 およびTONnetworks. If not required, it can be omitted or left empty (e.g.,"").
amount: The total amount in coin units to be transferred. 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. YourPARTNER KEYis available onPartnerunder the API tab (with your API-KEY). When used, you earn30% of the service fee.service_fee: Optional override for service fee in percent. If omitted, the system default applies. If provided, it must be a number between0.1and5(inclusive).qrcode: Optional.1returns a Base64 data URL underdeposit.qr_code;0or omitted returns no QR code.destination_tag:XRPおよびTONネットワークに必要です。必要がない場合は、省略するか空のままにすることができます ("")。
QR コードの使用方法
When the qrcode が 1 に設定されている場合、応答には、deposit.qr_code フィールドの下に Base64 でエンコードされた画像が含まれます。これは完全に機能する QR コードで、フロントエンドに画像として埋め込むことができ、ユーザーはウォレット アプリケーションでスキャンできるようになります。これをウェブページに表示する方法の例を次に示します。
<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." alt="Scan to pay" />
ユーザーは、好みのウォレット アプリで QR コードをスキャンして、宛先アドレスと金額を即座に入力し、迅速かつ安全な取引を容易にすることができます。
Response
{
"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: 一意の注文 ID。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
TheExchange APIを使用すると、from_coin/ from_network入金を単一のto_coin/ to_network宛先アドレスに交換できます。入金アドレスを割り当て、ライブ見積(USD ベースの制限と手数料が適用されます)を計算し、資金が調達されて実行されるまでポーリングできる完全な注文オブジェクトを返します。
- 使用例: チェックアウト時のインスタント スワップ、「X で入金 → Y を受け取る」、L1/L2 間のオフランプ/オンランプ ブリッジ。
- 注文を作成する前に、
/v1/meta/exchange経由でペア制限とデフォルト料金を取得します。 - すべての通貨フィールドはコイン単位注記がない限り;制限は USD ベースの .
- すべてのタイムスタンプは Unix エポック秒 (サーバーのタイムゾーン GMT‑3) です。
EXCHANGE / 注文の作成
新しい交換注文を作成します。あなたが提供するのは、from_* サイド (コイン/ネットワーク/金額) と to_address サイドの宛先to_* 。 from_network のデポジット アドレス、見積書、および計画された出力を返します。
検証ルール
amount: USD 値 (金額 × 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 桁まで (例、
Notes
quote.final_usd= (金額 × 価格から) × (1 − 手数料%)。quote.to.estimated_receive=final_usd÷ to_coinprice.receive.delay_label: スワップを送信する前の計画遅延 (デフォルト0h 10m)。expires_at: 割り当てられたものの入金ウィンドウaddress.- テスト中にきれいに印刷された JSON には、
?pretty=1を使用します。
Headers
Authorization: Bearer YOUR_API_KEYContent-Type: application/json
Request Body
{
"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}
Request Body (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"
}
Response
{
"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 コードの使用方法
作成で qrcode が 1 に設定されている場合、応答には deposit.qr_code の下に Base64 でエンコードされた QR が含まれます。これを <img> として直接埋め込むと、ユーザーが入金アドレスをスキャンできるようになります。
<img src="data:image/png;base64,..." alt="Scan to pay" />
価格
サポートされている暗号通貨の最新の市場価格をUSDで取得します。コンマで区切ることで、複数のシンボルを一度にクエリできます。
Endpoint
Query Parameters
symbols(optional): コインシンボルのカンマ区切りリスト (例:BTC,ETH,USDT)。省略した場合、サポートされているすべてのコインが返されます。
Response
ok:trueリクエストが成功した場合。base: AlwaysUSD.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: 無効なsymbolsformat.UNAUTHORIZED / FORBIDDEN: API キーが無効または欠落しています。SERVER_ERROR: 内部サーバー/データベース エラー。
Notes
- サポートされていないティッカーは、
pricesオブジェクトから単純に省略されます。 - 精度を維持するために、数値は文字列として返されます。
注文ステータス
単一のエンドポイントを使用して、mixer と exchange 注文の両方のステータスを確認します。注文タイプ (mixer/ exchange) を明示的に設定することも、API に自動検出させることもできます。
Endpoint
リクエスト本文
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.fundingblock:waiting_balance: 合計が予想されますamount.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): 出力は未割り当てのままで、パートナーへの支払いは生成されません。 - If
confirm_status==2ANDis_fully_funded==true:- 出力には一度タイムスタンプが付けられ、繰り返しチェックしても一貫性が保たれます。
- アフィリエイトの収益は、注文が完了したときに 1 回だけ入金されます。有効です。
リクエストの例 (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:スケジュールされた送信時刻までの残り秒数。
注:このカウントダウンは 1 回リセットされますdeposit.confirm_status=2(完全に確認済み)。例: もし600秒 (10 分) が設定されている場合、入金確認後にのみカウントダウンが開始されます。
注:支払いデータと出力データは約 1 分ごとに更新されます。
エラー コード
BAD_REQUEST: 欠落/無効trackcode、不正な形式のリクエスト本文。NOT_FOUND: 注文が見つかりません。UNAUTHORIZED / FORBIDDEN: API キーが無効または無効です。TOO_MANY_REQUESTS: 1 日のリクエスト制限を超えました。SERVER_ERROR:予期しないサーバー エラー。
mask_addresses:mask_addresses(デフォルト:true) によって制御されます。delay_seconds:delay_labelに相当する数値 (fullモードでのみ返されます)。
注文の削除
既存の注文を削除して、API 経由でアクセスできなくなります。削除すると、その注文は永久にクエリに使用できなくなります。
Endpoint
リクエスト本文
trackcode(必須): 16 文字の大文字のトラッキング コード。type(オプション):mixer|exchange。省略した場合、検出は自動です。
Response
ok:true成功時。trackcode: 要求されたトラッキング コードのエコー。type: 注文タイプ (mixerまたはexchange)。deleted:true注文が削除された場合。
Behavior
- 注文がすでに削除されているか見つからない場合、API は 404 を返します。 NOT_FOUND.
- If
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
}
Example Response — Not Found
{
"ok": false,
"code": "NOT_FOUND",
"message": "Order not found or already deleted"
}
Error Codes
BAD_REQUEST: Invalidtrackcodeortype.NOT_FOUND: Order not found or already deleted.UNAUTHORIZED / FORBIDDEN: API key invalid or missing.SERVER_ERROR: Internal server error.
Signature Validation
Validate a digitally signed payload (Letter of Guarantee signature). Upon successful decryption, the API returns a verified subset of the related order details (mixer or exchange), suitable for client-side checks and status display.
Endpoint
Request Body
signature(required): The digital signature block, either raw Base64 or with BEGIN/END lines.
Response
ok:trueon success.message: Human‑readable status message.type:mixer|exchange.route: For mixer:confirm|deposit|mixing. For 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": "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に順序が見つかりません。 hours.UNAUTHORIZED / FORBIDDEN: API キーが無効または欠落しています。SERVER_ERROR: 内部サーバー エラー。
Notes
- 数値精度:
waiting_balanceおよびamount→ 小数点以下 8 桁 (文字列)、share_percent→ 小数点以下 2 桁 (文字列)、service_fee→ 小数点以下 2 桁 (文字列)。 - 遅延: 人間のラベル (
delay_label) と両方機械可読な分 (delay_minutes) が返されます。