Sécurité

Moins nous avons accès à votre argent,
plus vous êtes serein

Coinetic est conçu pour que, même en cas de piratage de nos serveurs, un attaquant ne puisse ni dépenser ni détourner vos encaissements.

Uniquement des clés publiques

Pour encaisser, il suffit d’un xpub/zpub, d’une adresse Solana et de l’adresse du portefeuille de collecte sur les réseaux EVM. Coinetic ne demande jamais la phrase de récupération (seed) ni les clés privées des marchands : elles ne figurent ni dans le code, ni dans la base de données, ni dans les logs.

Chaque adresse est vérifiée trois fois

L’adresse présentée au client est issue de votre portefeuille ; au moment du crédit, nous vérifions qu’elle a bien été dérivée de votre clé, et la base de données refuse de l’associer à un autre portefeuille.

EVM : collecte uniquement vers votre adresse

Sur les réseaux EVM, les adresses de dépôt sont des smart contracts dont le destinataire est fixé au déploiement. Personne ne peut le modifier, pas même nous.

Changement de portefeuille différé

Mot de passe, second facteur, e-mail aux propriétaires et délai d’annulation. Si quelqu’un accède à votre tableau de bord, vous avez le temps de bloquer le changement.

Seule la blockchain déclenche « Payé »

Le statut est modifié par l’observateur du réseau après le nombre de confirmations requis. Chaque transfert est crédité exactement une fois ; l’annulation d’un bloc annule aussi le statut.

Requêtes et webhooks signés

Requêtes API : HMAC-SHA256 avec horodatage et nonce à usage unique. Webhooks : HMAC du corps brut, rotation du secret sans interruption de service.

De votre côté

Cinq règles pour une intégration sûre

Chez les marchands, la plupart des incidents ne viennent pas d’un piratage de la blockchain, mais d’une confiance accordée au mauvais signal.

  1. Le secret API reste sur le serveurJamais dans le navigateur, une application mobile ou git.
  2. Livrez la commande selon le statut de l’APIpaid ou overpaid via GET /v1/invoices/{id}, et non d’après les paramètres de return_url ou le corps du webhook.
  3. Vérifiez la signature du webhook sur le corps brutEt rejetez les requêtes de plus de 5 minutes.
  4. Rendez la livraison idempotenteUn webhook peut arriver plusieurs fois : conservez les X-Webhook-Id déjà traités.
  5. Rejetez livemode: false en productionAinsi, une sandbox branchée par erreur ne livrera aucune marchandise.
Clients

Une page de paiement sans surprise

Aucun script tiers

Ni outil d’analyse, ni polices externes, ni CDN. Content-Security-Policy stricte, QR code généré sur la page.

Le jeton après « # »

Le lien de paiement transporte le jeton dans le fragment de l’URL : il n’apparaît ni dans les logs des serveurs, ni dans le Referer.

Aucun montant périmé

Une fois la validité du taux expirée, l’adresse et le montant sont masqués : le client ne paiera pas sur une ancienne cotation.