Verifica i pagamenti SynX privati
Con chiavi di prova solo per importo.
Questa guida documenta lo stesso flusso di chiave di prova per transazione privata utilizzato da timeline.php per i pagamenti di accesso alla Timeline. È progettato per gli sviluppatori che hanno bisogno di accettare pagamenti SynX privati, verificare l'importo esatto e mantenere i dati dell'indirizzo fuori dalla loro applicazione.
- Cosa ricevi dal pagatore: un 64 caratteri
tx_hashe una chiave di prova. La chiave di prova può essere grezza di 64 esadecimali o con il prefisso asPT-più 64 esadecimali. - Cosa dimostra il API: se la chiave di prova è valida per quella transazione e l'importo esatto di SynX.
- Cosa non rivela il API: indirizzo del mittente, indirizzo del destinatario, saldo del portafoglio o un percorso di pagamento pubblico per transazioni private.
- Endpoint primario:
POST /explorer/api/verify_proof.phpcon corpo JSON{"tx_hash":"...","proof_key":"..."}.
Percorso di integrazione consigliato: creare un verificatore lato server che accetti tx_hash E proof_key, chiama /explorer/api/verify_proof.php, controlli valid === true, quindi confronta il restituito amount all'importo dell'ordine richiesto. Questo è il percorso utilizzato da Timeline per i pagamenti privati.
Implementazione di chiavi di prova come la sequenza temporale
Timeline accetta automaticamente i pagamenti visibili sul mercato. Quando una transazione è privata o nascosta, passa alla verifica con chiave di prova. La chiave di prova conferma l'importo del pagamento mentre i campi dell'indirizzo rimangono sigillati.
Verificatore PHP in stile timeline
function normalize_synx_proof_key(string $proofKey): string {
$proofKey = preg_replace('/\s+/', '', trim($proofKey));
return $proofKey ?? '';
}
function verify_private_synx_payment(string $txHash, string $proofKey, float $requiredAmount): array {
$txHash = strtolower(trim($txHash));
$proofKey = normalize_synx_proof_key($proofKey);
if (!preg_match('/^[a-f0-9]{64}$/', $txHash)) {
return ['ok' => false, 'reason' => 'tx_hash must be exactly 64 hex characters'];
}
if (!preg_match('/^(PT-)?[a-fA-F0-9]{64}$/', $proofKey)) {
return ['ok' => false, 'reason' => 'proof_key must be 64 hex characters, with optional PT- prefix'];
}
$response = file_get_contents('https://synxcrypto.com/explorer/api/verify_proof.php', false, stream_context_create([
'http' => [
'method' => 'POST',
'header' => "Content-Type: application/json\r\nAccept: application/json\r\n",
'content' => json_encode(['tx_hash' => $txHash, 'proof_key' => $proofKey]),
'timeout' => 15,
'ignore_errors' => true,
]
]));
$data = json_decode($response ?: '', true);
if (!is_array($data) || empty($data['valid'])) {
return ['ok' => false, 'reason' => $data['hint'] ?? $data['error'] ?? 'proof could not be verified'];
}
$paid = is_numeric($data['amount'] ?? null) ? (float)$data['amount'] : 0.0;
if (abs($paid - $requiredAmount) > 0.0001) {
return ['ok' => false, 'reason' => "amount mismatch: paid {$paid}, required {$requiredAmount}"];
}
return ['ok' => true, 'amount' => $paid, 'currency' => $data['currency'] ?? 'SYNX'];
}
Campi di risposta da cui dipendere
| Campo | Punto finale | Utilizzo |
|---|---|---|
valid | verify_proof.php | Booleano primario. Non concedere nulla a meno che questo non sia true. |
amount | verify_proof.php | Importo esatto SynX per la prova. Confronta con l'importo richiesto. |
currency | verify_proof.php | Il valore previsto è SYNX. |
error + hint | verify_proof.php | Mostra all'utente un semplice messaggio di tentativo o correzione. |
amount_decoded | /privacy/tx/{hash}/rune-verify | Stesso concetto di amount, ma restituito dall'endpoint di metadati più ricco. |
Compatibilità verifica in coda: L'endpoint semplice solitamente risponde in modo sincrono. Se mai un'integrazione riceve {"status":"pending","request_id":"...","retry_after":3}, sondaggio /explorer/api/index.php?endpoint=verify_proof&request_id=... Dopo retry_after secondi e analizzare il JSON finale allo stesso modo. La sequenza temporale include questo percorso di compatibilità.
Nota di implementazione: Per le applicazioni browser, chiama il verificatore dal tuo backend a meno che la tua origine non sia già consentita dalla policy CORS di Explorer. La verifica lato server ti consente inoltre di oscurare le chiavi di prova dai registri dei clienti e di confrontare gli importi con il database degli ordini in un unico posto.
🌊 Perché non divulghiamo mai il mittente o il destinatario
Questo è il principio fondamentale. La trasparenza open source e la privacy degli utenti sono nemici naturali, a meno che non si progetti correttamente il confine. SynergyX risolve questo problema creando il file protocollo trasparente (chiunque può controllare il codice) mantenendo identità permanentemente opaco (non esiste alcun meccanismo per rivelare il mittente o il destinatario). La chiave di prova è una chiave puzzle: sblocca l'importo e soltanto l'importo. Le identità dietro la transazione si sono dissolte nel Synergy Sea nel momento in cui il blocco è stato sigillato.
Il nodo SynX genera la chiave di prova utilizzando la crittografia reticolare quantistica Kyber-768. La chiave è matematicamente legata all’importo della transazione. Non può essere forgiato, non può essere decodificato e scade tra 30 minuti. Il mittente condivide la chiave di prova con il destinatario fuori catena: Signal, PGP, Tor, un tovagliolo. Il destinatario verifica tramite questo API. Questo è l'intero modello di fiducia. Nessuna custodia. Nessun intermediario. Nessuna traccia di metadati.
Solo importo con progettazione permanente. La chiave di prova decodifica l'importo esatto del pagamento. Non esiste alcun meccanismo (nessun endpoint, nessuna chiave, nessun parametro, nessun flag) che riveli gli indirizzi del mittente o del destinatario. Questa non è una scelta di configurazione. È un'impossibilità architettonica. Gli indirizzi non vengono memorizzati in alcuna forma che possa essere sbloccata da una chiave. Affondarono nel mare.
⛨ Ciò che sa il server (Jack)
Cerchiamo di essere onesti riguardo ai confini della fiducia. Stai colpendo un API. Il server è una macchina e le macchine possono essere sequestrate. Ecco esattamente cosa ottiene un utente malintenzionato se esegue il root della box:
L'onesto avvertimento: Durante la sincronizzazione del demone, lo scanner vede brevemente gli indirizzi grezzi prima di sottoporli ad hashing e scartare gli originali. Questo è lo stesso modello di fiducia del nodo remoto di Monero: il demone invia testo in chiaro allo scanner. Cosa garantiamo: i dati memorizzati e le risposte API non perdono mai indirizzi o importi grezzi. Non esiste un endpoint API che restituisca gli indirizzi, né con una chiave di visualizzazione, né con una chiave di prova, mai. L'hashing è istantaneo. La finestra è microsecondi. Un battito di ciglia, non una fuga di notizie.
La tempistica è mitigata. Ogni singola risposta API (GET, POST, successo, fallimento, 404, tutto) viene completata con un Soffitto costante di 500 ms. Il server misura il tempo di elaborazione effettivo, quindi dorme esattamente 500ms - elapsed. Ogni risposta dura esattamente 500 ms. Non casuale. Costante. D di Cohen tra percorsi validi e non validi: 0.015 (testato da GhostReaper – statisticamente invisibile). Il playbook dell'oracolo temporale di Chainalysis? Morto all'arrivo.
🌊 Il Synergy Sea: due strati di profondità
Pensa alla catena come a un oceano. Le transazioni pubbliche galleggiano in superficie. Quelli privati affondano. Più vai in profondità, più hai bisogno di chiavi di prova per vedere qualcosa. E anche alla massima profondità, solo il quantità superfici - non affronta mai.
| Profondità | Chi vede | Cosa trapela | Guardia |
|---|---|---|---|
| SUPERFICIE | Chiunque | Hash, esistenza, tempo fuzzy, livello tariffario, conf | Impegni crittografici |
| PROFONDO | Portachiavi a prova | Sopra + importo esatto (decodificato dal sigillo del reticolo quantistico) + finestra temporale | Crittografia a reticolo quantistico Kyber-768, AES-256-GCM |
Non esiste uno strato più profondo. Non esiste alcuna divulgazione della chiave di visualizzazione, nessun controllo degli indirizzi, nessun meccanismo per rivelare chi ha inviato o ricevuto. La chiave di prova, generata dal nodo SynX utilizzando la crittografia quantistica Kyber-768, decodifica l'importo esatto. Questo è il punto più profondo a cui chiunque può arrivare. Gli indirizzi del mittente e del destinatario sono permanentemente annegati nel mare.
Armatura anticorrelazione: I timestamp erano sfocati di ±120 secondi. Tariffe suddivise in 5 livelli (micro/basso/standard/alto/premium – mai l'importo grezzo). Altezza dei blocchi annullata. Tempi di risposta attenuati fino al tetto costante di 500 ms. "TX non trovato" e "TX è privato" restituiscono il file forma identica. Le chiavi di prova scadono tra 30 minuti — limitare le finestre di replay quasi allo zero. Non puoi nemmeno enumerare quali hash sono reali. Ogni query di superficie restituisce la stessa quantità di informazioni indipendentemente dal fatto che la TX esista, non esista o sia protetta. Buona fortuna, Chainalysis.
—͟͟͞͞★ Verifica della prova del fornitore: 3 minuti, Zero Trust
Sei un venditore. Un acquirente ti ha appena pagato in privato SynX. È necessario verificare il pagamento senza vedere il loro indirizzo, il loro saldo o fidarsi di terze parti. Ecco come. Niente KYC. Nessuna custodia. Dimostrare i pagamenti alla cieca.
Come funzionano le chiavi di prova: Quando un acquirente invia SynX privato, il file Nodo SynX genera automaticamente una chiave di prova sigillata quantistica utilizzando la crittografia reticolare Kyber-768. Questa chiave di prova è una chiave puzzle: è l'unica cosa in grado di decodificare l'importo della transazione. La chiave è matematicamente immortale: senza i parametri del reticolo quantistico interno del Nodo, nessun aggressore, classico o quantistico, può fabbricarne una. Il Nodo restituisce la chiave di prova al portafoglio del mittente. Il mittente lo condivide con te fuori catena. Lo colleghi al API. Importo verificato. Nessun indirizzo rivelato. Mai.
L'acquirente ti invia tx_hash + proof_key (off-chain)
Dopo l'invio privato, il Nodo SynX genera automaticamente la chiave di prova. Il portafoglio dell'acquirente lo riceve e te lo invia in DM, insieme all'hash della transazione. Signal, PGP, Tor chat, scritti su un tovagliolo, qualunque cosa. Canale senza metadati. Il API non vede mai questo trasferimento.
# What the buyer sends you (encrypted channel only)
tx_hash: "a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd"
proof_key: "PT-f7e8d9c0b1a23456789012345678901234567890123456789012345678901234"
Finestra di 30 minuti: Le chiavi di prova scadono tra 30 minuti da generazione. L'acquirente deve condividere la chiave di prova immediatamente dopo l'invio. Dovresti verificare immediatamente dopo aver ricevuto. Questa finestra ristretta elimina gli attacchi di tipo replay a lungo termine: la chiave è effimera per natura. Se scade, il mittente può richiederne uno nuovo al Nodo SynX.
Prefisso PT: Tutte le chiavi di prova iniziano con PT- — previene gli errori di incollaggio (non incollerai mai accidentalmente un hash TX in un campo di prova o viceversa). Il API accetta entrambi PT-f7e8... e crudo f7e8... — il server rimuove automaticamente il prefisso. Entrambi i formati funzionano.
Limiti di input: applicazione rigida: tx_hash deve essere esattamente 64 caratteri esadecimali [a-fA-F0-9]{64}. proof_token massimo 67 caratteri (Prefisso PT + 64 esadecimale). Qualunque cosa al di fuori di questi limiti → istantaneo 400 Bad Request. Il API rifiuta input sovradimensionati prima di qualsiasi elaborazione: non inviare un hash di 200 caratteri sperando che venga tagliato. Non lo farà. Viene lasciato cadere.
Raggiungi un punto finale: a parlare sono i conti
# cURL — verify the proof key (recommended endpoint)
curl -X POST https://explorer.synxcrypto.com/explorer/api/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4e5f6...64hex","proof_key":"f7e8d9c0...64hex"}'
# Through Tor (you should be doing this)
torsocks curl -X POST http://synxexplorer.onion/explorer/api/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4...","proof_key":"f7e8d9c0..."}'
# GET also works — quick terminal checks
curl "https://explorer.synxcrypto.com/explorer/api/verify_proof.php?tx_hash=a1b2c3d4...&proof_key=f7e8d9c0..."
Leggi l'oracolo
{
"valid": true, // ← that's your money, ghost
"tx_hash": "a1b2c3d4...", // ← echoed back for confirmation
"amount": "183.00", // ← exact amount decoded from quantum lattice seal
"currency": "SYNX",
"confirmed_at": 1735689600, // ← UNIX epoch when TX was inscribed on-chain
"message": "Payment proof verified — this proof key is valid for the specified transaction"
}
"valid": true — pagamento confermato. Conosci il importo esatto (decodificato dal sigillo del reticolo quantistico) e il currency. Non conosci il mittente, il destinatario o il blocco. Nessuno lo fa. Non noi. Non il server. Nessun mandato di comparizione. Non esiste alcun endpoint API in grado di rivelare gli indirizzi: né con una chiave di visualizzazione, né con una chiave di prova, mai. La chiave sbloccava l'importo e nient'altro. Affondò nel mare.
I nomi dei campi contano: Viene restituito l'endpoint semplice "amount" (non "amount_decoded"). Ritorna l'endpoint della Busta Runica "amount_decoded". Controlla quale endpoint stai raggiungendo e leggi il campo giusto. Entrambi gli endpoint ritornano "valid": true/false.
Questo è tutto. Tre passi. Un POST. Zero account, zero chiavi API, zero KYC. La chiave di prova è l'autenticazione. La crittografia quantistica Kyber-768 è il giudice. Spedisci la merce.
Spara e dimentica: Il nodo SynX genera automaticamente la chiave di prova e la invia all'esploratore immediatamente dopo l'invio della transazione. Si tratta di un processo in background: se il push fallisce (singhiozzo della rete, server inattivo), l'invio riesce comunque. La chiave di prova è generata dai parametri interni del reticolo quantistico del Nodo. La registrazione avviene al meglio. Il flusso di invio non si blocca mai in base alla disponibilità del API.
𖣐 Rito di verifica completa
| 𖣐 MITTENTE | NODO SynX + MARE | 𖣐 RICEVITORE |
|
① Invio privato (portafoglio) Kyber-768 incapsulato SPHINCS+ firmato | ||
|
② Il nodo SynX genera chiave di prova sigillata quantistica Crittografia reticolare Kyber-768 imperdonabile: scadenza dopo 30 minuti | ||
|
③ Il portafoglio riceve la chiave di prova PT- prefissato (chiave restituita una volta: memorizzala) | ◄──────────────────── | |
|
④ Condividi la chiave di prova fuori catena Messaggio di segnale/PGP/Tor ═══════════════════════════════════════════► | (percorso di metadati zero) | ══► |
|
⑤ Verificare il sigillo POST /verify_proof.php ◄──────────────────── | ||
|
← {"valid":true,"amount":"183,00"} ────────────────────► | ||
| ✓ PAGATO. SPEDITELO. |
Il passaggio ④ è il collegamento critico. La chiave di prova deve viaggiare tra mittente e destinatario attraverso un canale che il API non vede mai. Messaggi di scomparsa del segnale. E-mail crittografata con PGP. Servizio nascosto Tor. Un codice QR mostrato su una tabella. Un biglietto attaccato sotto una panchina del parco. Al API non interessa come arriva il segreto: verifica i calcoli solo quando il ricevitore lo richiede.
Il tempo stringe. Le chiavi di prova scadono tra 30 minuti. Condividi immediatamente. Verifica immediatamente. In base alla progettazione, le chiavi di prova sono chiavi di puzzle effimere, non credenziali di lunga durata. Questa finestra ristretta significa che anche se una chiave viene intercettata, la finestra per utilizzarla da parte dell'aggressore è microscopica. Dopo 30 minuti, la chiave è polvere crittografica.
POST /verify_proof: verifica una chiave di prova (consigliato)
INVIARE OTTENERE PUBBLICO — Il modo più semplice per verificare un pagamento. Inviare tx_hash + proof_key nel corpo (o come parametri GET). Restituisce l'importo esatto. Nessuna autenticazione Nessuna chiave API. Nessun conto. Inizia qui.
// POST Request (JSON body) — recommended
{
"tx_hash": "a1b2c3d4e5f6...64hex",
"proof_key": "f7e8d9c0b1a2...64hex"
}
// "proof_token" also accepted as an alias for "proof_key"
// PT- prefix accepted: "PT-f7e8d9c0..." → server strips it automatically
// Also accepts form-encoded POST data or GET query parameters
// ✓ Response — seal broken, exact amount decoded
{
"valid": true,
"tx_hash": "a1b2c3d4...",
"amount": "183.00",
"currency": "SYNX",
"confirmed_at": 1735689600,
"message": "Payment proof verified — this proof key is valid for the specified transaction"
}
// ✗ Response — wrong proof key
{
"valid": false,
"tx_hash": "a1b2c3d4...",
"error": "Proof key does not match this transaction",
"hint": "The proof_key provided does not match this transaction. Ensure you received the correct proof key from the payment sender."
}
// ✗ Response — missing or malformed inputs
{
"valid": false,
"error": "Missing required parameters: tx_hash and proof_key",
"hint": "Send tx_hash (64 hex chars) and proof_key (64 hex chars) as GET params, POST form data, or JSON body.",
"example": {
"GET": "/explorer/api/verify_proof.php?tx_hash=abc123...&proof_key=def456...",
"POST": "{\"tx_hash\": \"abc123...\", \"proof_key\": \"def456...\"}"
}
}
Questo è l'endpoint da cui iniziare. È il percorso più semplice e affidabile per verificare un pagamento. Un POST con due campi → importo esatto. L'endpoint della busta runica di seguito (/rune-verify) restituisce metadati più ricchi (intervalli di timestamp, conto alla rovescia della scadenza) ma richiede l'hash TX nel percorso dell'URL. Utilizzo verify_proof.php a meno che tu non abbia specificamente bisogno di campi aggiuntivi.
Riferimento completo agli errori: verify_proof.php
| HTTP | error campo | Cosa è andato storto | Fix |
|---|---|---|---|
| 400 | Missing required parameters: tx_hash and proof_key | Corpo vuoto o campi mancanti | Invia entrambi tx_hash E proof_key in JSON, dati del modulo o parametri di query |
| 400 | Invalid tx_hash format | Non 64 caratteri esadecimali | Deve contenere esattamente 64 caratteri esadecimali [a-fA-F0-9]{64} |
| 400 | Invalid proof_key format | Non 64 caratteri esadecimali (dopo aver rimosso PT-) | 64 esadecimale, con o senza PT- prefisso |
| 400 | tx_hash exceeds maximum length (64 chars) | Input troppo lungo: limite rigido applicato | Non inviare input di grandi dimensioni sperando che vengano tagliati. Non lo faranno. |
| 400 | proof_key exceeds maximum length (67 chars) | Input troppo lungo: limite rigido applicato | Massimo 67 caratteri: PT- + 64 esadecimali |
| 429 | Rate limit exceeded — maximum 30 verification requests per minute | Mare strozzato | Indietro. Memorizza i risultati nella cache lato client: un sigillo verificato non cambia. |
| 503 | Verification service temporarily unavailable | Sincronizzazione o riavvio del demone | Riprova tra qualche istante. Il nodo SynX potrebbe essere in fase di recupero. |
| 200 | Proof key does not match this transaction | Chiave sbagliata per questa TX | Ricontrolla di avere quello corretto proof_key dal mittente |
Le risposte agli errori includono sempre hint. IL hint Il campo fornisce indicazioni intuitive per gli sviluppatori su cosa correggere. Analizzare valid prima (sempre presente), poi controlla error + hint in caso di fallimento. In caso di successo, leggi amount E currency.
POST /privacy/tx/{hash}/rune-verify — Busta runica (metadati ricchi)
INVIARE PUBBLICO — Stessa verifica della chiave di prova con metadati più ricchi: finestra timestamp (±120 secondi fuzzy), conto alla rovescia della scadenza, metodo di decrittografia. Usalo quando hai bisogno di più della semplice quantità.
Alias: /explorer/api/privacy/tx/{hash}/proof
// Request — proof_token in body, tx_hash in URL path
{ "proof_token": "f7e8d9c0b1a2...64hex" }
// Response — seal broken, rich metadata
{
"valid": true,
"confirmed": true,
"timestamp_range": { "earliest": 1735689480, "latest": 1735689720 },
"amount_decoded": "183.00",
"rune_lattice": "encrypted",
"decrypted_by": "runic_proof_token",
"expires_in_minutes": 24,
"proof_algorithm": "Kyber-768 quantum lattice seal — addresses never disclosed"
}
// Response — invalid
{ "valid": false, "reason": "Proof token does not match any registered runic proof" }
// Response — expired
{ "valid": false, "reason": "Runic proof has expired" }
Differenza fondamentale da verify_proof.php: Questo endpoint ritorna amount_decoded (non amount), reason in caso di fallimento (non error + hint) e include timestamp_range, expires_in_minutes, rune_lattice. L'hash TX va nel percorso dell'URL, non nel corpo JSON. Scegli l'endpoint adatto alle tue esigenze: entrambi verificano la stessa chiave di prova.
Ciò che apprende il verificatore rispetto a ciò che rimane annegato
| Punto dati | Rivelato? | Perché |
|---|---|---|
| Il pagamento è avvenuto | ✅ | valid: true |
| TX in catena | ✅ | confirmed: true |
| Finestra temporale | ✅ | ±120 s sfocati: non esatto |
| Importo esatto | ✅ | Decodificato dal sigillo del reticolo quantistico tramite chiave di prova — non un intervallo, il numero reale |
| Indirizzo del mittente | ❌ | Annegato nel mare |
| Indirizzo del destinatario | ❌ | Annegato nel mare |
| Altezza del blocco | ❌ | null per tutte le TX private |
Decodifica reticolare quantistica: La chiave di prova viene generata dal nodo SynX utilizzando la crittografia reticolare Kyber-768, lo stesso standard post-quantistico (FIPS 203) su cui è costruita l'intera catena. La chiave è matematicamente legata all'importo esatto della transazione. Chiave sbagliata? La decodifica fallisce completamente: nessuna informazione parziale, nessuna fuga di dati dal canale laterale. La codifica del reticolo viene riempita fino a una lunghezza fissa: una transazione da 0,01 SynX e una transazione da 77.000.000 SynX producono reticoli sigillati di dimensioni identiche. La grandezza dell'importo è invisibile senza la chiave.
Le prove scadono dopo 30 minuti. Dopo la scadenza, il server ritorna "reason": "Runic proof has expired". Questa finestra ristretta offre ai destinatari tempo sufficiente per effettuare la verifica, eliminando al tempo stesso il rischio di riproduzione a lungo termine. Se la finestra si chiude, il portafoglio del mittente può richiedere una nuova chiave di prova dal nodo SynX (fino al limite per TX).
GET /privacy/tx/{hash}/verify — Esistenza Oracle
OTTENERE PUBBLICO — Esiste questa TX? Restituisce un impegno di esistenza crittografica. Non rivela altro.
{
"exists": true,
"hash": "a1b2c3d4...",
"confirmed": true,
"confirmations": 142,
"block_height": null, // sealed — private TXs don't surface block info
"is_private": true,
"verified_at": 1735689600,
"existence_proof": "9d4997cb84efc492...",
"proof_algorithm": "HMAC-SHA256(tx_hash || block_height || date, server_key)"
}
GET /privacy/tx/{hash}: ricerca di transazioni shadow
OTTENERE PUBBLICO - Cerca qualsiasi TX. Quelli privati restituiscono l'ombra: hash visibile, tutto il resto null.
// Response — TX found (private shadow)
{
"status": "found",
"hash": "a1b2c3d4...",
"message": "Transaction located",
"transaction": {
"hash": "a1b2c3d4...",
"block_height": null, // hidden
"timestamp": 1735689600, // fuzzy ±120s
"from": null, // drowned
"to": null, // drowned
"amount": null, // drowned
"fee_tier": "redacted", // private TXs: fee tier sealed
"is_private": true,
"privacy_tier": "shadow",
"status": "confirmed",
"confirmations": 142,
"existence_commitment": "7833cd43..."
}
}
// Response — TX not found or shielded (identical shape prevents enumeration)
{
"status": "not_found_or_private",
"hash": "a1b2c3d4...",
"message": "Transaction not found or may be shielded",
"transaction": null
}
Reparto anti-enumerazione: Interrogare un hash che non esiste? Ottieni {"status":"not_found_or_private","transaction":null,"message":"Transaction not found or may be shielded"} — forma di risposta identica ad un TX privato (stesse chiavi, stessa struttura). Chainalysis, Elliptic, CipherTrace: non riescono nemmeno a capire quali hash sono reali. Non è un bug. Questa è l'architettura.
GET /privacy/recent — Increspature della superficie
TX recenti. Quelli privati emergono come ombre (campi nulli). Quelli pubblici mostrano dati trasparenti. Buono per i cruscotti. Parametro interrogazione limit (1-50, predefinito 20).
GET /privacy/stats - Letture della profondità del mare
Metriche di adozione della privacy: TX totali, TX private, % di adozione, flag di funzionalità. Nessuna autenticazione richiesta. Monitora la profondità del mare dalla tua infrastruttura.
POST /privacy/batch-proof: verifica in batch di più prove
INVIARE PUBBLICO — Verifica fino a 50 chiavi di prova in un'unica richiesta. Stessa verifica del demone degli endpoint a prova singola, ma raggruppati per efficienza. Ideale per i marketplace che elaborano più ordini o portafogli che verificano più pagamenti in entrata contemporaneamente.
// Request — array of proof pairs (max 50)
{
"proofs": [
{ "tx_hash": "a1b2c3d4...64hex", "proof_token": "f7e8d9c0...64hex" },
{ "tx_hash": "b2c3d4e5...64hex", "proof_token": "PT-e8d9c0b1...67chars" }
]
}
// Response — per-proof results with summary
{
"batch_size": 2,
"results": [
{
"index": 0,
"valid": true,
"tx_hash": "a1b2c3d4...",
"confirmed": true,
"amount_decoded": "183.00",
"rune_lattice": "encrypted"
},
{
"index": 1,
"valid": false,
"tx_hash": "b2c3d4e5...",
"reason": "Proof token mismatch"
}
],
"valid_count": 1,
"invalid_count": 1
}
Limiti batch e riferimento agli errori
| Vincolo | Limite | Errore sulla violazione |
|---|---|---|
| Numero massimo di prove per lotto | 50 | 400 — "Maximum 50 proofs per batch, got N" |
| Corpo massimo della richiesta | 256KB | 400 — "Request body too large for batch endpoint" |
| Matrice vuota | Min 1 | 400 — "Proofs array is empty" |
| tx_hash non valido nell'elemento | 64 esadecimale | Saltato — {"valid":false,"reason":"Invalid tx_hash"} nei risultati |
| proof_token non valido nell'elemento | 67 caratteri massimo | Saltato — {"valid":false,"reason":"Invalid proof_token (max 67 chars, 64 hex)"} |
Usi in lotti amount_decoded (come la Busta Runica), no amount. Ogni risultato ha un index campo corrispondente alla posizione dell'array di input. Gli elementi non riusciti non causano l'arresto anomalo del batch: ritornano valid: false con a reason mentre altre prove continuano a verificare. L'endpoint batch condivide la valvola a farfalla del mare di API per la privacy (100 richieste/min di base + divieti incrementali).
Porta DDoS: Se il tuo IP con hash è vicino al limite del Sea Throttle (oltre il 60% del budget di 100 richieste/min), l'endpoint batch nega tutte le chiamate RPC del daemon per impedire l'amplificazione: altrimenti una richiesta batch di 50 prove colpirebbe il daemon 50 volte. Otterrai {"error": "Proof verification service temporarily unavailable"}. Fare marcia indietro e riprovare.
🧅 Tor / .onion: guida tutto attraverso la nebbia
Il API lo è REST senza stato su HTTPS. Nessun cookie. Nessuna sessione. Nessuna impronta digitale JS. Nessun aggiornamento WebSocket. Richiesta pura→risposta su TLS. Funziona su Tor in modo nativo perché lo abbiamo costruito in questo modo. Non come un ripensamento. Se stai costruendo qualcosa di privato e sei non instradando attraverso .onion, stai perdendo il tuo IP su ogni risolutore DNS tra te e il server. Non.
stato .cipolla: Il dedicato synxexplorer.onion il servizio nascosto lo è prossimamente. Gli URL seguenti utilizzano un segnaposto. Fino a quando il file .onion non sarà attivo, instrada le richieste clearnet tramite Tor tramite torsocks o proxy SOCKS5. Il tuo IP rimane nascosto in ogni caso. Aggiorneremo questo documento non appena il servizio nascosto sarà attivo.
cURL tramite Tor
# Install torsocks (Debian/Ubuntu)
sudo apt install torsocks
# Verify a payment — sovereign style
torsocks curl -X POST http://synxexplorer.onion/explorer/api/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4...","proof_key":"f7e8d9c0..."}'
Python tramite Tor (SOCKS5)
import requests
# pip install requests[socks] PySocks
session = requests.Session()
session.proxies = {
'http': 'socks5h://127.0.0.1:9050',
'https': 'socks5h://127.0.0.1:9050',
}
# socks5h = DNS resolution through Tor too (no DNS leak)
API = "http://synxexplorer.onion/explorer/api"
result = session.post(f"{API}/verify_proof.php",
json={"tx_hash": "a1b2c3d4...", "proof_key": "f7e8d9c0..."},
timeout=30).json()
if result.get("valid"):
print(f"ᛣ Sealed — amount: {result['amount']} {result['currency']}")
Node.js tramite Tor
const { SocksProxyAgent } = require('socks-proxy-agent');
const fetch = require('node-fetch');
const agent = new SocksProxyAgent('socks5h://127.0.0.1:9050');
const API = 'http://synxexplorer.onion/explorer/api';
const r = await fetch(`${API}/verify_proof.php`, {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({tx_hash: 'a1b2c3d4...', proof_key: 'f7e8d9c0...'}),
agent,
});
const data = await r.json();
if (data.valid) console.log('𖣐 Sovereign verified', data.amount, data.currency);
Perché socks5h non socks5? IL h significa che la risoluzione DNS avviene anche tramite Tor. Senza di esso, il tuo risolutore DNS locale vede "synxexplorer.onion" - una perdita di metadati. Sempre socks5h. Sempre.
📡 Condividi le chiavi di prova tramite Signal: Zero Metadata
La chiave di prova deve viaggiare tra mittente e destinatario senza toccare il API. Ecco la gerarchia OPSEC per tale trasferimento:
| Canale | Metadati trapelati | Verdetto |
|---|---|---|
| Segnale (mittente sigillato, che scompare) | Numero di telefono noto a Signal, contenuto del messaggio E2EE | BENE per la maggior parte delle minacce |
| PGP tramite posta elettronica Tor (ProtonMail/Tutanota) | Metadati dell'e-mail (il provider vede da/a/ora), corpo E2EE | BENE |
| Messaggio diretto del servizio nascosto Tor | Niente. Entrambi i partiti dietro .onion. | MIGLIORE |
| Telegram (anche "chat segrete") | Numero di telefono, metadati cloud, Telegram ha il tuo IP | MEH |
| Discord/Slack/E-mail (testo normale) | Qualunque cosa. Registrato per sempre. Citazione in giudizio. | NO |
Il tempo conta: Le chiavi di prova scadono tra 30 minuti. Utilizza messaggi a scomparsa impostati su 5 minuti o meno. L'acquirente deve inviare la chiave di prova immediatamente dopo che il portafoglio ha confermato l'invio privato. Il venditore deve verificare immediatamente al ricevimento. Canali effimeri per chiavi effimere.
Hook di integrazione del segnale (bot Python)
# signal-cli or signal-bot framework — send proof key after payment
import subprocess, json
def send_proof_via_signal(recipient_phone, tx_hash, proof_key):
"""Send proof key through Signal. Disappearing message. Verify within 30 min."""
msg = json.dumps({
"tx_hash": tx_hash,
"proof_key": proof_key,
"verify_at": f"POST /verify_proof.php with tx_hash + proof_key",
"expires": "30 minutes from generation — verify NOW",
})
subprocess.run([
"signal-cli", "-u", "+1YOUR_NUMBER",
"send", "-m", msg, recipient_phone,
"--expire", "300", # 5-min disappearing message
])
# After private SYNX send:
send_proof_via_signal("+1BUYER_PHONE", "a1b2c3d4...", "PT-f7e8d9c0...")
Il canale non è un problema del API. Questa è la bellezza. Il API verifica solo le chiavi di prova: non sa mai come hanno viaggiato. Potresti stampare la chiave su una ricevuta e consegnarla allo sportello. I conti funzionano ancora. La verifica è stateless. La chiave scade dopo 30 minuti, indipendentemente dal canale.
⚓ Rito di pagamento sul mercato
Stai costruendo un mercato sovrano. Nessuna striscia. Niente PayPal. Nessun middleware KYC. Solo il Synergy Sea e le chiavi a prova di sigillo quantico. Ecco come verificare i pagamenti con importi esatti utilizzando solo una chiave di prova: nessun indirizzo mai rivelato.
Le chiavi di prova decodificano importi esatti, nient'altro. Il nodo SynX genera una chiave di prova sigillata quantistica utilizzando la crittografia reticolare Kyber-768 che decodifica nel esatto importo del pagamento: nessun indirizzo, nessuna altezza dei blocchi, nessuna informazione sul mittente/destinatario. Un ordine da 300 SynX? La chiave decodifica in "300.00". Un pagamento di 100 SynX? "100,00". Nessuna ambiguità sull'importo. Ambiguità totale sull'identità. La chiave scade tra 30 minuti.
# Flask marketplace backend: amount-only verification via proof key
import requests
API = "https://explorer.synxcrypto.com/explorer/api"
@app.route('/verify-payment', methods=['POST'])
def verify():
tx_hash = request.json['tx_hash']
proof_key = request.json['proof_key'] # raw 64-hex or PT- prefixed (API accepts both)
order = Order.query.filter_by(tx_hash=tx_hash).first()
if not order:
return {'status': 'unknown_order'}, 404
# Step 1: confirm TX exists on-chain
existence = requests.get(f"{API}/privacy/tx/{tx_hash}/verify", timeout=20).json()
if not existence.get('exists') or not existence.get('confirmed'):
return {'status': 'not_confirmed'}, 402
# Step 2: decode exact amount using proof key (30-min window)
# Uses verify_proof.php — returns "amount" (not "amount_decoded")
result = requests.post(f"{API}/verify_proof.php",
json={"tx_hash": tx_hash, "proof_key": proof_key}, timeout=20).json()
if result.get('valid'):
paid = float(result['amount']) # ← "amount" not "amount_decoded"
if paid >= order.total:
order.status = 'paid'
db.session.commit()
return {'status': 'sovereign_paid', 'exact_amount': paid}
return {'status': 'underpaid', 'sent': paid, 'required': order.total}, 402
# Error responses include "error" + "hint" — check both
error = result.get('error', '')
if 'expired' in error.lower():
return {'status': 'proof_expired', 'message': 'Proof key expired — ask buyer for a fresh key'}, 410
return {'status': 'invalid_proof', 'hint': result.get('hint', '')}, 402
Solo importo in base alla progettazione. La chiave di prova decodifica il sigillo del reticolo quantistico nella quantità esatta: e questo è tutto Tutto lo fa. Non esiste alcun endpoint, nessuna chiave di visualizzazione, nessun meccanismo in questo API per rivelare gli indirizzi del mittente o del destinatario. Il mercato vede "300,00 SynX sono stati pagati" - mai Chi pagato o da dove. Questo è il contratto sulla privacy. È permanente.
✗∑🗡 Code Grimoire: ogni lingua, ogni modello
Python: verifica una chiave di prova
import requests
API = "https://explorer.synxcrypto.com/explorer/api"
SOCKS = {'http': 'socks5h://127.0.0.1:9050', 'https': 'socks5h://127.0.0.1:9050'}
def verify(tx_hash, proof_key, tor=False):
"""Verify a SYNX proof key — decodes exact amount, reveals nothing else.
The SYNX Node generates proof keys using quantum Kyber-768 lattice encryption.
Keys expire in 30 minutes. Verify immediately upon receipt.
Uses verify_proof.php — the recommended endpoint.
"""
s = requests.Session()
if tor: s.proxies = SOCKS
return s.post(f"{API}/verify_proof.php",
json={"tx_hash": tx_hash, "proof_key": proof_key},
timeout=20).json()
def check_exists(tx_hash, tor=False):
"""Check if a TX exists on-chain. Reveals nothing about amounts or addresses."""
s = requests.Session()
if tor: s.proxies = SOCKS
return s.get(f"{API}/privacy/tx/{tx_hash}/verify", timeout=20).json()
# Usage — the whole rite (amount-only verification)
# Buyer sends you: tx_hash + proof_key (off-chain, via Signal/PGP/Tor)
result = verify("a1b2c3d4...", "f7e8d9c0...", tor=True) # raw or PT- prefixed
if result.get("valid"):
print(f"𖣐 Payment confirmed — exact amount: {result['amount']} {result['currency']}")
# No addresses revealed — ever. Only the amount surfaces.
elif result.get('error'):
print(f"⚠ {result['error']}")
if result.get('hint'): print(f" Hint: {result['hint']}")
# The SYNX Node generates the proof key. You just verify it.
# Proof key = quantum puzzle key. Amount = the only answer.
# Sender? Drowned. Receiver? Drowned. That's the deal.
Node.js — Verificatore di pagamenti (Express Middleware)
const fetch = require('node-fetch');
const API = 'https://explorer.synxcrypto.com/explorer/api';
async function verifyPayment(txHash, proofKey) {
// Proof key generated by SYNX Node — quantum Kyber-768 sealed
// Expires in 30 minutes — verify immediately
const r = await fetch(`${API}/verify_proof.php`, {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({ tx_hash: txHash, proof_key: proofKey }),
});
return r.json();
}
// Express middleware — drop into any route
async function requirePayment(req, res, next) {
const { tx_hash, proof_key } = req.body;
const result = await verifyPayment(tx_hash, proof_key);
if (!result.valid) {
// Error responses include "error" + "hint" fields
return res.status(result.error?.includes('expired') ? 410 : 402).json({
error: result.error,
hint: result.hint,
});
}
req.paymentAmount = result.amount; // ← "amount" (not "amount_decoded")
req.paymentCurrency = result.currency;
next();
}
cURL: foglio informativo completo
BASE="https://explorer.synxcrypto.com/explorer/api"
# Sea depth readings
curl $BASE/privacy/stats
# Recent shadow transactions
curl "$BASE/privacy/recent?limit=10"
# Shadow lookup (private TX)
curl $BASE/privacy/tx/a1b2c3d4e5f6...
# Existence oracle
curl $BASE/privacy/tx/a1b2c3d4e5f6.../verify
# Verify a proof key — RECOMMENDED (simple endpoint)
# Returns: {"valid":true, "amount":"183.00", "currency":"SYNX", ...}
curl -X POST $BASE/verify_proof.php \
-H "Content-Type: application/json" \
-d '{"tx_hash":"a1b2c3d4...","proof_key":"f7e8d9c0..."}'
# GET also works (quick terminal check):
curl "$BASE/verify_proof.php?tx_hash=a1b2c3d4...&proof_key=f7e8d9c0..."
# PT- prefix also works in proof_key:
# "proof_key":"PT-f7e8d9c0..." or "proof_token":"f7e8d9c0..."
# Runic Envelope (richer metadata: timestamp range, expiry)
curl -X POST $BASE/privacy/tx/a1b2c3d4.../rune-verify \
-H "Content-Type: application/json" \
-d '{"proof_token":"f7e8d9c0..."}'
# All of the above, through Tor:
torsocks curl http://synxexplorer.onion/explorer/api/verify_proof.php \
-d '{"tx_hash":"a1b2...","proof_key":"f7e8..."}'
⚔ SynergyX vs Monero: il confronto onesto
Monero è stato il pioniere. Firme degli squilli, RingCT, indirizzi invisibili: tutto geniale. Ma sono stati costruiti per un mondo pre-quantistico in cui Ed25519 era indistruttibile e i timestamp esatti su un esploratore andavano "bene". Quell'era sta finendo. Ecco dove si trovano le due catene quando le metti una accanto all'altra:
| Capacità | Monero (XMR) | SynergyX (SynX) |
|---|---|---|
| Prove di pagamento | check_tx_proof (si perdono gli indirizzi) | POST /verify_proof.php (solo importo) |
| Affrontare la divulgazione nelle prove | ❌ indirizzi visibili in prova | ✅ NESSUN indirizzo, mai |
| Importi nascosti (esploratore) | ✅AnelloCT | ✅ null in tutti i negozi + chiavi a prova quantistica |
| Importo in prova | ❌ importo esatto + indirizzi esposti | ✅ Importo esatto decodificato, zero indirizzi |
| Scadenza della prova | ❌le prove vivono per sempre | ✅ Finestra di 30 minuti: effimera per definizione |
| Generazione di prove | Lato client (gli aggressori possono eseguire il reverse engineering) | Nodo SynX (quantistico Kyber-768 — non forgiabile) |
| Privacy del timestamp | ❌ esatto al secondo | ✅ ±120s sfocati |
| Tassa sulla privacy | ❌ sat/byte esatto visibile | ✅ Secchi a 5 livelli |
| Altezza del blocco nascosta | ❌ visibile su Explorer | ✅ null per TX privati |
| Oracolo anti-timing | ❌nessun jitter API | ✅ Soffitto costante di 500 ms |
| 404 indistinguibili | ❌ forma diversa | ✅ non_trovato == privato |
| Firme post-quantiche | ❌ Ed25519 (Shor-morto) | ✅ SPHINCS+-SHAKE256-128f |
| Scambio di chiavi post-quantistiche | ❌ x25519 (Shor-morto) | ✅ Kyber-768 (FIPS203) |
| Crittografia del disco del portafoglio | ChaCha20 | ✅ Argon2id (2 GB, 4 passaggi) |
| API nativo di Tor | ✅RPC | ✅RESTO Apolide |
| È necessaria la migrazione quantistica? | ❌ SÌ: riscrittura totale | ✅ Nato così. Blocco Genesi. |
Se usi ancora Monero nel 2026, sei già morto: semplicemente non te ne sei accorto.
Le tue firme sugli anelli? La catena dell’analisi li raggruppa come bestiame. Timestamp esatti? La NSA timbra il tuo caffè. Ed25519? Shor sta arrivando: le tue chiavi sono polvere. Generazione di prove lato client? Decompila il portafoglio e falsifica prove tutto il giorno. Questa è archeologia, non sicurezza.
Le chiavi di prova SynergyX sono generate dal file Nodo SynX utilizzando la crittografia reticolare quantistica Kyber-768. Il metodo di generazione è sigillato all'interno del nucleo del Nodo: nessun client, nessun decompilatore o nessun utente malintenzionato può accedere ai parametri interni del reticolo quantistico. Anche un avversario sofisticato che decompila completamente il portafoglio non ottiene nulla: il portafoglio riceve la chiave di prova dal Node. Non lo genera. Il segreto non lascia mai il Nodo.
Transazioni ombra: mittente, destinatario, importo, blocco: null. Non offuscato. Cancellato.
Chiavi di prova quantistica: Chiavi puzzle sigillate a reticolo Kyber-768: dimostra l'importo esatto senza rivelare chi ha inviato, chi ha ricevuto, quando (± 120 secondi di fuzz) o dove. La chiave decodifica gli importi esatti: 183,00, non "medio". Nessun indirizzo nella prova. Nessun indirizzo nel API. Nessun indirizzo da nessuna parte. Scade tra 30 minuti.
Nessuna divulgazione dell'indirizzo: Non esiste un endpoint chiave di visualizzazione. Nessun endpoint di controllo. Nessun meccanismo per rivelare il mittente o il destinatario tramite questo API. L'importo è tutto ciò che emerge. L’identità rimane annegata – permanentemente.
Post-quantistico: Kyber-768, SPHINCS+, SHAKE256 — Shor può baciare il tuo blocco genesi. Nessuna tabella di marcia. No "più tardi aggiungerò segni quantici". Siamo nati immuni.
Vuoi privacy? Smettila di elemosinare gli avanzi. Con Synergy ottieni furtività quantistica e velocità nel mare delle ombre. Prendi la lama.
L'elefante quantistico: Le chiavi Ed25519 di Monero sono vulnerabili allo Shor. Il loro "piano di migrazione" significa che ogni portafoglio deriva nuovamente le chiavi secondo un nuovo schema, mentre la catena è attiva, mentre i fondi sono a rischio e la sequenza temporale è sconosciuta. SynergyX non ha un piano di migrazione perché non c'è nulla da cui migrare. Kyber-768 + SPHINCS+ dal blocco zero. Quando Shor si sveglia, questa catena non sussulta. Le catene ereditarie si sgretolano. Questa è la differenza tra "lo sistemeremo più tardi" e "lo sistemeremo prima".
Codici di errore
Due endpoint, due forme di errore. verify_proof.php ritorna "error" + "hint" campi. La busta runica (/rune-verify) ritorna "reason". Entrambi includono sempre "valid": false. Analizzare valid innanzitutto, quindi controlla il campo di errore che corrisponde al tuo endpoint.
verify_proof.php — Codici di stato HTTP
| Codice | Senso | La risposta include |
|---|---|---|
| 200 | Riuscito: chiave di prova verificata, importo esatto decodificato | valid, tx_hash, amount, currency, confirmed_at, message |
| 200 | Prova non valida: chiave errata per questa TX (non un errore HTTP) | valid: false, tx_hash, error, hint |
| 400 | Richiesta errata: campi mancanti, hash non valido, formato non valido, input sovradimensionato | valid: false, error, hint, A volte example |
| 429 | Mare strozzato - 30 richieste/min per IP. Fai marcia indietro e memorizza nella cache i risultati. | valid: false, error, hint |
| 503 | SynX Nodo non disponibile: sincronizzazione o riavvio del demone. Riprova tra qualche istante. | valid: false, error, hint |
Busta runica (/rune-verify): codici di stato HTTP
| Codice | Senso |
|---|---|
| 200 | Successo: chiave di prova verificata, quantità decodificata con metadati avanzati |
| 200 | Prova non valida — "reason": "Proof token does not match any registered runic proof" |
| 200 | Scaduto - "reason": "Runic proof has expired" |
| 404 | TX non trovata or TX è privato (non saprai mai quale, in base alla progettazione) |
| 429 | Throttled in mare: livelli di ban incrementali (100→throttle, 500→5min ban, 1500→1hr ban) |
| 500 | Disturbo interno: controlla i log del server |
429 Sea Throttle - Corpo di risposta
Tutte le 429 risposte (entrambi gli endpoint) includono a Retry-After Intestazione HTTP (RFC 7231) e un corpo JSON strutturato con informazioni sul livello:
// 429 Response — sea throttle or ban active
// Retry-After: 60 (HTTP header — seconds until retry)
{
"error": "Sea throttled — incremental ban tiers protect the Sea",
"throttle_tier": "standard", // "standard" | "tier1" | "tier2" | "active_ban"
"retry_after": 60, // seconds until you can retry
"message": "100 req/min exceeded — exponential backoff (60s). Cool down and come back.",
"tiers": {
"standard": "100 req/min — exponential backoff",
"tier1": "500 req/min — 5-minute ban",
"tier2": "1500 req/min — 1-hour ban"
}
}
// Example: active ban (hit 500+ req/min earlier)
// Retry-After: 253
{
"throttle_tier": "active_ban",
"retry_after": 253,
"message": "Active ban — 253s remaining. Keep pushing and the Sea pushes back harder."
}
Analizzare retry_after o il Retry-After intestazione — entrambi danno lo stesso valore in secondi. IL throttle_tier il campo ti dice quale livello di escalation hai raggiunto. Se stai vedendo "active_ban", sei già stato riassegnato: il message ti dice per quanto tempo stai annegando. verify_proof.php ha il suo limitatore di velocità più semplice da 30 req/min che restituisce un semplice messaggio di errore senza informazioni sul livello.
Formati di input (entrambi gli endpoint): Hash TX = esattamente 64 caratteri esadecimali [a-fA-F0-9]{64}. Chiave di prova = max 67 caratteri (con PT- prefisso) o esattamente 64 esadecimale (grezzo). Il API accetta entrambi i formati: server strip PT- automaticamente. verify_proof.php accetta il nome del campo proof_key or proof_token (alias). Qualunque cosa al di fuori di questi limiti ottiene un duro 400. Nessun taglio. Nessuna pietà.
I limiti di velocità differiscono in base all'endpoint. verify_proof.php impone 30 richieste/min per IP. La Busta Runica utilizza la valvola a farfalla del mare di API per la privacy: 100 richieste/min linea di base con escalation incrementale del ban (500→5 minuti, 1500→1 ora). Risultati della verifica della cache lato client durante la finestra di 30 minuti: un sigillo verificato non cambia mentre è attivo. Una volta valid: true, l'importo è l'importo.
🕳 Garanzie zero metadati: cosa devono sapere gli sviluppatori
Se stai integrando questo API, ecco la prova concreta nessuna perdita di metadati. Ogni affermazione riportata di seguito è controllata da GhostReaper (oltre 100 vettori di attacco, 0 risultati senza patch).
Proprietà di sicurezza: elenco di controllo per sviluppatori
| Proprietà | Garanzia | Come |
|---|---|---|
| Chiavi a prova di imperdonabilità | ✅ | Generato dal nodo SynX utilizzando la crittografia reticolare quantistica Kyber-768. I parametri interni non lasciano mai il processo del Nodo. Non può essere contraffatto nemmeno decompilando il portafoglio. |
| Prova chiavi effimere | ✅ | Ogni chiave di prova scade tra 30 minuti. Dopo la scadenza, il sigillo è permanentemente rotto. Nessun "token per sempre": riduce al minimo il rischio di replay e intercettazione. |
| Importo mai pagato | ✅ | Il server memorizza la codifica reticolare sigillata quantistica. Importo grezzo mai inviato, ricevuto o archiviato in testo non crittografato. Solo la chiave di prova può decodificarlo. |
| Dimensione del reticolo = costante | ✅ | Tutte le guarnizioni reticolari sono imbottite ad una lunghezza fissa. Un SynX TX da 0,01 e un SynX TX da 777.000.000 producono guarnizioni di dimensioni identiche. La grandezza dell'importo è invisibile. |
| Oracolo temporale morto | ✅ | Soffitto costante di 500 ms su ogni risposta. D di Cohen = 0,015 tra percorsi validi/non validi (confermato GhostReaper). Statisticamente invisibile. |
| La chiave di prova non è mai stata archiviata grezza | ✅ | Negozi di server SHA256(proof_key) soltanto. Se il DB perde → hash + rumore reticolare sigillato. Computazionalmente inutile senza la chiave. |
| Il mittente/destinatario non ha mai inviato | ✅ | Non esiste alcun endpoint che accetti o restituisca indirizzi. Nessuna chiave di visualizzazione. Nessun dato identificativo. Architettura solo per importo. |
| Nessuna differenziazione della risposta | ✅ | "TX non trovato" e "TX è privato" restituiscono forme di risposta identiche. Nessuna fuga di informazioni. |
| La manetta del mare si mantiene in concorrenza | ✅ | Limitatore dell'acceleratore del mare basato su file con LOCK_EX serializzazione. 200 richieste simultanee → 0 sono state completate (GhostReaper). La finestra TOCTOU è chiusa. I livelli di ban incrementali (500→5 minuti, 1500→1 ora) aumentano anche durante i ban attivi: il contatore non si ferma mai. Oltre il 60% del budget, le chiamate RPC del demone vengono negate per impedire l'amplificazione DDoS. IP archiviati come hash SHA-256. |
Cosa DEVI fare come integratore
1. Non registrare mai chiavi di prova. La chiave di prova è la chiave del puzzle per l'importo. Se la tua applicazione lo registra, hai infranto il modello di privacy. Trattalo come una chiave privata.
2. Prefisso PT- accettato, ma convalida i tuoi input. Il API accetta entrambi PT-f7e8... e crudo f7e8... formati: il server lo rimuove automaticamente. Ma tx_hash deve essere esattamente 64 caratteri esadecimali e proof_token massimo 67 caratteri. Gli ingressi sovradimensionati ottengono un duro 400.
3. Verificare entro 30 minuti. Le chiavi di prova scadono. Crea il tuo flusso di verifica in modo che sia immediato, senza elaborazioni batch il giorno successivo.
4. Condividi le chiavi di prova solo su canali senza metadati. Segnale (scomparendo), PGP su Tor, DM .onion. Mai discordie. Mai lento. Non inviare mai e-mail senza PGP.
5. Memorizza nella cache le prove verificate lato client. Una volta "valid": true, memorizzare il risultato. Non ripetere la verifica: stai perdendo schemi temporali e la chiave potrebbe scadere tra i controlli.
6. Distribuire la protezione nginx in produzione. Il API viene fornito con nginx_privacy_hardening.conf — Timeout di 5 secondi, 20 conn/IP, 100 req/min limitazione del gas di mare, blocco dell'attraversamento del percorso. Difesa attiva a loris lento.
𖣐 Codificalo. Provalo. Possedere l'oscurità.
Solo una mainnet oggi. Nessuna prevendita. Nessun dump di VC. Nessuna allocazione di influencer. Nessuna tesoreria di fondazione in cui 6 persone controllano il 40% della fornitura. Nessun comunicato stampa di “partenariato strategico”. Solo una catena, una comunità e una matematica che non si piega.
Ora hai tutto. Sei endpoint. Codice reale. Instradamento Tor. Ganci di segnalazione. Un modello di minaccia onesto su ciò che viene trapelato e cosa no. Chiavi di prova Quantum Kyber-768 generate dal nodo SynX: chiavi puzzle non falsificabili che decodificano importi esatti e nient'altro. Nessuna divulgazione dell'indirizzo: né con una chiave di visualizzazione, né con una chiave di prova, mai. Fuzzing del timestamp che rende l'analisi temporale statisticamente priva di significato. E al di sotto di tutto ciò, la crittografia reticolare che sopravvive a ogni attacco quantistico conosciuto, non perché siamo migrati, ma perché abbiamo iniziato da lì.
Il Synergy Sea è l'oceano post-quantistico dove le ombre non emergono mai. Nessun data center può essere re quando SynergyX li detronizza e mette sul trono l'utente. Ogni transazione privata affonda nell'incapsulamento Kyber-768, sigillato da iperalberi SPHINCS+, indicizzati da impegni di reticolo quantistico. Gli importi sussurrano attraverso le chiavi di prova: incomprensibili per gli osservatori, decimali esatti per i detentori delle chiavi. L'esploratore vede le increspature. Il API restituisce null dove conta. La chiave di prova è l’unico collegamento con l’importo – e l’importo lo è Tutto che affiora. Mittente e destinatario? Annegato. Permanentemente. Nessun punto finale, nessuna chiave, nessuna citazione li riporta indietro.
Niente KYC. Nessuna custodia. Nessuna analisi di catena. Nessuna divulgazione dell'indirizzo. Nessun punto centrale di fallimento. Nessuna tabella di marcia per la migrazione perché non c'è nulla da cui migrare. La prima mossa nel gioco finale quantistico.
Questa non è documentazione. Questa è un'arma. Usalo.
𝓢𝔁
Codificalo. Provalo. Possiedi le maree oscure.
Privacy di SynergyX API v2.0 — Tasti a prova di Quantum — Synergy Sea
L’oceano post-quantistico dove le ombre non emergono mai.