Загрузка центра документации API...
LIVE MIXES
LTC
14.337709 LTC
LTC Mixed · 38 с назад
MATIC
6,751 MATIC
MATIC Mixed · 38 с назад
USDC
10,563 USDC
USDC Смешанный · 48 с назад
SOL
9.478999 SOL
SOL Смешанный · 55 с назад
ETH
1.322949 ETH
ETH Смешанный · 1 мес. назад
ETH
0.084496 ETH
ETH Mixed · 1 мес. назад
USDT
2,683 USDT
USDT Mixed · 2 мес. назад
USDC
731 USDC
USDC Mixed · 3 мес. назад
SOL
2.883669 SOL
SOL Mixed · 4 мес. назад
USDT
2,104 USDT
USDT Mixed · 4 мес. назад
LTC
14.337709 LTC
LTC Mixed · 38 с. назад
MATIC
6,751 MATIC
MATIC Mixed · 38 с. назад
USDC
10,563 USDC
USDC Mixed · 48s назад
SOL
9.478999 SOL
SOL Mixed · 55s назад
ETH
1.322949 ETH
ETH Mixed · 1m назад
ETH
0.084496 ETH
ETH смешанный · 1 мес. назад
USDT
2,683 USDT
USDT смешанный · 2 мес. назад
USDC
731 USDC
USDC смешанный · 3 мес. назад
SOL
2.883669 СОЛ
SOL Mixed · 4 мес. назад
USDT
2,104 USDT
USDT Mixed · 4 мес. назад

SecretCryptos API Документация

Secure. Быстрый. Удобство для разработчиков.
Программный интерфейс
Интегрируйте функции смешивания и обмена криптовалют в ваше приложение или сервис с помощью официального API SecretCryptos.
SecretCryptos API documentation for secure crypto integration Developer guide for SecretCryptos API integration API reference for crypto mixing and exchange with SecretCryptos

Введение


The SecretCryptos API обеспечивает безопасный, простой и последовательный доступ к наши MixerиExchangeсервисы. В этом «облегченном» документе основное внимание уделяется основным конечным точкам, чтобы вы могли быстро приступить к работе.

Базовый URL: https://api.secretcryptos.com/v1

Пример: GET /v1/pingtry it

Вы также можете изучить действующую корневую страницу по адресу api.secretcryptos.com.

Дополнительные ссылки:Links HubAPI Документы (пользовательский интерфейс Swagger)GitHub Organization.

Аутентификация


  • Header:Authorization: Bearer YOUR_API_KEY
  • Все запросы должны использовать HTTPS.
Никогда не вызывайте аутентифицированные конечные точки из клиентского JavaScript. Сохраните свой ключ API на сервере и проксируйте ответ браузеру.

Получить ключ API


  1. Создайте учетную запись или войдите в систему на Partner.
  2. Откройте верхнее меню и нажмите вкладку API.
  3. Копировать ваш API-KEY(держите его в секрете; он работает как для Mixer, так и для Exchange).

API Key Safety


Никогда не вызывайте аутентифицированные конечные точки из клиентского JavaScript. Храните свой ключ API на сервере и отвечайте прокси-серверу браузеру.

cURL (серверная часть)

curl -H "Authorization: Bearer YOUR_API_KEY" \
  "https://api.secretcryptos.com/v1/meta/mixer"

PHP proxy

<?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


Root-обнаружение для доступных метаданных конечные точки.

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": "Simple health check."
    },
    {
      "name": "Meta (Mixer)",
      "path": "/v1/meta/mixer",
      "method": "GET",
      "auth": true,
      "desc": "Supported coins/networks and mixer rules."
    },
    {
      "name": "Meta (Exchange)",
      "path": "/v1/meta/exchange",
      "method": "GET",
      "auth": true,
      "desc": "Supported trading pairs and exchange limits."
    },
    {
      "name": "Create Mixer Order",
      "path": "/v1/mixer/orders",
      "method": "POST",
      "auth": true,
      "desc": "Create a new mixer order."
    },
    {
      "name": "Create Exchange Order",
      "path": "/v1/exchange/orders",
      "method": "POST",
      "auth": true,
      "desc": "Create a new exchange order."
    },
    {
      "name": "Check Order",
      "path": "/v1/orders/check",
      "method": "POST",
      "auth": true,
      "desc": "Query order status by trackcode."
    },
    {
      "name": "Delete Order",
      "path": "/v1/orders/delete",
      "method": "POST",
      "auth": true,
      "desc": "Delete an order (if allowed)."
    },
    {
      "name": "Prices",
      "path": "/v1/prices",
      "method": "GET",
      "auth": true,
      "desc": "Current exchange rates and prices."
    },
    {
      "name": "Validate Signature",
      "path": "/v1/validate",
      "method": "POST",
      "auth": false,
      "desc": "Validate a digital guarantee letter signature."
    }
  ]
}
		
  • Аутентификация не требуется.

Meta / Mixer


Конфигурация миксера по монетам (мин/макс, сетевые метки, плата за услугу/адрес, десятичные дроби, подтверждения).

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-значная строка в монетах.

Meta / Exchange


Конфигурация биржи: обслуживание, текущие цены в долларах США и лимиты/комиссии для каждой сети.

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являются актуальными значениями из data.

MIXER


The Mixer API позволяет программно создавать транзакции, сохраняющие конфиденциальность. Вы определяете coin, network, amount и один или нескольковыходных адресовс процентными долями и дополнительными задержками. Мы выделяем адрес депозита и возвращаем полный план (комиссии + выходы), чтобы вы могли автоматизировать поступления, выплаты или потоки, подобные условному депонированию.

  • Случаи использования: безопасный прием платежей, автоматическое распределение доходов, выплаты на несколько кошельков, отложенные выплаты.
  • Получите лимиты и комиссии через /v1/meta/mixerперед созданием заказов.
  • Все денежные поля указаны в монетных единицах, если не указано иное.
  • Все временные метки представляют собой секунды эпохи Unix (часовой пояс: GMT-3 на сервере).

MIXER / Create Order


Создайте новый заказ миксера. Вы указываете монету, сеть, сумму и один или несколько выходных адресов с процентами и задержками. Система назначает адрес депозита и возвращает детали заказа, включая комиссии и план вывода.

Правила проверки

  • 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.
  • delay:
    • Принимает минуты (например, 120) или метку (например, "2h 0m").
    • Максимум:48h(т. е. 2880минут).
  • service_fee(необязательное переопределение):
    • До 2 десятичных знаков.
    • Диапазон:0.105.00(%). Если этот параметр опущен, используется системное значение по умолчанию для монеты.
  • address format: Должно соответствовать выбранной сети (например, BTC Heritage/SegWit, ERC-200x…, TRC-20T…, SOL и т. д.).
  • destination_tag / memo: Необязательно; требуется для некоторых сетей (например, тег XRP, мемо TON).

Notes

  • 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: Неверное тело, неверный формат адреса, процент не 2-значный, комиссия выходит за пределы диапазона, задержка > 48 часов и т. д.
  • AMOUNT_TOO_LOW / AMOUNT_TOO_HIGH: Нарушает минимум/максимум монеты.
  • SERVICE_UNAVAILABLE: Нет доступного адреса депозита для этой сети.
  • TOO_MANY_REQUESTS: Достигнут дневной лимит API.
  • UNAUTHORIZED / FORBIDDEN: Неверный/отключенный ключ API.
POST/v1/mixer/orders

Headers

  • Authorization: Bearer YOUR_API_KEY
  • Content-Type: application/json

Request Тело

{
  "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 доступен на Partner на вкладке API (с вашим API-KEY). При использовании вы зарабатываете 30% от комиссии за обслуживание..
  • service_fee: Необязательное переопределение комиссии за обслуживание в процентах. Если этот параметр опущен, применяется системное значение по умолчанию. Если указано, это должно быть число между 0.1и5 (включительно).
  • qrcode: Необязательно.1 возвращает URL-адрес данных Base64 в deposit.qr_code; 0или опущено, не возвращает QR-код.
  • destination_tag: Требуется для XRPиTONсетей. Если оно не требуется, его можно пропустить или оставить пустым ("").

Как использовать QR-код

Когда для qrcode установлено значение 1, ответ будет включать изображение в кодировке Base64 в поле deposit.qr_code. Это полнофункциональный 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: Уникальный идентификатор заказа.
  • deposit: Куда пользователь должен отправлять средства.
  • fees: Все применяются сборы.
  • outputs: Плановое распределение средств с задержками.
  • timeandexpires_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перед созданием заказы.
  • Все денежные поля указаны в монетных единицах, если не указано иное; лимиты на основе долларов США.
  • Все временные метки представляют собой секунды эпохи Unix (часовой пояс сервера GMT‑3).

EXCHANGE / Create Order


Создайте новый заказ на обмен. Вы предоставляете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%).

Notes

  • quote.final_usd= (сумма × от цены) × (1 – комиссия).
  • quote.to.estimated_receive = final_usd ÷ to_coinprice.
  • receive.delay_label: Плановая задержка перед отправкой свопа (по умолчанию0h 10m).
  • expires_at: Окно депозита для выделенного адреса.
  • Используйте ?pretty=1 для красивого вывода JSON во время тестирования.
POST/v1/exchange/orders

Headers

  • Authorization: Bearer YOUR_API_KEY
  • Content-Type: application/json

Request Тело

{
  "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"
}

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в Create, ответ включает QR-код в кодировке Base64 под номером deposit.qr_code. Вставьте его непосредственно в <img>, чтобы пользователи могли сканировать адрес депозита.

<img src="data:image/png;base64,..." alt="Scan to pay" />

Prices


Получайте последние рыночные цены в USD для поддерживаемых криптовалют. Вы можете запросить несколько символов одновременно, разделив их запятыми.

Endpoint

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

Параметры запроса

  • symbols(необязательно): список символов монет, разделенных запятыми (например,BTC,ETH,USDT). Если этот параметр опущен, возвращаются все поддерживаемые монеты.

Response

  • 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: Внутренний сервер/база данных error.

Notes

  • Неподдерживаемые тикеры просто опускаются из объекта prices.
  • Числовые значения возвращаются в виде строк для сохранения точности.

Состояние заказа


Используйте одну конечную точку для проверки статуса обоих mixerиexchangeордеров. Вы можете явно указать тип заказа (mixer/ exchange) или позволить API автоматически определить его.

Endpoint

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-часового хранения expiry.
  • deposit.fundingblock:
    • 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): результаты остаются неназначенными, и партнерские выплаты не производятся.
  • Ifconfirm_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: Порядковый номер вывода в order.
  • 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→ Complete (передача завершена).
  • 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

POST/v1/orders/delete

Тело запроса

  • trackcode(обязательно): 16-значный код отслеживания в верхнем регистре.
  • type(необязательно): mixer | exchange. Если этот параметр опущен, обнаружение происходит автоматически.

Response

  • ok: trueв случае успеха.
  • trackcode: Эхо запрошенного кода отслеживания.
  • type: Тип заказа (mixerилиexchange).
  • deleted: true, если заказ был удалено.

Behavior

  • Если заказ уже удален или не найден, 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: Invalidtrackcodeortype.
  • NOT_FOUND: Заказ не найден или уже удален.
  • UNAUTHORIZED / FORBIDDEN: Ключ API недействителен или отсутствует.
  • SERVER_ERROR: Внутренняя ошибка сервера.

Проверка подписи


Подтвердить a полезная нагрузка с цифровой подписью (подпись гарантийного письма). После успешной расшифровки API возвращает проверенное подмножество связанных деталей заказа (смеситель или обмен), подходящее для проверок на стороне клиента и отображения статуса.

Endpoint

POST/v1/validate

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_tag
    • share_percent(строка, 2 десятичных знака)
    • delay_minutes(целое число),delay_label(например, 2h 0m)
    • amount(строка, 8) десятичные числа)
  • outputs_count(целое число)

Behavior

  • Предоставленная цифровая подпись проверяется системой.
  • Проверке подлежат только недавние заказы (в течение 48 часов). Более ранние заказы могут быть автоматически удалены.
  • Если действительный заказ не найден, API отвечает. with404 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: Внутренняя ошибка сервера.

Notes

  • Числовая точность:waiting_balanceandamount→ 8 десятичные знаки (строка),share_percent→ 2 десятичных знака (строка),service_fee→ 2 десятичных знака (строка).
  • Задержки: возвращаются как человеческая метка (delay_label), так и машиночитаемые минуты (delay_minutes).

Ограничения скорости


Limit:1000 запросов/день/API key.