Vérifier les paiements privés SynX
Avec clés de preuve de montant uniquement.

Une clé de preuve confirme le montant exact de SynX pour une transaction sans exposer les adresses de l'expéditeur ou du destinataire.
RÉSEAU PRINCIPAL EN DIRECT Kyber-768 SPHINCS+-SHAKE256-128f Clés à l'épreuve quantique Feu et oubli Zéro métadonnées Expiration de 30 minutes Zéro fuite de réseau Aucune divulgation d'adresse

Ce guide documente le même flux de clé de preuve de transaction privée utilisé par timeline.php pour les paiements d’accès à la chronologie. Il est conçu pour les développeurs qui doivent accepter les paiements privés SynX, vérifier le montant exact et conserver les données d'adresse hors de leur application.

Chemin d'intégration recommandé : créer un vérificateur côté serveur qui accepte tx_hash et proof_key, appelle /explorer/api/verify_proof.php, chèques valid === true, compare ensuite le retour amount au montant de votre commande requis. C’est le chemin qu’utilise Timeline pour les paiements privés.

Implémentation compatible avec la chronologie

Implémentation de clés de preuve comme la chronologie

Timeline accepte automatiquement les paiements visibles sur le marché. Lorsqu'une transaction est privée ou cachée, elle passe à la vérification par clé de preuve. La clé de preuve confirme le montant du paiement tandis que les champs d'adresse restent scellés.

FLUX DE PAIEMENT PRIVÉ COMPATIBLE AVEC LA CHRONOLOGIE 1. L'utilisateur soumet tx_hash et, pour les envois privés, soumet également proof_key. 2. Normalisez proof_key : coupez les espaces, supprimez les espaces internes, acceptez le préfixe PT. 3. Validez les entrées avant d'appeler le API : tx_hash = exactement 64 caractères hexadécimaux proof_key = exactement 64 caractères hexadécimaux, ou PT- + 64 caractères hexadécimaux 4. POST JSON sur /explorer/API/verify_proof.php : {"tx_hash": "...64hex..."", proof_key": "PT-...64hex..."} 5. Si réponse.valid est vrai, lisez réponse.amount et réponse.currency. 6. Comparez le montant de réponse au montant du paiement requis. Timeline utilise une petite tolérance décimale : abs (payant - obligatoire) <= 0.0001 7. Grant access, mark the order paid, or unlock the product only after amount match.

Vérificateur PHP de style chronologie

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'];
}

Champs de réponse dont dépendre

ChampPoint de terminaisonUtiliser
validverify_proof.phpBooléen primaire. N'accorde rien à moins que ce soit true.
amountverify_proof.phpMontant exact de SynX pour le justificatif. Comparez avec le montant requis.
currencyverify_proof.phpLa valeur attendue est SYNX.
error + hintverify_proof.phpAfficher un simple message de nouvelle tentative ou de correction à l'utilisateur.
amount_decoded/privacy/tx/{hash}/rune-verifyMême concept que amount, mais renvoyé par le point de terminaison de métadonnées le plus riche.

Compatibilité de vérification en file d'attente : Le point de terminaison simple répond généralement de manière synchrone. Si jamais une intégration reçoit {"status":"pending","request_id":"...","retry_after":3}, sondage /explorer/api/index.php?endpoint=verify_proof&request_id=... après retry_after secondes et analysez le JSON final de la même manière. La chronologie inclut ce chemin de compatibilité.

Note de mise en œuvre : Pour les applications de navigateur, appelez le vérificateur depuis votre backend, sauf si votre origine est déjà autorisée par la stratégie CORS de l'explorateur. La vérification côté serveur vous permet également de rédiger les clés de preuve des journaux clients et de comparer les montants avec votre base de données de commandes en un seul endroit.

Philosophie de confidentialité

🌊 Pourquoi nous ne divulguons jamais l'expéditeur ou le destinataire

Nous ne divulguons jamais l’expéditeur ou le destinataire, car la confidentialité et l’open source ne peuvent pas se mélanger la plupart du temps – c’est comme mélanger du pétrole dans la mer. Nous avons une synergie parce que nous laissons les ombres disparaître, sans nous laisser étouffer et coincer par une fuite de pétrole ou de gaz (métadonnées). La mer coule proprement lorsque les identités s’y dissolvent. Dès l’instant où vous touchez une vague, vous polluez l’océan tout entier. — DOCTRINE DE CONFIDENTIALITÉ SynX

C’est le principe de base. La transparence open source et la confidentialité des utilisateurs sont des ennemis naturels, à moins que vous ne définissiez correctement les limites. SynergyX résout ce problème en rendant le protocole transparent (n'importe qui peut auditer le code) tout en gardant identité opaque en permanence (aucun mécanisme n’existe pour révéler l’expéditeur ou le destinataire). La clé de preuve est une clé de puzzle : elle déverrouille le montant, et seulement la quantité. Les identités derrière la transaction se sont dissoutes dans le Synergy Sea au moment où le bloc a été scellé.

Le nœud SynX génère la clé de preuve à l’aide du cryptage quantique en réseau Kyber-768. La clé est mathématiquement liée au montant de la transaction. Il ne peut pas être falsifié, ni soumis à une ingénierie inverse, et expire dans 30 minutes. L'expéditeur partage la clé de preuve avec le destinataire hors chaîne – Signal, PGP, Tor, une serviette. Le destinataire vérifie via ce API. C'est tout le modèle de confiance. Pas de garde. Aucun intermédiaire. Aucune trace de métadonnées.

Montant uniquement par conception permanente. La clé de preuve décode le montant exact du paiement. Il n'existe aucun mécanisme (pas de point final, pas de clé, pas de paramètre, pas d'indicateur) qui révèle les adresses de l'expéditeur ou du destinataire. Ce n'est pas un choix de configuration. C'est une impossibilité architecturale. Les adresses ne sont stockées sous aucune forme que n’importe quelle clé puisse déverrouiller. Ils ont sombré dans la mer.

Modèle de menace

Ce que sait le serveur (Jack)

Soyons honnêtes sur les limites de confiance. Vous frappez un API. Le serveur est une machine, et les machines peuvent être saisies. Voici exactement ce qu'un attaquant obtient s'il roote la boîte :

MODÈLE DE MENACE : "Ils ont une racine sur l'Explorer"
transactions.json Émission privée de/vers/montant = nul Frais = niveau regroupé uniquement (micro/faible/standard/élevé/prem) Horodatage = flou ± 120 s Hauteur du bloc = nulVerdict : inutile adresses.json Adresses privées = engagements cryptographiques à sens unique Irréversible. Aucune clé ne peut les récupérer. Aucun point final de divulgation n’existe pour les révéler.Verdict : hachages opaques, pas d'adresses – jamais confidentialité_proofs.json Stocké sous SHA256 (proof_key) — hachage de la clé La clé est dérivée du réseau quantique Kyber-768. Non récupérable. Les preuves décodent UNIQUEMENT LE MONTANT – jamais les adresses. Les clés de preuve expirent dans 30 minutes. Généré par le nœud SynX – jamais par le client ou l'explorateur.Verdict : hachages expirés, inutiles en termes de calcul pour les attaquants Réponses API Plafond constant de 500 ms à chaque appel (horodatage oracle mort) "Introuvable" == "privé" (forme de réponse identique) Pas de cookies. Aucune séance. Aucune empreinte digitale JS. Aucun point de terminaison n'existe pour divulguer l'expéditeur/le destinataire.Verdict : analyse de synchronisation neutralisée, zéro fuite de réseau, zéro fuite d'adresse Adresses de l'expéditeur/du destinataire Jamais stocké en texte clair. Jamais renvoyé par aucun point de terminaison. Aucune divulgation de clé d'affichage. Aucun point final d’audit. Aucune issue. Le API ne dispose d'aucun mécanisme permettant de révéler qui a envoyé ou reçu. → Verdict : les adresses sont définitivement noyées

La mise en garde honnête : Pendant la synchronisation du démon, le scanner voit brièvement les adresses brutes avant de les hacher et de supprimer les originaux. Il s'agit du même modèle de confiance que le nœud distant de Monero : le démon envoie du texte en clair au scanner. Ce que nous garantissons : les données stockées et les réponses API ne divulguent jamais d'adresses ou de montants bruts. Il n’existe aucun point de terminaison API qui renvoie des adresses – ni avec une clé d’affichage, ni avec une clé de preuve, jamais. Le hachage est instantané. La fenêtre est microsecondes. Un clignement, pas une fuite.

Le timing est mitigé. Chaque réponse API (GET, POST, succès, échec, 404, tout) est complétée par un Plafond constant de 500 ms. Le serveur mesure le temps de traitement réel, puis se met en veille exactement 500ms - elapsed. Chaque réponse prend exactement 500 ms. Pas au hasard. Constante. Cohen's d entre les chemins valides et invalides : 0.015 (testé par GhostReaper — statistiquement invisible). Le manuel de jeu de l'oracle de timing de Chainalysis ? Mort à l'arrivée.

Architecture

🌊 Le Synergy Sea — Deux couches de profondeur

Considérez la chaîne comme un océan. Les transactions publiques flottent à la surface. Les privés coulent. Plus vous allez en profondeur, plus vous avez besoin de clés de preuve pour voir quoi que ce soit. Et même à profondeur maximale, seul le montant surfaces – jamais d’adresses.

T H E S Y N E R G Y S E A
SURFACE — tout le monde peut voir ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Hachages TX ✓ Existence ✓ Temps flou ± 120 s Niveau de frais ✓ Confs ✓ Adresses : VIDE Montant: VIDE Bloc: VIDE DEEP – porte-clés à l'épreuve (clés scellées quantiquement SynX Node) ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ ▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓▓ Paiement vérifié ✓ Montant exact ✓ (décodé à partir du sceau du réseau quantique) Fenêtre de temps ±120s ✓ Adresses : VOID - aucun point de terminaison ne les révèle. Jamais. Hauteur du bloc : VIDE La clé de preuve expire dans 30 minutes : vérifiez rapidement. Preuve partagée hors chaîne : PGP, Signal, Tor, dead drop. Kyber-768 + SPHINCS+ + Argon2id scellés Le montant est tout ce qui fait surface. Tout le reste reste noyé.
ProfondeurQui voitQuelles fuitesGarde
SURFACEN'importe quiHash, existence, temps flou, niveau de frais, confsEngagements cryptographiques
PROFONDPorte-clés à épreuveCi-dessus + montant exact (décodé à partir du sceau du réseau quantique) + fenêtre temporelleChiffrement sur réseau quantique Kyber-768, AES-256-GCM

Aucune couche plus profonde n'existe. Il n'y a aucune divulgation de clé de vue, aucun audit d'adresse, aucun mécanisme pour révéler qui a envoyé ou reçu. La clé de preuve — générée par le nœud SynX à l'aide du cryptage quantique Kyber-768 — décode le montant exact. C'est le plus profond que l'on puisse aller. Les adresses des expéditeurs et des destinataires sont définitivement noyées dans la mer.

Armure anti-corrélation : Les horodatages sont flous ± 120 s. Frais répartis en 5 niveaux (micro/faible/standard/élevé/premium – jamais le montant brut sat). Hauteurs de bloc annulées. Temps de réponse rembourrés jusqu'à un plafond constant de 500 ms. "TX not found" et "TX is private" renvoient le forme identique. Les clés de preuve expirent dans 30 minutes - limiter les fenêtres de relecture à près de zéro. Vous ne pouvez même pas énumérer quels hachages sont réels. Chaque requête de surface renvoie la même quantité d'informations, que le TX existe, n'existe pas ou soit protégé. Bonne chance, Chainalysis.

Démarrage rapide

—͟͟͞͞★ Vérification de la preuve du fournisseur – 3 minutes, Zero Trust

Vous êtes un vendeur. Un acheteur vient de vous payer en privé SynX. Vous devez vérifier le paiement sans voir leur adresse, leur solde ou faire confiance à un tiers. Voici comment. Pas de KYC. Pas de garde. Prouvez les paiements à l’aveugle.

Comment fonctionnent les clés de preuve : Lorsqu'un acheteur envoie un SynX privé, le Nœud SynX génère automatiquement une clé de preuve scellée quantiquement à l'aide du cryptage en treillis Kyber-768. Cette clé de preuve est une clé de puzzle : c'est la seule chose qui peut décoder le montant de la transaction. La clé est mathématiquement infalsifiable : sans les paramètres de réseau quantique internes du Node, aucun attaquant – classique ou quantique – ne peut en fabriquer une. Le nœud renvoie la clé de preuve dans le portefeuille de l'expéditeur. L'expéditeur le partage avec vous hors chaîne. Vous le branchez sur le API. Montant vérifié. Aucune adresse révélée. Jamais.

1

L'acheteur vous envoie tx_hash + proof_key (hors chaîne)

Après l'envoi privé, le nœud SynX génère automatiquement la clé de preuve. Le portefeuille de l'acheteur le reçoit et vous l'envoie par SMS, ainsi que le hachage de la transaction. Signal, PGP, chat Tor, écrits sur une serviette – peu importe. Canal de métadonnées nul. Le API ne voit jamais ce transfert.

# What the buyer sends you (encrypted channel only)
tx_hash:    "a1b2c3d4e5f6789012345678901234567890123456789012345678901234abcd"
proof_key:  "PT-f7e8d9c0b1a23456789012345678901234567890123456789012345678901234"

Fenêtre de 30 minutes : Les clés de preuve expirent dans 30 minutes de génération. L'acheteur doit partager la clé de preuve immédiatement après l'envoi. Vous devez vérifier immédiatement après réception. Cette fenêtre étroite élimine les attaques par rejeu à long terme – la clé est éphémère par conception. S'il expire, l'expéditeur peut en demander un nouveau au nœud SynX.

Préfixe PT : Toutes les clés de preuve commencent par PT- - évite les erreurs de collage (vous ne collerez jamais accidentellement un hachage TX dans un champ de preuve ou vice versa). Le API accepte les deux PT-f7e8... et cru f7e8... — le serveur supprime automatiquement le préfixe. Les deux formats fonctionnent.

Plafonds d’entrée – strictement appliqués : tx_hash doit être exactement 64 caractères hexadécimaux [a-fA-F0-9]{64}. proof_token maximum 67 caractères (PT- préfixe + 64 hex). Tout ce qui se trouve en dehors de ces limites → instantané 400 Bad Request. Le API rejette les entrées surdimensionnées avant tout traitement : n'envoyez pas un hachage de 200 caractères en espérant qu'il sera coupé. Ce ne sera pas le cas. Il est abandonné.

2

Atteindre un point final : les mathématiques parlent

# 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..."
3

Lire l'oracle

{
  "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 — paiement confirmé. Tu connais le montant exact (décodé à partir du sceau du réseau quantique) et le currency. Vous ne connaissez ni l'expéditeur, ni le destinataire, ni le blocage. Personne ne le fait. Pas nous. Pas le serveur. Pas d'assignation à comparaître. Aucun point de terminaison API n'existe pour révéler les adresses – ni avec une clé d'affichage, ni avec une clé de preuve, jamais. La clé a débloqué le montant et rien d'autre. Il s'enfonça dans la mer.

Les noms de champs sont importants : Le point de terminaison simple renvoie "amount" (pas "amount_decoded"). Le point de terminaison de l'enveloppe runique renvoie "amount_decoded". Vérifiez quel point de terminaison vous atteignez et lisez le champ de droite. Les deux points de terminaison renvoient "valid": true/false.

C'est ça. Trois étapes. Un POSTE. Zéro compte, zéro clé API, zéro KYC. La clé de preuve est l'authentification. Le cryptage Quantum Kyber-768 est le juge. Expédiez les marchandises.

Feu et oubli : Le nœud SynX génère automatiquement la clé de preuve et la transmet à l'explorateur immédiatement après l'envoi de la transaction. Il s'agit d'un processus en arrière-plan : si le push échoue (problème de réseau, serveur en panne), l'envoi réussit toujours. La clé de preuve est générée par les paramètres de réseau quantique internes du nœud. L'inscription se fait au mieux. Le flux d'envoi ne bloque jamais sur la disponibilité du API.

𖣐 Rite de vérification complète

𖣐 EXPÉDITEURNŒUD SynX + MER𖣐 RÉCEPTEUR
Envoi privé (portefeuille)
Kyber-768 encapsulé
SPHINCS+ signé
Le nœud SynX génère
clé de preuve scellée quantiquement
Cryptage de réseau Kyber-768
infalsifiable — expire 30 min
Le portefeuille reçoit une clé de preuve
PT- préfixé
(clé rendue une fois – conservez-la)
◄────────────────────
Partager la clé de preuve hors chaîne
Signal / PGP / Tor message
═══════════════════════════════════════════►


(zéro chemin de métadonnées)


══►
Vérifier le sceau
POST /verify_proof.php
◄────────────────────
← {"valid":true,"montant":183,00"}
────────────────────►
✓ PAYÉ. EXPÉDIEZ-LE.

L'étape ④ est le lien critique. La clé de preuve doit voyager entre l'expéditeur et le récepteur via un canal que le API ne voit jamais. Messages de disparition du signal. E-mail crypté par PGP. Service caché Tor. Un code QR affiché sur un tableau. Une note enregistrée sous un banc de parc. Le API ne se soucie pas de la façon dont le secret parvient – ​​il ne vérifie les calculs que lorsque le récepteur le demande.

L’horloge tourne. Les clés de preuve expirent dans 30 minutes. Partagez immédiatement. Vérifiez immédiatement. De par leur conception, les clés de preuve sont des clés de puzzle éphémères, et non des informations d'identification de longue durée. Cette fenêtre étroite signifie que même si une clé est interceptée, la fenêtre dont dispose l'attaquant pour l'utiliser est microscopique. Au bout de 30 minutes, la clé est de la poussière cryptographique.

Référence du point de terminaison

POST /verify_proof — Vérifier une clé de preuve (recommandé)

POSTE OBTENIR PUBLIQUE — Le moyen le plus simple de vérifier un paiement. Envoyer tx_hash + proof_key dans le corps (ou en tant que paramètres GET). Renvoie le montant exact. Aucune authentification. Pas de clé API. Aucun compte. Commencez ici.

POSTE/explorer/API/verify_proof.php
OBTENIR/explorer/API/verify_proof.php?tx_hash={hash}&proof_key={key}
// 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...\"}"
  }
}

C'est le point final avec lequel commencer. C'est le moyen le plus simple et le plus fiable de vérifier un paiement. Un POST avec deux champs → montant exact. Le point final de l'enveloppe runique ci-dessous (/rune-verify) renvoie des métadonnées plus riches (plages d'horodatage, compte à rebours d'expiration) mais nécessite le hachage TX dans le chemin de l'URL. Utiliser verify_proof.php sauf si vous avez spécifiquement besoin des champs supplémentaires.

Référence complète des erreurs — verify_proof.php

HTTPerror champQu'est-ce qui n'a pas fonctionnéRéparer
400Missing required parameters: tx_hash and proof_keyCorps vide ou champs manquantsEnvoyez les deux tx_hash et proof_key en JSON, données de formulaire ou paramètres de requête
400Invalid tx_hash formatPas 64 caractères hexadécimauxDoit contenir exactement 64 caractères hexadécimaux [a-fA-F0-9]{64}
400Invalid proof_key formatPas 64 caractères hexadécimaux (après suppression de PT-)64 hex, avec ou sans PT- préfixe
400tx_hash exceeds maximum length (64 chars)Entrée trop longue – plafond strict appliquéN'envoyez pas d'entrées surdimensionnées en espérant qu'elles seront coupées. Ils ne le feront pas.
400proof_key exceeds maximum length (67 chars)Entrée trop longue – plafond strict appliqué67 caractères maximum : PT- + 64 hex.
429Rate limit exceeded — maximum 30 verification requests per minuteMer étrangléeReculez. Mettre en cache les résultats côté client : un sceau vérifié ne change pas.
503Verification service temporarily unavailableSynchronisation ou redémarrage du démonRéessayez dans quelques instants. Le nœud SynX est peut-être en train de rattraper son retard.
200Proof key does not match this transactionMauvaise clé pour ce TXVérifiez à nouveau que vous avez le bon proof_key de l'expéditeur

Les réponses aux erreurs incluent toujours hint. Le hint Le champ donne des conseils conviviaux aux développeurs sur les éléments à corriger. Analyser valid d'abord (toujours présent), puis vérifiez error + hint en cas d'échec. Sur le succès, lisez amount et currency.

POST /privacy/tx/{hash}/rune-verify — Enveloppe runique (métadonnées riches)

POSTE PUBLIQUE — Même vérification de clé de preuve avec des métadonnées plus riches : fenêtre d'horodatage (± 120 s floue), compte à rebours d'expiration, méthode de décryptage. Utilisez-le lorsque vous avez besoin de plus que le montant.

POSTE/explorer/API/privacy/tx/{hash}/rune-verify

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

Différence clé par rapport à verify_proof.php : Ce point de terminaison renvoie amount_decoded (pas amount), reason en cas d'échec (non error + hint), et comprend timestamp_range, expires_in_minutes, rune_lattice. Le hachage TX va dans le chemin de l'URL, pas dans le corps JSON. Choisissez le point de terminaison qui correspond à vos besoins : les deux vérifient la même clé de preuve.

Ce que le vérificateur apprend par rapport à ce qui reste noyé

Point de donnéesRévélé?Pourquoi
Le paiement a eu lieuvalid: true
TX en chaîneconfirmed: true
Fenêtre de temps± 120 s flou — pas exact
Montant exactDécodé à partir du sceau du réseau quantique via la clé de preuve – pas une plage, le vrai nombre
Adresse de l'expéditeurNoyé dans la mer
Adresse du destinataireNoyé dans la mer
Hauteur du blocnull pour tous les TX privés

Décodage de réseau quantique : La clé de preuve est générée par le nœud SynX à l'aide du cryptage en réseau Kyber-768 – le même standard post-quantique (FIPS 203) sur lequel toute la chaîne est construite. La clé est mathématiquement liée au montant exact de la transaction. Mauvaise clé ? Le décodage échoue complètement : aucune information partielle, aucune fuite de canal secondaire. Le codage du réseau est complété jusqu'à une longueur fixe : une transaction de 0,01 SynX et une transaction de 77 000 000 SynX produisent des réseaux scellés de taille identique. L'ampleur du montant est invisible sans la clé.

Les épreuves expirent après 30 minutes. Après expiration, le serveur renvoie "reason": "Runic proof has expired". Cette fenêtre étroite donne aux destinataires suffisamment de temps pour vérifier tout en éliminant le risque de relecture à long terme. Si la fenêtre se ferme, le portefeuille de l'expéditeur peut demander une nouvelle clé de preuve au nœud SynX (jusqu'à la limite par TX).

GET /privacy/tx/{hash}/verify — Existence Oracle

OBTENIR PUBLIQUE — Est-ce que ce TX existe ? Renvoie un engagement d'existence cryptographique. Ne révèle rien d'autre.

OBTENIR/explorer/API/privacy/tx/{hash}/verify
{
  "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} — Recherche de transaction fantôme

OBTENIR PUBLIQUE - Recherchez n'importe quel TX. Les privés renvoient l'ombre - hachage visible, tout le reste null.

OBTENIR/explorer/API/privacy/tx/{hash}
// 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
}

Quartier anti-dénombrement : Rechercher un hachage qui n'existe pas ? Vous obtenez {"status":"not_found_or_private","transaction":null,"message":"Transaction not found or may be shielded"}forme de réponse identique vers un TX privé (mêmes clés, même structure). Chainalysis, Elliptic, CipherTrace : ils ne peuvent même pas dire quels hachages sont réels. Ce n'est pas un bug. C'est l'architecture.

GET /privacy/recent — Ondulations de surface

OBTENIR/explorer/API/privacy/recent?limit=20

TX récents. Les champs privés font surface sous forme d’ombres (champs nuls). Les publics affichent des données transparentes. Bon pour les tableaux de bord. Paramètre de requête limit (1-50, par défaut 20).

GET /privacy/stats — Lectures de la profondeur de la mer

OBTENIR/explorer/API/privacy/stats

Métriques d'adoption de la confidentialité : nombre total d'émissions, émissions privées, pourcentage d'adoption, indicateurs de fonctionnalités. Aucune authentification requise. Surveillez la profondeur de la mer depuis votre propre infrastructure.

POST /privacy/batch-proof — Vérifier par lots plusieurs preuves

POSTE PUBLIQUE — Vérifiez jusqu'à 50 clés d'épreuve en une seule demande. Même vérification du démon que les points de terminaison à preuve unique, mais par lots pour plus d'efficacité. Idéal pour les marchés traitant plusieurs commandes ou les portefeuilles vérifiant plusieurs paiements entrants à la fois.

POSTE/explorer/API/privacy/batch-proof
// 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
}

Limites de lots et référence d'erreur

ContrainteLimiteErreur en cas de violation
Nombre maximum d'épreuves par lot50400"Maximum 50 proofs per batch, got N"
Corps maximum de la requête256 Ko400"Request body too large for batch endpoint"
Tableau videMin 1400"Proofs array is empty"
tx_hash invalide dans l'élément64 hexagonesSauté — {"valid":false,"reason":"Invalid tx_hash"} dans les résultats
proof_token invalide dans l'article67 caractères maximumSauté — {"valid":false,"reason":"Invalid proof_token (max 67 chars, 64 hex)"}

Utilisations par lots amount_decoded (comme l'Enveloppe Runique), pas amount. Chaque résultat a un index champ correspondant à la position du tableau d’entrée. Les éléments en échec ne font pas planter le lot : ils reviennent valid: false avec un reason tandis que d'autres preuves continuent à se vérifier. Le point de terminaison par lots partage l'accélérateur de confidentialité du API (ligne de base de 100 req/min + interdictions incrémentielles).

Porte DDoS : Si votre adresse IP hachée est proche de la limite d'accélération (60 % et plus d'un budget de 100 req/min), le point de terminaison du lot refuse tous les appels RPC du démon pour empêcher l'amplification : une requête par lots de 50 preuves atteindrait autrement le démon 50 fois. Vous obtiendrez {"error": "Proof verification service temporarily unavailable"}. Reculez et réessayez.

Artisanat

🧅 Tor / .onion – Acheminez tout à travers le brouillard

Le API est REST sans état sur HTTPS. Pas de cookies. Aucune séance. Pas d'empreinte digitale JS. Aucune mise à niveau WebSocket. Requête pure → réponse sur TLS. Cela fonctionne nativement sur Tor parce que nous l'avons construit de cette façon. Pas après coup. Si vous construisez quelque chose de privé et que vous êtes pas en routant via .onion, vous divulguez votre adresse IP à chaque résolveur DNS entre vous et le serveur. Ne le faites pas.

Statut .oignon : Le dédié synxexplorer.onion le service caché est à venir. Les URL ci-dessous utilisent un espace réservé. Jusqu'à ce que le .onion soit actif, acheminez les requêtes Clearnet via Tor via torsocks ou proxy SOCKS5. Votre IP reste cachée de toute façon. Nous mettrons à jour ce document dès la mise en ligne du service caché.

cURL via 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 via 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 via 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);

Pourquoi socks5h pas socks5? Le h signifie que la résolution DNS se fait également via Tor. Sans cela, votre résolveur DNS local voit « synxexplorer.onion » — une fuite de métadonnées. Toujours socks5h. Toujours.

📡 Partager des clés de preuve via Signal – Zéro métadonnées

La clé de preuve doit voyager expéditeur → récepteur sans toucher le API. Voici la hiérarchie OPSEC pour ce transfert :

CanalFuite de métadonnéesVerdict
Signal (disparu, expéditeur scellé)Numéro de téléphone connu de Signal, contenu du message E2EEBIEN pour la plupart des menaces
PGP sur courrier électronique Tor (ProtonMail/Tutanota)Métadonnées de courrier électronique (le fournisseur voit de/à/heure), corps E2EEBIEN
Message direct du service caché TorRien. Les deux parties derrière .onion.MEILLEUR
Télégramme (même "chats secrets")Numéro de téléphone, métadonnées cloud, Telegram a votre IPMEH
Discord / Slack / E-mail (texte en clair)Tout. Connecté pour toujours. Assignable à comparaître.NO

Le temps compte : Les clés de preuve expirent dans 30 minutes. Utilisez des messages qui disparaissent réglés sur 5 minutes ou moins. L'acheteur doit envoyer la clé de preuve immédiatement après que le portefeuille ait confirmé l'envoi privé. Le vendeur doit vérifier immédiatement après réception. Canaux éphémères pour clés éphémères.

Hook d’intégration de signal (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...")

Le canal n'est pas le problème du API. C'est la beauté. Le API vérifie uniquement les clés de preuve : il ne sait jamais comment elles ont voyagé. Vous pouvez imprimer la clé sur un reçu et la remettre à un comptoir. Le calcul fonctionne toujours. La vérification est apatride. La clé expire dans 30 minutes quel que soit le canal.

Rite de paiement du marché

Vous construisez un marché souverain. Pas de rayures. Pas de PayPal. Pas de middleware KYC. Juste le Synergy Sea et les clés d’épreuve scellées quantiquement. Voici comment vérifier les paiements avec montants exacts en utilisant uniquement une clé de preuve – aucune adresse n’a jamais été révélée.

Les clés de preuve décodent les montants exacts – rien d’autre. Le nœud SynX génère une clé de preuve scellée quantiquement à l'aide du cryptage en treillis Kyber-768 qui décode en exact montant du paiement — pas d'adresses, pas de hauteurs de bloc, pas d'informations sur l'expéditeur/le destinataire. Une commande de 300 SynX ? La clé décode à "300,00". Un paiement de 100 SynX ? "100,00". Aucune ambiguïté sur le montant. Ambiguïté totale sur l'identité. La clé expire dans 30 minutes.

𖣐 ACHETEUR VOTRE SERVEUR Synergy Sea 1. Passer la commande ────────────────► Générer un identifiant de commande unique ◄──────────────── Page de paiement (order_id + price) 2. L'acheteur envoie un SynX privé via un portefeuille (isPrivate = true) Le nœud SynX génère une clé de preuve scellée quantiquement Encap Kyber-768 → SPHINCS+ signé → chaîne 3. L'acheteur soumet tx_hash + proof_key (hors chaîne) ────────────────► Magasin avec order_id ⚠ Fenêtre de 30 minutes : vérifiez immédiatement 4. Vérifiez l'existence : OBTENIR /tx/{hash}/vérifier ──────────► ◄─── {"existe": vrai} 5. Décodez le montant exact avec la clé de preuve : POST /verify_proof.php ──────► ◄─── {"montant": "300,00"} 6. Comparez le montant décodé >= total de la commande ✓ ORDRE DE MARQUE : SOUVERAIN PAYÉ ◄──────────────── Expédiez-le / déverrouillez-le Total des appels API : 2 (existence + verify_proof) Fuite de données vers API : 0 adresse – jamais Montant exact vérifié : OUI (via la clé de preuve quantique du nœud SynX) Émetteur/destinataire révélé : JAMAIS KYC requis : aucun. pour toujours. Fenêtre de clé de preuve : 30 minutes (éphémère de par sa conception)
# 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

Montant uniquement par conception. La clé de preuve décode le sceau du réseau quantique en quantité exacte - et c'est tous c'est le cas. Il n'y a aucun point final, aucune clé d'affichage, aucun mécanisme dans ce API pour révéler les adresses de l'expéditeur ou du destinataire. Le marché voit "300,00 SynX ont été payés" — jamais OMS payé ou d'où. C'est le contrat de confidentialité. C'est permanent.

✗∑🗡 Code Grimoire – Chaque langage, chaque modèle

Python - Vérifier une clé de preuve

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 — Vérificateur de paiement (Middleware express)

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 — Aide-mémoire complet

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..."}'
Les mathématiques froides

SynergyX vs Monero – La comparaison honnête

Monero a été pionnier. Signatures d'anneau, RingCT, adresses furtives - tout est génial. Mais ils ont été construits pour un monde pré-quantique où Ed25519 était incassable et où les horodatages exacts sur un explorateur étaient « corrects ». Cette époque est terminée. Voici où se situent les deux chaînes lorsque vous les mettez côte à côte :

CapacitéMonero (XMR)SynergyX (SynX)
Preuves de paiementcheck_tx_proof (adresses des fuites)POST /verify_proof.php (montant seulement)
Divulgation des adresses dans les épreuves❌ adresses visibles en justificatifAUCUNE adresse - jamais
Montants cachés (explorateur)✅ RingCTnull dans tous les magasins + clés à preuve quantique
Montant en preuve❌ montant exact + adresses exposéesMontant exact décodé, zéro adresse
Expiration de la preuve❌ les preuves vivent pour toujoursFenêtre de 30 minutes – éphémère par conception
Génération de preuvesCôté client (les attaquants peuvent effectuer de la rétro-ingénierie)Nœud SynX (quantique Kyber-768 – infalsifiable)
Confidentialité de l'horodatage❌ exact à la seconde près±120s flou
Confidentialité des frais❌ sat/octet exact visibleSeaux à 5 niveaux
Hauteur du bloc masquée❌ visible sur l'explorateurnull pour les TX privés
Oracle anti-synchronisation❌ pas de gigue APIPlafond constant de 500 ms
404 indiscernables❌ forme différentenot_found == privé
Signatures post-quantiques❌ Ed25519 (Shor-mort)SPHINCS+-SHAKE256-128f
Échange de clés post-quantique❌ x25519 (Shor-mort)Kyber-768 (FIPS203)
Cryptage du disque du portefeuilleChaCha20Argon2id (2 Go, 4 passes)
Tor-natif API✅RPC✅ REST apatride
Une migration quantique est-elle nécessaire ?OUI - réécriture totaleNé de cette façon. Bloc Genèse.

Si vous utilisez encore Monero en 2026, vous êtes déjà mort : vous ne l'avez tout simplement pas remarqué.

Vos signatures de bague ? Chainalysis les regroupe comme du bétail. Des horodatages exacts ? La NSA horodatage votre café. Ed25519? Shor arrive : vos clés sont poussière. Génération de preuves côté client ? Décompilez le portefeuille et falsifiez des preuves toute la journée. C'est de l'archéologie, pas de la sécurité.

Les clés de preuve SynergyX sont générées par le Nœud SynX en utilisant le cryptage quantique sur réseau Kyber-768. La méthode de génération est scellée au cœur du nœud : aucun client, aucun décompilateur, aucun attaquant ne peut accéder aux paramètres internes du réseau quantique. Même un adversaire sophistiqué qui décompile complètement le portefeuille n'obtient rien : le portefeuille reçoit la clé de preuve du nœud. Cela ne le génère pas. Le secret ne quitte jamais le Node.

Transactions fantômes : expéditeur, destinataire, montant, blocage : null. Pas obscurci. Effacé.

Clés de preuve quantique : Clés de puzzle scellées en treillis Kyber-768 : prouvez le montant exact sans fuite qui a envoyé, qui a reçu, quand (± 120 s de fuzz) ou où. La clé décode les montants exacts : 183,00, et non "moyens". Aucune adresse dans le justificatif. Aucune adresse dans le API. Aucune adresse nulle part. Expire dans 30 minutes.

Aucune divulgation d'adresse : Il n’y a pas de point de terminaison de clé d’affichage. Aucun point final d’audit. Aucun mécanisme pour révéler l'expéditeur ou le destinataire via ce API. Le montant est tout ce qui fait surface. L’identité reste noyée – pour toujours.

Post-quantique : Kyber-768, SPHINCS+, SHAKE256 — Shor peut embrasser votre bloc de genèse. Aucune feuille de route. Non "plus tard, j'ajouterai des signatures quantiques". Nous sommes nés immunisés.

Vous voulez de l'intimité ? Arrêtez de mendier des restes. Avec Synergy, vous bénéficiez d'une furtivité et d'une vitesse quantiques dans la mer des ombres. Prenez la lame.

L'éléphant quantique : Les clés Ed25519 du Monero sont vulnérables à Shor. Leur « plan de migration » signifie que chaque portefeuille récupère les clés dans le cadre d'un nouveau système – tant que la chaîne est active, que les fonds sont en danger et que le calendrier est inconnu. SynergyX n'a pas de plan de migration car il n'y a rien à partir duquel migrer. Kyber-768 + SPHINCS+ à partir du bloc zéro. Au réveil du Shor, cette chaîne ne bronche pas. Les anciennes chaînes s’effondrent. C'est la différence entre « nous le réparerons plus tard » et « nous l'avons réparé en premier ».

Codes d'erreur

Deux points finaux, deux formes d’erreur. verify_proof.php retours "error" + "hint" champs. L'enveloppe runique (/rune-verify) renvoie "reason". Les deux incluent toujours "valid": false. Analyser valid d’abord, puis vérifiez le champ d’erreur qui correspond à votre point de terminaison.

verify_proof.php — Codes d'état HTTP

CodeSignificationLa réponse comprend
200Succès : clé de preuve vérifiée, montant exact décodévalid, tx_hash, amount, currency, confirmed_at, message
200Preuve invalide – mauvaise clé pour ce TX (pas une erreur HTTP)valid: false, tx_hash, error, hint
400Requête incorrecte : champs manquants, hachage mal formé, format invalide, entrée surdimensionnéevalid: false, error, hint, parfois example
429Mer étranglée — 30 req/min par IP. Reculez et mettez les résultats en cache.valid: false, error, hint
503Nœud SynX indisponible : synchronisation ou redémarrage du démon. Réessayez dans quelques instants.valid: false, error, hint

Enveloppe runique (/rune-verify) — Codes d'état HTTP

CodeSignification
200Succès : clé de preuve vérifiée, montant décodé avec des métadonnées riches
200Preuve invalide — "reason": "Proof token does not match any registered runic proof"
200Expiré - "reason": "Runic proof has expired"
404TX introuvable or TX est privé (vous ne saurez jamais lequel – de par sa conception)
429Sea throttled – niveaux d'interdiction progressifs (100 → accélérateur, 500 → 5 min d'interdiction, 1 500 → 1 heure d'interdiction)
500Perturbation interne : vérifiez les journaux du serveur

429 Sea Throttle — Corps d’intervention

Les 429 réponses (les deux critères) incluent un Retry-After En-tête HTTP (RFC 7231) et corps JSON structuré avec informations sur les niveaux :

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

Analyser retry_after ou le Retry-After en-tête — les deux donnent la même valeur en secondes. Le throttle_tier Le champ vous indique le niveau d'escalade que vous avez atteint. Si tu vois "active_ban", vous avez déjà été remonté – le message vous dit combien de temps vous vous noyez. verify_proof.php possède son propre limiteur de débit plus simple de 30 req/min qui renvoie un message d'erreur clair sans informations sur le niveau.

Formats d'entrée (les deux points de terminaison) : Hachage TX = exactement 64 caractères hexadécimaux [a-fA-F0-9]{64}. Clé de preuve = max 67 caractères (avec PT- préfixe) ou exactement 64 hex (brut). Le API accepte les deux formats : bandes de serveur PT- automatiquement. verify_proof.php accepte le nom du champ proof_key or proof_token (alias). Tout ce qui se situe en dehors de ces limites obtient un 400 dur. Pas de coupe. Aucune pitié.

Les limites de débit diffèrent selon le point de terminaison. verify_proof.php applique 30 req/min par IP. L'enveloppe runique utilise l'accélérateur de mer du API : 100 req/min ligne de base avec escalade progressive de l'interdiction (500 → 5 min, 1 500 → 1 h). Résultats de la preuve en cache côté client pendant la fenêtre de 30 minutes : un sceau vérifié ne change pas lorsqu'il est actif. Une fois valid: true, le montant est le montant.

Référence sur la sécurité des développeurs

🕳 Garanties zéro métadonnées : ce que les développeurs doivent savoir

Si vous intégrez ce API, voici la preuve tangible que aucune fuite de métadonnées. Chaque réclamation ci-dessous est auditée par GhostReaper (plus de 100 vecteurs d'attaque, 0 résultat non corrigé).

Propriétés de sécurité – Liste de contrôle du développeur

PropriétéGarantieComment
Clés de preuve infalsifiablesGénéré par le nœud SynX à l’aide du cryptage quantique de réseau Kyber-768. Les paramètres internes ne quittent jamais le processus Node. Ne peut pas être falsifié même en décompilant le portefeuille.
Clés de preuve éphémèresChaque clé de preuve expire dans 30 minutes. Après expiration, le sceau est définitivement brisé. Pas de « jetons éternels » – minimise les risques de relecture et d'interception.
Montant jamais communiquéLe serveur stocke le codage en réseau scellé quantiquement. Montant brut jamais envoyé, reçu ou stocké en texte clair. Seule la clé de preuve peut le décoder.
Taille du réseau = constanteTous les joints en treillis sont rembourrés à une longueur fixe. Un SynX TX de 0,01 et un SynX TX de 777 000 000 produisent des joints de taille identique. L’ampleur du montant est invisible.
L'oracle du timing est mortPlafond constant de 500 ms à chaque réponse. D de Cohen = 0,015 entre chemins valides/invalides (confirmé par GhostReaper). Statistiquement invisible.
Clé de preuve jamais stockée bruteMagasins de serveurs SHA256(proof_key) seulement. Si la base de données fuit → hachages + bruit de réseau scellé. Inutile sur le plan informatique sans la clé.
L'expéditeur/destinataire n'a jamais été envoyéIl n’existe aucun point de terminaison acceptant ou renvoyant des adresses. Aucune clé d'affichage. Aucune donnée d'identité. Architecture à montant uniquement.
Aucune différenciation de réponse"TX not found" et "TX is private" renvoient des formes de réponse identiques. Aucune fuite d'informations.
L'accélérateur de mer tient en simultanéitéLimiteur d'accélérateur de mer basé sur un fichier avec LOCK_EX sérialisation. 200 requêtes simultanées → 0 réussie (GhostReaper). La fenêtre TOCTOU est fermée. Les niveaux de bannissement incrémentiels (500 → 5 min, 1 500 → 1 h) augmentent même pendant les bannissements actifs – le compteur ne s'arrête jamais. Au-delà de 60 % du budget, les appels RPC du démon sont refusés pour empêcher l’amplification DDoS. IP stockées sous forme de hachages SHA-256.

Ce que vous DEVEZ faire en tant qu'intégrateur

1. N’enregistrez jamais de clés de preuve. La clé de preuve est la clé du puzzle du montant. Si votre application l'enregistre, vous avez rompu le modèle de confidentialité. Traitez-le comme une clé privée.
2. Préfixe PT accepté — mais validez vos saisies. Le API accepte les deux PT-f7e8... et cru f7e8... formats — le serveur le supprime automatiquement. Mais tx_hash doit contenir exactement 64 caractères hexadécimaux et proof_token maximum 67 caractères. Les entrées surdimensionnées obtiennent un dur 400.
3. Vérifiez dans les 30 minutes. Les clés de preuve expirent. Créez votre flux de vérification pour qu'il soit immédiat, et non pour un traitement par lots le lendemain.
4. Partagez les clés de preuve uniquement sur des canaux sans métadonnées. Signal (disparu), PGP sur Tor, DM .onion. Jamais de discorde. Ne vous relâchez jamais. N'envoyez jamais d'e-mails sans PGP.
5. Cachez les preuves vérifiées côté client. Une fois "valid": true, stockez le résultat. Ne revérifiez pas : vous perdez des modèles de synchronisation et la clé peut expirer entre les vérifications.
6. Déployez le durcissement nginx en production. Le API est livré avec nginx_privacy_hardening.conf — Délais d'attente de 5 s, 20 connexions/IP, limitation des gaz en mer à 100 req/min, blocage de la traversée du chemin. Défense active en loris lent.

Le Manifeste

𖣐 Codez-le. Testez-le. Possédez l'obscurité.

Un seul réseau principal aujourd'hui. Pas de prévente. Pas de vidage VC. Aucune allocation d'influenceurs. Pas de trésorerie de fondation où 6 personnes contrôlent 40% de l'approvisionnement. Pas de communiqués de presse « partenariat stratégique ». Juste une chaîne, une communauté et des mathématiques qui ne se plient pas.

Vous avez maintenant tout. Six points finaux. Du vrai code. Routage Tor. Crochets de signalisation. Un modèle de menace honnête quant à ce qui fuit ou non. Clés de preuve Quantum Kyber-768 générées par le nœud SynX – clés de puzzle infalsifiables qui décodent les montants exacts et rien d'autre. Aucune divulgation d'adresse - ni avec une clé d'affichage, ni avec une clé de preuve, jamais. Fuzzing de l’horodatage qui rend l’analyse temporelle statistiquement dénuée de sens. Et au-dessous de tout cela, une cryptographie en treillis qui survit à toutes les attaques quantiques connues – non pas parce que nous avons migré, mais parce que nous avons commencé là-bas.

Nous ne divulguons jamais l’expéditeur ou le destinataire, car la confidentialité et l’open source ne peuvent pas se mélanger la plupart du temps – c’est comme mélanger du pétrole dans la mer. Nous avons une synergie parce que nous laissons les ombres disparaître, sans nous laisser étouffer et coincer par une fuite de pétrole ou de gaz (métadonnées). La mer absorbe. Les ombres se dissolvent. Le montant chuchote au détenteur de la clé de preuve, et seulement à lui. Tout le reste est silence. — DOCTRINE DE CONFIDENTIALITÉ SynX

Le Synergy Sea est l’océan post-quantique où les ombres ne font jamais surface. Aucun centre de données ne peut être roi lorsque SynergyX le détrône et trône l'utilisateur. Chaque transaction privée s'enfonce dans l'encapsulation Kyber-768, scellée par des hyperarbres SPHINCS+, indexés par des engagements de réseau quantique. Les montants chuchotent à travers les clés de preuve – du charabia pour les observateurs, des décimales exactes pour les détenteurs de clés. L'explorateur voit des ondulations. Le API renvoie null là où cela compte. La clé de preuve est le seul fil conducteur vers le montant – et le montant est tous qui fait surface. Expéditeur et destinataire ? Noyé. En permanence. Aucun point final, aucune clé, aucune assignation à comparaître ne les ramène.

Pas de KYC. Pas de garde. Aucune analyse de chaîne. Aucune divulgation d'adresse. Aucun point central de défaillance. Pas de feuille de route de migration car il n'y a rien à partir duquel migrer. Premier arrivé dans la phase finale quantique.

Ce n'est pas de la documentation. C'est une arme. Utilisez-le.



𝓢𝔁
Codez-le. Testez-le. Possédez les marées sombres.

SynergyX Confidentialité API v2.0 — Clés à preuve quantique — Le Synergy Sea
L’océan post-quantique où les ombres ne font jamais surface.