API ドキュメントセンターを読み込み中...
リアルタイムミックス
BTC
0.015000 BTC
BTC ミックス済み · 46秒前
ADA
508 ADA
ADA ミックス済み · 3分前
USDT
1,129 USDT
USDT ミックス済み · 3分前
TON
102.008901 TON
TON ミックス済み · 3分前
TON
39.394381 TON
TON ミックス済み · 4分前
LTC
9.833244 LTC
LTC ミックス済み · 8分前
USDT
2,845 USDT
USDT ミックス済み · 11分前
BTC
0.009999 BTC
BTC ミックス済み · 11分前
BTC
0.037000 BTC
BTC ミックス済み · 11分前
DOGE
12,220 DOGE
DOGE ミックス済み · 11分前
BTC
0.015000 BTC
BTC ミックス済み · 46秒前
ADA
508 ADA
ADA ミックス済み · 3分前
USDT
1,129 USDT
USDT ミックス済み · 3分前
TON
102.008901 TON
TON ミックス済み · 3分前
TON
39.394381 TON
TON ミックス済み · 4分前
LTC
9.833244 LTC
LTC ミックス済み · 8分前
USDT
2,845 USDT
USDT ミックス済み · 11分前
BTC
0.009999 BTC
BTC ミックス済み · 11分前
BTC
0.037000 BTC
BTC ミックス済み · 11分前
DOGE
12,220 DOGE
DOGE ミックス済み · 11分前

SecretCryptos API ドキュメント

安全・高速・開発者に優しい
プログラミングインターフェース
公式のSecretCryptos APIを使用して、アプリやサービスに暗号ミキシングと取引機能を統合できます。
安全な暗号統合のためのSecretCryptos API ドキュメント SecretCryptos API 統合のための開発者ガイド SecretCryptosでの暗号ミキシングと取引のためのAPIリファレンス

イントロダクション


SecretCryptos API は、安全でシンプルかつ一貫したアクセスを ミキサーエクスチェンジ サービスに提供します。この「ライト」ドキュメントは、すぐに使い始められるように主要なエンドポイントに焦点を当てています。

ベースURL: https://api.secretcryptos.com/v1

例: GET /v1/ping試す

また、ライブのルートページはこちらで確認できます api.secretcryptos.com.

その他のリンク:リンク集API ドキュメント(Swagger UI)GitHub 組織

認証


  • ヘッダー: Authorization: Bearer YOUR_API_KEY
  • すべてのリクエストは HTTPS を使用する必要があります。
認証が必要なエンドポイントをクライアント側のJavaScriptから直接呼び出さないでください。APIキーはサーバー側に保持し、レスポンスをブラウザにプロキシしてください。

APIキーの取得


  1. アカウントを作成するか、パートナー にログインしてください。
  2. 上部メニューを開き、API タブをクリックします。
  3. API-KEY をコピーします(秘密にしてください。ミキサー と エクスチェンジ の両方で使用できます)。

APIキーの安全性


認証が必要なエンドポイントをクライアント側のJavaScriptから直接呼び出さないでください。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/v1/ping
GET https://api.secretcryptos.com/v1/ping
{
  "ok": true,
  "service": "SecretCryptos API",
  "version": "1.2.6",
  "ts": 1723800000
}
  • ts: Unix エポック(秒単位)。
  • 認証不要。

メタ情報


利用可能な meta エンドポイントを一覧表示するルートディスカバリー。

GET/v1/meta
GET https://api.secretcryptos.com/v1/meta
{
  "ok": true,
  "version": "1.2.6",
  "server_time": {
    "iso": "2025-08-20T16:04:53+00:00",
    "unix": 1755705893
  },
  "docs": {
    "html": "https://secretcryptos.com/api"
  },
  "endpoints": [
    {
      "name": "Ping",
      "path": "/v1/ping",
      "method": "GET",
      "auth": false,
      "desc": "シンプルな稼働確認。"
    },
    {
      "name": "Meta (Mixer)",
      "path": "/v1/meta/mixer",
      "method": "GET",
      "auth": true,
      "desc": "サポートされているコイン/ネットワークとミキサーのルール。"
    },
    {
      "name": "Meta (Exchange)",
      "path": "/v1/meta/exchange",
      "method": "GET",
      "auth": true,
      "desc": "サポートされている取引ペアとエクスチェンジの制限。"
    },
    {
      "name": "Create Mixer Order",
      "path": "/v1/mixer/orders",
      "method": "POST",
      "auth": true,
      "desc": "新しいミキサー注文を作成。"
    },
    {
      "name": "Create Exchange Order",
      "path": "/v1/exchange/orders",
      "method": "POST",
      "auth": true,
      "desc": "新しいエクスチェンジ注文を作成。"
    },
    {
      "name": "Check Order",
      "path": "/v1/orders/check",
      "method": "POST",
      "auth": true,
      "desc": "トラックコードを使って注文状況を確認。"
    },
    {
      "name": "Delete Order",
      "path": "/v1/orders/delete",
      "method": "POST",
      "auth": true,
      "desc": "注文を削除(可能な場合)。"
    },
    {
      "name": "Prices",
      "path": "/v1/prices",
      "method": "GET",
      "auth": true,
      "desc": "現在のレートと価格を取得。"
    },
    {
      "name": "Validate Signature",
      "path": "/v1/validate",
      "method": "POST",
      "auth": false,
      "desc": "デジタル保証書の署名を検証。"
    }
  ]
}
		
  • 認証不要。

メタ / ミキサー


コインごとのミキサー設定(最小/最大、ネットワークラベル、サービス手数料・アドレスごとの手数料、小数点桁数、承認数)。

GET/v1/meta/mixer
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.secretcryptos.com/v1/meta/mixer"
{
  "ok": true,
  "mixer": {
    "BTC": {
      "name": "Bitcoin",
      "symbol": "₿",
      "service_fee": 0.1,
      "maintenance": 0,
      "per_address_fee": "0.00005000",
      "decimals": 8,
      "confirmations": 1,
      "networks": {
        "btc": {
          "label": "Bitcoin (BTC)",
          "min": 0.001,
          "max": 20
        }
      }
    }
  }
}
  • 認証が必要: Authorization: Bearer YOUR_API_KEY
  • service_fee はパーセンテージ(例: 0.1 = 0.1%)。
  • per_address_fee はコイン単位の小数点8桁の文字列。

メタ / エクスチェンジ


エクスチェンジの設定:メンテナンス状況、リアルタイムのUSD価格、ネットワークごとの制限と手数料。

GET/v1/meta/exchange
curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.secretcryptos.com/v1/meta/exchange"
{
  "ok": true,
  "exchange": {
    "maintenance": 0,
    "prices_usd": {
      "BTC": "117799.51713382",
      "ETH": "4409.46254479",
      "USDT": "1.0005594",
	  ...
    },
    "outputs": {
      "BTC": {
        "name": "Bitcoin",
        "symbol": "₿",
        "networks": {
          "btc": {
            "label": "Bitcoin (BTC)",
            "min_usd": "100",
            "max_usd": "182520",
            "service_fee": "0.5"
          }
        }
      },
	  ...
    }
  }
}
  • 認証が必要: Authorization: Bearer YOUR_API_KEY
  • service_fee はパーセンテージ文字列(例: "0.5" = 0.5%)。
  • prices_usd はデータベースからのリアルタイム値。

ミキサー


Mixer API を使えば、プログラムからプライバシー保護された取引を作成できます。コインネットワーク金額、さらに1つ以上の出力アドレス(配分割合やオプションの遅延付き)を指定します。入金アドレスが割り当てられ、手数料と出力を含む完全なプランが返されるので、受領、支払い、またはエスクローのフローを自動化できます。

  • 利用例:安全な支払い受付、自動収益分配、複数ウォレットへの送金、遅延支払い。
  • 注文を作成する前に、/v1/meta/mixer で制限と手数料を確認してください。
  • 金額フィールドは特に記載がない限り コイン単位 です。
  • すべてのタイムスタンプは Unix エポック秒(サーバータイムゾーン:GMT-3)。

ミキサー / 注文作成


新しいミキサー注文を作成します。コイン、ネットワーク、金額、および1つ以上の出力アドレス(割合と遅延付き)を指定します。システムは入金アドレスを割り当て、手数料や出力プランを含む注文詳細を返します。

バリデーションルール

  • amount: コイン固有の min_amountmax_amount/v1/meta/mixer 参照)の範囲でなければなりません。
  • addresses: 出力は1~10個まで。
  • percent:
    • フォーマット: 小数点以下2桁まで(例: 10, 10.5, 10.50)。
    • アドレスごとの最小値: ≥ 1.00、最大値: ≤ 100.00
    • すべての出力の合計は正確に 100.00 である必要があります。
    • 出力が1つだけの場合、その割合は正確に 100.00 でなければなりません。
  • delay:
    • 分単位(例: 120)またはラベル(例: "2h 0m")で指定可能。
    • 最大: 48h(つまり 2880 分)。
  • service_fee(任意の上書き):
    • 小数点以下2桁まで。
    • 範囲: 0.105.00 (%)。省略した場合はコインのデフォルト値が使用されます。
  • address format: 選択したネットワークに一致する必要があります(例: BTC legacy/SegWit、ERC-20 0x…、TRC-20 T…、SOLなど)。
  • destination_tag / memo: 任意。ただし一部のネットワーク(例: XRPタグ、TONメモ)では必須。

補足

  • expires_at: 入金アドレスの有効期限(epoch秒)。
  • outputs[i].time: 計画された出力時間(delay_minutes に基づく epoch秒)。
  • テスト時に人間が読みやすいJSONを得るには ?pretty=1 を使用してください。
  • レート制限: APIキーごとのデフォルト日次制限。上位プランあり(「レート制限」参照)。

一般的なエラー

{
  "ok": false,
  "code": "BAD_REQUEST",
  "message": "Sum of percents must be exactly 100.00"
}
  • BAD_REQUEST: 不正なリクエスト本文、アドレス形式の誤り、割合が2桁でない、手数料が範囲外、遅延が48h超など。
  • AMOUNT_TOO_LOW / AMOUNT_TOO_HIGH: コインごとの最小/最大制限に違反。
  • SERVICE_UNAVAILABLE: 指定ネットワークで利用可能な入金アドレスなし。
  • TOO_MANY_REQUESTS: 日次API制限に到達。
  • UNAUTHORIZED / FORBIDDEN: APIキーが無効または停止中。
POST/v1/mixer/orders

ヘッダー

  • 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.15 の範囲。
  • qrcode: 任意。1 の場合 deposit.qr_code にBase64データURLを返す。0 または省略時はQRコードなし。
  • destination_tag: XRP および TON ネットワークでは必須。それ以外は省略または空文字 ("")。

QRコードの使い方

qrcode1 の場合、レスポンスに deposit.qr_code フィールドでBase64エンコードされた画像が含まれます。これは完全に機能するQRコードで、フロントエンドに画像として埋め込み、ユーザーがウォレットアプリでスキャンできます。以下はウェブページで表示する例です:

<img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAA..." alt="スキャンして支払う" />

ユーザーは好みのウォレットアプリでQRコードをスキャンし、宛先アドレスと金額を即座に入力して、迅速かつ安全な取引を行えます。

レスポンス

{
  "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 アドレスにスワップできます。システムは入金アドレスを割り当て、リアルタイムの見積もり(USDベースの制限と手数料適用)を計算し、資金が送られ実行されるまでポーリング可能な完全な注文オブジェクトを返します。

  • ユースケース: チェックアウト時の即時スワップ、「Xで入金→Yを受け取る」、L1/L2間のブリッジ(オンランプ/オフランプ)。
  • 注文作成前に /v1/meta/exchange でペアの制限とデフォルト手数料を取得してください。
  • すべての金額フィールドは特記なき限り コイン単位。制限は USDベース
  • すべてのタイムスタンプはUnixエポック秒(サーバータイムゾーン GMT-3)。

交換 (エクスチェンジ) / 注文作成


新しいエクスチェンジ注文を作成します。from_* 側(コイン / ネットワーク / 金額)と to_* 側の宛先 to_address を指定してください。from_network 上の入金アドレス、見積もり、計画された出力を返します。

検証ルール

  • amount: USD換算値(amount × from_coin価格)が、ペア固有の min_usd / max_usd/v1/meta/exchange)の範囲内である必要があります。
  • address format: 選択した to_network と一致する必要があります(例: ERC-20 0x…, TRC-20 T…, 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%)

注意事項

  • quote.final_usd = (amount × from価格) × (1 − fee%)。
  • quote.to.estimated_receive = final_usd ÷ to_coin の価格。
  • receive.delay_label: スワップ送信前の予定遅延(デフォルト 0h 10m)。
  • expires_at: 割り当てられたアドレスの入金受付時間。
  • テスト中に ?pretty=1 を使用すると整形されたJSONが返されます。
POST/v1/exchange/orders

ヘッダー

  • 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: ステータス確認用の一意の注文ID。
  • 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 を Create で 1 に設定すると、レスポンスに deposit.qr_code フィールドで Base64 エンコードされたQRが含まれます。これを <img> として埋め込み、ユーザーが入金アドレスをスキャンできるようにします。

<img src="data:image/png;base64,..." alt="スキャンして支払う" />

価格情報


サポートされている暗号通貨の最新市場価格を USD で取得します。複数のシンボルを一度に問い合わせるには、カンマで区切ってください。

エンドポイント

GET/v1/prices?symbols=BTC,ETH,DOGE

クエリパラメータ

  • 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)、APIに自動検出させることもできます。

エンドポイント

POST/v1/orders/check

リクエストボディ

  • 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)

// ミキサー例(フル出力、マスクなしアドレス)<?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: 1日のリクエスト上限を超過。
  • SERVER_ERROR: サーバーで予期しないエラー。

  • mask_addresses: mask_addresses によって制御(デフォルト: true)。
  • delay_seconds: delay_label の数値表現(full モードでのみ返される)。

注文削除


既存の注文を削除し、API経由でアクセスできなくします。一度削除されると、その注文は以後永続的に利用不可能になります。

エンドポイント

POST/v1/orders/delete

リクエストボディ

  • 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 は関連する注文情報(ミキサーまたはエクスチェンジ)の検証済みサブセットを返し、クライアント側での確認やステータス表示に使用できます。

エンドポイント

POST/v1/validate

リクエスト本文

  • 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_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_balanceamount → 小数点以下8桁 (文字列)、share_percent → 小数点以下2桁 (文字列)、service_fee → 小数点以下2桁 (文字列)。
  • 遅延: delay_label(人間向けラベル)と delay_minutes(機械可読な分数)の両方が返されます。

レート制限


制限: 1000 リクエスト / 日 / APIキー。