Memuat pusat dokumentasi API...
LIVE MIXES
LTC
14.337709 LTC
LTC Mixed · 38s yang lalu
MATIC
6,751 MATIC
MATIC Mixed · 38s yang lalu
USDC
10,563 USDC
USDC Campuran · 48 detik yang lalu
SOL
9.478999 SOL
SOL Campuran · 55 detik yang lalu
ETH
1.322949 ETH
ETH Campuran · 1 bulan yang lalu
ETH
0.084496 ETH
ETH Campuran · 1 bulan yang lalu
USDT
2,683 USDT
USDT Campuran · 2 bulan yang lalu
USDC
731 USDC
USDC Campuran · 3 bulan yang lalu
SOL
2.883669 SOL
SOL Mixed · 4m ago
USDT
2,104 USDT
USDT Mixed · 4m ago
LTC
14.337709 LTC
LTC Mixed · 38s ago
MATIC
6,751 MATIC
MATIC Mixed · 38s ago
USDC
10,563 USDC
USDC Mixed · 48s ago
SOL
9.478999 SOL
SOL Mixed · 55s ago
ETH
1.322949 ETH
ETH Mixed · 1m ago
ETH
0.084496 ETH
ETH Mixed · 1m ago
USDT
2,683 USDT
USDT Mixed · 2m ago
USDC
731 USDC
USDC Mixed · 3m ago
SOL
2.883669 SOL
SOL Campuran · 4 bulan yang lalu
USDT
2,104 USDT
USDT Campuran · 4 bulan yang lalu

Dokumentasi API SecretCryptos

Aman. Cepat. Ramah Pengembang.
Antarmuka Pemrograman
Integrasikan fitur pencampuran dan pertukaran kripto ke dalam aplikasi atau layanan Anda menggunakan API SecretCryptos resmi.
SecretCryptos API documentation for secure crypto integration Developer guide for SecretCryptos API integration API reference for crypto mixing and exchange with SecretCryptos

Pendahuluan


The SecretCryptos APImenyediakan akses yang aman, sederhana, dan konsisten ke layananMixerdanExchangekami. Dokumen “Lite” ini berfokus pada titik akhir inti agar Anda dapat memulai dengan cepat.

URL Dasar: https://api.secretcryptos.com/v1

Contoh: GET /v1/pingcobalah

Anda juga dapat menjelajahi halaman root langsung diapi.secretcryptos.com.

Tautan lainnya:Links hubAPI Dokumen (UI Swagger)Organisasi GitHub.

Otentikasi


  • Header:Authorization: Bearer YOUR_API_KEY
  • Semua permintaan harus menggunakan HTTPS.
Jangan pernah memanggil titik akhir yang diautentikasi dari JavaScript sisi klien. Simpan kunci API Anda di server dan proksi respons ke browser.

Dapatkan Kunci API


  1. Buat akun atau masuk diMitra.
  2. Buka menu atas dan klikAPItab.
  3. Salin API-KEY Anda(rahasiakan; ini berfungsi untuk Mixer dan Exchange).

Keamanan Kunci API


Jangan pernah memanggil titik akhir yang diautentikasi dari JavaScript sisi klien. Simpan kunci API Anda di server dan respons proksi ke browser.

cURL (sisi server)

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

Proksi 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 (Ekspres)

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


Pemeriksaan kesehatan dan versi sederhana.

GET/v1/ping
GET https://api.secretcryptos.com/v1/ping
{
  "ok": true,
  "service": "SecretCryptos API",
  "version": "1.2.6",
  "ts": 1723800000
}
  • ts: Unix epoch (detik).
  • Tidak diperlukan autentikasi.

Meta


Penemuan root untuk meta yang tersedia titik akhir.

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."
    }
  ]
}
		
  • Tidak diperlukan autentikasi.

Meta / Mixer


Konfigurasi mixer per koin (min/maks, label jaringan, biaya layanan/per alamat, desimal, konfirmasi).

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
        }
      }
    }
  }
}
  • Auth diperlukan:Authorization: Bearer YOUR_API_KEY.
  • service_feeadalah persentase (misalnya,0.1 = 0.1%).
  • per_address_feeadalah string 8 desimal dalam satuan koin.

Meta / Exchange


Konfigurasi pertukaran: pemeliharaan, harga USD aktif, dan batas/biaya per jaringan.

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"
          }
        }
      },
	  ...
    }
  }
}
  • Auth diperlukan:Authorization: Bearer YOUR_API_KEY.
  • service_feeadalah string persentase (misalnya,"0.5" = 0.5%).
  • prices_usdadalah nilai langsung dari database.

MIXER


The Mixer APImemungkinkan Anda membuat transaksi yang menjaga privasi secara terprogram. Anda menentukankoin, jaringan, jumlah, dan satu atau lebihalamat keluarandengan persentase pembagian dan penundaan opsional. Kami mengalokasikan alamat setoran dan mengembalikan paket lengkap (biaya + keluaran) sehingga Anda dapat mengotomatiskan penerimaan, pembayaran, atau aliran seperti escrow.

  • Kasus penggunaan: penerimaan pembayaran aman, pembagian pendapatan otomatis, pembayaran ke beberapa dompet, pencairan tertunda.
  • Dapatkan batasan & biaya melalui/v1/meta/mixersebelum membuat pesanan.
  • Semua bidang moneter berada dalamunit koinkecuali disebutkan.
  • Semua cap waktu adalah Unix epoch detik (zona waktu: GMT-3 di server).

MIXER / Buat Pesanan


Buat pesanan mixer baru. Anda memberikan koin, jaringan, jumlah, dan satu atau lebih alamat keluaran dengan persentase dan penundaan. Sistem mengalokasikan alamat deposit dan detail pesanan pengembalian termasuk biaya dan rencana keluaran.

Aturan Validasi

  • amount: Harus antara khusus koinmin_amountdanmax_amountdari/v1/meta/mixer.
  • addresses: 1–10 keluaran.
  • percent:
    • Format: hingga 2 desimal (misalnya,10, 10.5, 10.50).
    • Minimum per alamat:≥ 1.00, maksimum:≤ 100.00.
    • Total semua keluaran harus sama persis100.00.
    • Jika hanya ada 1 keluaran, persentasenya harus sama persis100.00.
  • delay:
    • Menerima menit (misalnya,120) atau label (misalnya,"2h 0m").
    • Maksimum:48h(yaitu,2880menit).
  • service_fee(opsional override):
    • Hingga 2 desimal.
    • Rentang:0.105.00(%). Jika dihilangkan, default sistem untuk koin akan digunakan.
  • address format: Harus cocok dengan jaringan yang dipilih (misalnya, BTC legacy/SegWit, ERC-200x…, TRC-20T…, SOL, dll.).
  • destination_tag / memo: Opsional; diperlukan untuk beberapa jaringan (mis., tag XRP, memo TON).

Catatan

  • expires_at: Ketika alamat penyetoran habis masa berlakunya (epoch detik).
  • outputs[i].time: Waktu keluaran yang direncanakan sebagai epoch detik (berdasarkandelay_minutes).
  • Gunakan?pretty=1untuk JSON yang dapat dibaca manusia selama pengujian.
  • Batas nilai: default per batas harian kunci API; tersedia tingkatan yang lebih tinggi (lihat “Batas Tarif”).

Kesalahan Umum

{
  "ok": false,
  "code": "BAD_REQUEST",
  "message": "Sum of percents must be exactly 100.00"
}
  • BAD_REQUEST: Isi tidak valid, format alamat salah, persen bukan 2 desimal, biaya di luar jangkauan, penundaan > 48 jam, dll.
  • AMOUNT_TOO_LOW / AMOUNT_TOO_HIGH: Melanggar min/maks per koin.
  • SERVICE_UNAVAILABLE: Tidak ada alamat deposit yang tersedia untuk jaringan itu.
  • TOO_MANY_REQUESTS: Batas API harian tercapai.
  • UNAUTHORIZED / FORBIDDEN: Kunci API tidak valid/dinonaktifkan.
POST/v1/mixer/orders

Headers

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

Permintaan Isi

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

Badan Permintaan

{
  "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: Daftar tujuan keluaran. Setiap alamat harus memiliki kolom berikut:
    • address: Alamat tujuan pengiriman dana.
    • percent: Persentase jumlah total yang akan dikirim ke alamat ini (misalnya,100untuk seluruh jumlah atau50untuk setengahnya).
    • delay: Penundaan sebelum transaksi diproses. Hal ini dapat ditentukan dalam hitungan menit (misalnya,120) atau dalam format teks (misalnya,"2h 0m").
    • destination_tag: Bidang ini diperlukan untukXRPdanTONjaringan. Jika tidak diperlukan, dapat dihilangkan atau dibiarkan kosong (misalnya,"").
  • amount: Jumlah total dalam satuan koin yang akan ditransfer. Harap gunakan titik sebagai pemisah desimal (misalnya,10.00000000).
  • crypto/ network: Jaringan koin dan blockchain (misalnya,btc/ btcuntuk Bitcoin).
  • partner: Opsional namun disarankan. PARTNER KEYAnda tersedia diPartnerdi bawah tab API (dengan API-KEY Anda). Bila digunakan, Anda mendapatkan30% dari biaya layanan.
  • service_fee: Opsi penggantian biaya layanan dalam persen. Jika dihilangkan, default sistem akan berlaku. Jika disediakan, harus berupa angka antara0.1dan5(inklusif).
  • qrcode: Opsional.1mengembalikan URL data Base64 di bawahdeposit.qr_code; 0atau dihilangkan tidak akan mengembalikan kode QR.
  • destination_tag: Diperlukan untukXRPdanTONjaringan. Jika tidak diperlukan, dapat dihilangkan atau dibiarkan kosong ("").

Cara Menggunakan Kode QR

Ketikaqrcodediatur ke1, responsnya akan menyertakan gambar berkode Base64 di bawah bidangdeposit.qr_code. Ini adalah kode QR yang berfungsi penuh yang dapat Anda sematkan di frontend Anda sebagai gambar, memungkinkan pengguna memindainya dengan aplikasi dompet mereka. Berikut adalah contoh cara menampilkannya di halaman web:

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

Pengguna dapat memindai kode QR dengan aplikasi dompet pilihan mereka untuk langsung mengisi alamat tujuan dan jumlah, memfasilitasi transaksi yang cepat dan aman.

Respon

{
  "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: Pengidentifikasi pesanan unik.
  • deposit: Ke mana pengguna harus mengirim dana.
  • fees: Semua diterapkan biaya.
  • outputs: Distribusi dana yang direncanakan, dengan penundaan.
  • timedanexpires_at: Stempel waktu Unix (zona waktu GMT-3).
  • signature_text: Tanda tangan lapis baja digital untuk validasi.

Contoh 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 APImemungkinkan Anda menukarfrom_coin/ from_networkdeposit ke dalam satuto_coin/ to_networkalamat tujuan. Kami mengalokasikan alamat deposit, menghitung kuotasi langsung (batas & biaya berbasis USD yang berlaku), dan mengembalikan objek pesanan lengkap yang dapat Anda pilih hingga didanai dan dieksekusi.

  • Kasus penggunaan: pertukaran instan saat checkout, “deposit dalam X → terima Y”, jembatan off-ramp/on-ramp antara L1/L2.
  • Dapatkan batas pasangan & biaya default melalui/v1/meta/exchangesebelum membuat pesanan.
  • Semua bidang moneter ada diunit koinkecuali disebutkan; batasnya adalahBerbasis USD.
  • Semua cap waktu adalah Unix epoch detik (zona waktu server GMT‑3).

PERTUKARAN / Buat Pesanan


Buat pesanan pertukaran baru. Anda menyediakanfrom_* sisi (koin/jaringan/jumlah) dan tujuanto_addressuntuk sisito_* . Kami mengembalikan alamat deposit padafrom_network, kuotasi, dan keluaran yang direncanakan.

Aturan Validasi

  • amount: Nilai USD (jumlah × dari_harga koin) harus berada dalam spesifik pasanganmin_usd/ max_usddari/v1/meta/exchange.
  • address format: Harus cocok denganto_network yang dipilih (misalnya, ERC‑200x…, TRC‑20T…, BTC, DOGE, SOL, dll.).
  • destination_tag / memo: Opsional tetapi diwajibkan oleh beberapa jaringan (misalnya,XRPtag,TONmemo).
  • service_fee(opsional, persen):
    • Hingga 2 desimal (misalnya,0.6 = 0.60%).
    • Penjepit global: min0.50%, max3.00%.
    • Jika tersedia di bawah default situs untuk pasangan tersebut, default situs akan berlaku. Jika di atas3.00%, dibatasi pada3.00%.
    • Jika dihilangkan, biaya efektif =max(site_default, 0.50%).

Catatan

  • quote.final_usd= (jumlah × dari harga) × (1 − biaya%).
  • quote.to.estimated_receive = final_usd ÷ to_coinharga.
  • receive.delay_label: Penundaan yang direncanakan sebelum kami mengirimkan swap (default0h 10m).
  • expires_at: Jendela deposit untuk alamat yang dialokasikan.
  • Gunakan?pretty=1untuk JSON yang dicetak cantik saat pengujian.
POST/v1/exchange/orders

Headers

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

Permintaan Isi

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

Badan Permintaan (contoh 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"
}

Respon

{
  "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: Pengidentifikasi pesanan unik untuk status jajak pendapat.
  • deposit: Di mana pengguna harus mengirimfrom_coin.
  • quote: Cuplikan harga dan biaya efektif.
  • receive/ outputs: Detail keluaran swap yang direncanakan.

Contoh 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);

Cara Menggunakan Kode QR

Ketikaqrcodedisetel ke1di Buat, responsnya mencakup a QR berkode Base64 di bawahdeposit.qr_code. Sematkan langsung sebagai <img> agar pengguna dapat memindai alamat penyetoran.

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

Harga


Ambil harga pasar terbaru diUSDuntuk mata uang kripto yang didukung. Anda dapat menanyakan beberapa simbol sekaligus dengan memisahkannya menggunakan koma.

Endpoint

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

Parameter Kueri

  • symbols(opsional): Daftar simbol koin yang dipisahkan koma (misalnya,BTC,ETH,USDT). Jika dihilangkan, semua koin yang didukung akan dikembalikan.

Respon

  • ok: truejika permintaan berhasil.
  • base: SelaluUSD.
  • ts: Stempel waktu Unix (detik).
  • prices: Pemetaan objekSYMBOL → "price"(nomor string).

Permintaan Contoh (Hanya 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);

Permintaan Contoh (Semua Simbol)

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

Contoh Respon

{
  "ok": true,
  "base": "USD",
  "ts": 1755600000,
  "prices": {
    "BTC": "117799.51713382",
    "ETH": "4409.46254479",
    "USDT": "1.0005594"
  }
}

Kode Kesalahan

  • BAD_REQUEST: Tidak validsymbolsformat.
  • UNAUTHORIZED / FORBIDDEN: Kunci API tidak valid atau hilang.
  • SERVER_ERROR: Server/database internal error.

Catatan

  • Ticker yang tidak didukung dihilangkan begitu saja dari objekprices.
  • Nilai numerik dikembalikan sebagai string untuk menjaga presisi.

Status Pesanan


Gunakan satu titik akhir untuk memeriksa status pesananmixerdanpertukaran. Anda dapat secara eksplisit mengatur jenis pesanan (mixer/ exchange) atau membiarkan API mendeteksinya secara otomatis.

Endpoint

POST/v1/orders/check

Badan Permintaan

  • trackcode(wajib): Kode pelacakan huruf besar 16 karakter pesanan.
  • type(opsional): mixer | exchange. Jika dihilangkan, API akan mencoba mendeteksi secara otomatis.
  • outputs(opsional): none | summary | full(default:summary).
  • mask_addresses(opsional): true=alamat mask (default),false=mengembalikan alamat lengkap.

Respons

  • type: mixeratauexchange.
  • deposit.confirm_status: Status konfirmasi setoran:
    • 0: Tidak ada pembayaran yang diterima.
    • 1: Pembayaran telah diterima tetapi masih tertunda (menunggu konfirmasi atau belum didanai sepenuhnya).
    • 2: Deposit telah dikonfirmasi dan didanai sepenuhnya.
  • deposit.delete_in_sec: Sisa detik hingga retensi 48 jam habis masa berlakunya.
  • deposit.fundingblock:
    • waiting_balance: Total jumlah yang diharapkan.
    • received_balance: Jumlah yang diterima sejauh ini.
    • remaining_need: Sisa jumlah yang dibutuhkan.
    • is_fully_funded: Apakah didanai penuh.
    • can_start: hanyabenar jikaconfirm_status==2DANis_fully_funded==true.
  • outputs:
    • none: Tidak dikembalikan.
    • summary: Mengembalikancount, sent_count, sent_total.
    • full: Untuk setiap keluaran:index, address(bertopeng atau tidak),destination_tag, coin, network, share_percent, delay_label, delay_seconds, state, confirm, tx, amount, left_seconds.
  • status_reason: mis."INSUFFICIENT_FUNDS"(if not fully funded).

Business Rules

  • Orders will not startunless fully funded (is_fully_funded=false): outputs remain unassigned and no partner payout is generated.
  • Ifconfirm_status==2ANDis_fully_funded==true:
    • Outputs are timestamped once and remain consistent on repeated checks.
    • Affiliate earnings are credited a single time when the order becomes valid.

Example Request (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);

Example Response — Fully Funded

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

Example Response — Underfunded

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

Outputs Explanation

  • index: Sequential output number in the order.
  • address: Destination address where funds are sent.
  • destination_tag: Optional tag/memo for XRP, XLM, etc. (nullif not required).
  • coin: Cryptocurrency code of the output (e.g.,btc, eth).
  • network: Network name used for transfer (e.g.,btc, eth).
  • share_percent: Persentase total deposit yang ditetapkan pada output ini.
  • delay_label: Label yang dapat dibaca manusia menunjukkan kapan output ini akan diproses (misalnya,2h 0m).
  • delay_seconds: Penundaan dalam hitungan detik hingga output dapat mulai diproses.
  • state: Status output:
    • 0→ Menunggu (deposit belum sepenuhnya dikonfirmasi).
    • 1→ Pemrosesan (dijadwalkan; dimulai ketikadelay_secondsmencapai 0).
    • 2→ Selesai (transfer selesai).
  • confirm: Status konfirmasi transfer (hanya relevan distate=2):
    • 0→ Transaksi disiarkan tetapi belum dikonfirmasi (tertunda).
    • 1→ Transaksi dikonfirmasi (setidaknya 1 blockchain konfirmasi).
  • tx: Hash transaksi Blockchain untuk keluaran ini.
  • amount: Jumlah yang dikirim ke alamat keluaran ini.
  • left_seconds: Sisa detik hingga waktu pengiriman yang dijadwalkan.
    Catatan:Hitungan mundur ini direset sekalideposit.confirm_status=2(dikonfirmasi sepenuhnya). Contoh: jika600detik (10 menit) diatur, penghitungan mundur dimulai hanya setelah konfirmasi setoran.

Catatan:Data pembayaran dan keluaran disegarkan setiap ~1 menit.

Kode Kesalahan

  • BAD_REQUEST: Hilang/tidak validtrackcode, format isi permintaan salah.
  • NOT_FOUND: Pesanan tidak ditemukan.
  • UNAUTHORIZED / FORBIDDEN: Kunci API tidak valid atau dinonaktifkan.
  • TOO_MANY_REQUESTS: Batas permintaan harian terlampaui.
  • SERVER_ERROR: Kesalahan server tak terduga.

  • mask_addresses: dikontrol olehmask_addresses(default:true).
  • delay_seconds: setara numerikdelay_label(hanya dikembalikan dalamfullmode).

Hapus Pesanan


Hapus pesanan yang sudah ada sehingga tidak dapat diakses lagi melalui API. Setelah dihapus, pesanan secara permanen tidak tersedia untuk pertanyaan lebih lanjut.

Endpoint

POST/v1/orders/delete

Badan Permintaan

  • trackcode(wajib): Kode pelacakan huruf besar 16 karakter.
  • type(opsional): mixer | exchange. Jika dihilangkan, deteksi otomatis.

Respon

  • ok: truejika berhasil.
  • trackcode: Gema kode pelacakan yang diminta.
  • type: Jenis pesanan (mixeratauexchange).
  • deleted: truejika pesanan sudah dihapus.

Perilaku

  • Jika pesanan sudah dihapus atau tidak ditemukan, API mengembalikan404 NOT_FOUND.
  • Jikatype disediakan, hanya jenis itu yang dicentang; jika tidak, deteksi dilakukan secara otomatis.

Permintaan Contoh (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);

Respon Contoh — Berhasil

{
  "ok": true,
  "trackcode": "D391FC08747E7B04",
  "type": "exchange",
  "deleted": true
}

Contoh Respons — Tidak Ditemukan

{
  "ok": false,
  "code": "NOT_FOUND",
  "message": "Order not found or already deleted"
}

Kode Kesalahan

  • BAD_REQUEST: Tidak validtrackcodeatautype.
  • NOT_FOUND: Pesanan tidak ditemukan atau sudah dihapus.
  • UNAUTHORIZED / FORBIDDEN: Kunci API tidak valid atau hilang.
  • SERVER_ERROR: Kesalahan server internal.

Validasi Tanda Tangan


Validasi secara digital muatan yang ditandatangani (tanda tangan Surat Jaminan). Setelah dekripsi berhasil, API mengembalikan subset terverifikasi dari detail pesanan terkait (mixer atau pertukaran), sesuai untuk pemeriksaan sisi klien dan tampilan status.

Endpoint

POST/v1/validate

Badan Permintaan

  • signature(wajib): Blok tanda tangan digital, baik mentah Base64 atau dengan baris BEGIN/END.

Respon

  • ok: truejika berhasil.
  • message: Pesan status yang dapat dibaca manusia.
  • type: mixer | exchange.
  • route: Untuk mixer:confirm | deposit | mixing. Untuk pertukaran:exc-deposit | exc-send.
  • trackcode: Kode pelacakan terselesaikan.
  • order:
    • deposit_address(string)
    • service_fee(string, 2 desimal)
    • coin(string)
    • network(string)
    • waiting_balance(string, 8 desimal)
    • created_at(integer, Unix cap waktu)
  • outputs(array):
    • coin, network, address, destination_tag
    • share_percent(string, 2 desimal)
    • delay_minutes(integer),delay_label(misalnya2h 0m)
    • amount(string, 8 desimal)
  • outputs_count(integer)

Behavior

  • Digital yang disediakan tanda tangan divalidasi terhadap sistem.
  • Hanya pesanan terbaru (dalam waktu 48 jam) yang memenuhi syarat untuk validasi. Pesanan lama mungkin telah dihapus secara otomatis.
  • Jika tidak ada pesanan yang valid ditemukan, API merespons dengan404 NOT_FOUND.

Permintaan Contoh (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);

Respon Contoh — Berhasil

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

Contoh Respons — Kesalahan

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

Kode Kesalahan

  • BAD_REQUEST: Hilangsignatureatau format payload salah.
  • INVALID_SIGNATURE: Base64 tidak valid atau blok tanda tangan terlalu pendek.
  • DECRYPTION_FAILED: Dekripsi AES‑GCM gagal.
  • INVALID_PAYLOAD: Payload yang didekripsi tidak valid JSON.
  • MISSING_TRACKCODE: trackbidang tidak ada di payload.
  • NOT_FOUND: Pesanan tidak ditemukan dalam 48 jam terakhir.
  • UNAUTHORIZED / FORBIDDEN: Kunci API tidak valid atau hilang.
  • SERVER_ERROR: Kesalahan server internal.

Catatan

  • Presisi numerik:waiting_balancedanamount→ 8 desimal (string),share_percent→ 2 desimal (string),service_fee→ 2 desimal (string).
  • Penundaan: label manusia (delay_label) dan menit yang dapat dibaca mesin (delay_minutes) dikembalikan.

Batas Tarif


Batas:1000 permintaan / hari / API key.