Aller au contenu
GatePay

Comment marche une clé

Un petit contrat vend les clés. Une passerelle les vérifie avant que rien ne s'ouvre.

Le cycle de vie

  1. 01

    Règle

    Prix, jeton et ce qu'achète une unité.

  2. 02

    Paiement

    Unités × prix, en une transaction.

  3. 03

    Clé

    Détenteur, début, fin ou usages, on-chain.

  4. 04

    Vérification

    La passerelle lit la clé on-chain.

  5. 05

    Ouverture

    Une serrure s'ouvre ou un contenu apparaît.

  6. 06

    Expiration

    Temps ou entrées épuisés : ça reste fermé.

renouveler: Expiration → Paiement

La règle

Une par accès. Elle ne change jamais une clé déjà vendue.

ChampSensTerrain 2 de Riverside
modetime, uses ou foreveruses
pricePrix d'une unité15
tokenJeton accepté par le contrattUSDC
unitMinutes ou entrées par unité10 entrées
maxUnitsNombre maximal d'unités par achat2
actionAction après vérificationwebhook gate.unlock

Ce que le contrat enregistre

Chaque achat crée une clé et émet un événement.

Le renouvellement part de la plus tardive : maintenant ou l'échéance actuelle.

Voir les événements du contrat
event KeyPurchased(
  uint256 indexed tokenId,
  bytes32 indexed gateId,
  address indexed holder,
  uint64  start,
  uint64  end,        // 0 for metered and forever keys
  uint32  uses,       // 0 for time and forever keys
  uint256 paid
);

event KeyUsed(uint256 indexed tokenId, uint32 usesLeft);
event KeyRenewed(uint256 indexed tokenId, uint64 end, uint32 uses, uint256 paid);

function accessOf(uint256 tokenId)
  external view
  returns (bytes32 gateId, address holder, uint64 end, uint32 usesLeft, bool forever);

Ce que fait la passerelle

À chaque ouverture, elle :

  1. 1trouve la clé et vérifie l'accès ;
  2. 2la refuse si l'accès est suspendu, ou la clé expirée ou épuisée ;
  3. 3décompte une entrée, pour les clés à l'usage ;
  4. 4ouvre la serrure ou affiche le contenu ;
  5. 5inscrit la vérification et son résultat.
Voir le webhook

Webhook envoyé à la grille d'un terrain

POST https://gates.harbourview-parks.example/riverside-2/unlock
X-GatePay-Signature: t=1759152131,v1=6f0c…e41a

{
  "event": "gate.unlock",
  "gate": "riverside-court",
  "key": "GP-4K7Q-2M",
  "holder": "0x5ae1…c3B9",
  "validUntil": "2026-09-29T16:02:11Z",
  "block": 6512344,
  "pin": "482913",
  "holdOpenSeconds": 10
}

Signé ; la serrure ignore les appels non signés ou périmés.

Où ça se branche

La passerelle parle au matériel qu'on trouve déjà en magasin, et à votre propre code.

Physique

  • Serrures connectées

    Les serrures Wi-Fi ou Bluetooth reçoivent un NIP ou une ouverture par appli, le temps de la clé.

  • Claviers hors ligne

    Des NIP limités dans le temps, calculés sans réseau. Idéal pour un terrain clôturé.

  • Lecteurs NFC et QR

    Tourniquets et grilles lisent un téléphone ou un code.

  • Relais

    Un petit contrôleur actionne le moteur d'une grille ou l'éclairage d'un terrain.

Numérique

  • SDK web

    Un seul appel vérifie la clé et débloque le contenu dans votre page.

  • Webhooks

    Des appels signés vers votre serveur après chaque vérification.

Le SDK, en un appel

import { GatePay } from "@gatepay/sdk"

const gatepay = new GatePay({ chain: "base-sepolia" })

// Checks the visitor's key on-chain, then reveals the content.
const access = await gatepay.unlock("rooftop-session", { wallet })
if (access.ok) player.play(access.stream)

À titre d'illustration : dans cette démo, le SDK et le matériel sont simulés.

Pour aller plus loin

  • Tarif à la minute pour les diffusions.
  • Une clé pour plusieurs accès, comme tous les terrains d'un parc.
  • Un éclairage qui s'allume seulement pendant la clé d'un terrain.
  • Des clés transférables, si le propriétaire autorise la revente.

Voyez-la ouvrir

Essayer la démo