Hash de chaque ordre
Le payload de chaque ordre routé est hashé en SHA-256 dès réception.
- Hash calculé côté serveur
- Inclus dans la réponse API
- Stocké dans le journal d'audit
Chaque ordre routé via Inopay est hashé et ancré dans une chaîne publique consultable et vérifiable hors-ligne.
Quatre étapes, du hash de l'ordre à la vérification offline.
Le payload de chaque ordre routé est hashé en SHA-256 dès réception.
Tous les hashes du jour sont agrégés dans une Merkle tree dont la racine est figée à minuit UTC.
La racine Merkle est publiée via /.well-known/inopay/audit/<date> et accessible sans authentification.
Toute personne peut vérifier qu'un ordre a bien été ancré, à partir d'une attestation et de la racine du jour.
Mises à jour à chaque snapshot quotidien.
Une attestation et une commande suffisent pour confirmer qu'un ordre est bien inclus dans la racine Merkle du jour.
Avec le CLI officiel :
# Vérifier qu'un ordre est bien ancré dans la racine du jour
inopay-cli verify \
--order-id=ord_01H8X4KJZQ \
--attestation=./attestation.json \
--root=https://getinopay.com/.well-known/inopay/audit/2026-04-24
# OK : SHA-256 inclus dans la Merkle root signée Ed25519Ou directement avec curl :
# 1. Récupérer la racine Merkle du jour
curl -s https://getinopay.com/.well-known/inopay/audit/2026-04-24 \
| jq '.merkle_root, .signature_ed25519'
# 2. Recalculer localement le hash de votre payload
sha256sum order-payload.json
# 3. Reconstruire la chaîne d'inclusion à partir du proof JSON
inopay-cli verify --proof=./proof.json --root=<merkle_root>Cinq dernières racines Merkle ancrées.
| Date | Merkle root (SHA-256) | Ordres | Signature |
|---|---|---|---|
| 2026-04-24 | a3f1b9c4d2e7f0a51b62c8d4e9f307a8b1c2d3e4f5a60718293a4b5c6d7e8f90 | 12 487 | ed25519:9k…f4 |
| 2026-04-23 | 7e2b8d4a1c9f6e0b3d5a7c8e1f2b9d0a4c6e8f1b3d5a7c9e0f2b4d6a8c0e1f30 | 11 902 | ed25519:2p…a1 |
| 2026-04-22 | c4d6e8f0a2b4c6d8e0f2a4b6c8d0e2f4a6b8c0d2e4f6a8b0c2d4e6f8a0b2c4d8 | 12 014 | ed25519:7m…b3 |
| 2026-04-21 | b1c3e5f7a9b1c3d5e7f9a1b3c5d7e9f1a3b5c7d9e1f3a5b7c9d1e3f5a7b9c1d3 | 11 651 | ed25519:5j…e7 |
| 2026-04-20 | d2e4f6a8b0c2d4e6f8a0b2c4d6e8f0a2b4c6d8e0f2a4b6c8d0e2f4a6b8c0d2e4 | 11 203 | ed25519:1q…c0 |
L'audit chaîné Inopay repose sur des propriétés vérifiables, sans dépendance à un tiers.
Une fois la racine ancrée, modifier un ordre invalide la signature Ed25519 du snapshot.
Aucune authentification requise pour récupérer une racine ou son arbre.
Une fois la racine récupérée, la vérification d'inclusion est purement locale.
Pas de notaire, pas de blockchain tierce. Inopay publie, vous vérifiez.
Le format des snapshots, les schémas JSON et les algorithmes Merkle sont documentés avec la spec KYC portable.