Un porte-monnaie électronique se nomme purse en anglais. C'est une carte à puce analogue à un vrai porte-monnaie, permettant de régler des petits achats en magasin.
Le purse permet de réaliser des achats par une opération de débit, et on peut y déposer de l'argent par une opération de crédit. Pour débiter de l'argent, il est nécessaire de fournir un code secret censé prouver que le porteur du porte-monnaie en est bien le propriétaire. La somme contenue dans le purse se nomme le solde. Le solde ne doit jamais être négatif, mais il ne doit pas non plus dépasser un plafond (par exemple 100 euros) fixé à la création du purse.
Le purse a une durée de vie limitée, et après un certain nombre d'opérations (par exemple 100) de débit ou de crédit, il ne doit plus pouvoir être utilisé (c'est à dire débité ou crédité). Le nombre maximum d'opérations du purse est fixé à la création et ne peut être modifié ensuite.
Le code secret est une suite de 4 chiffres ou de 4 caractères numériques (exemple : "1234", ou "0101", etc.).
Chaque opération de débit nécessite de l'utilisateur, la saisie d'un code qui est comparé avec le code secret du purse. Lorsque les codes ne correspondent pas, l'opération de débit est rejetée.
Le code fourni ne doit pas être successivement faux plus de trois fois. Si ce nombre d'essais est atteint, le purse ne doit plus pouvoir être utilisé. Sinon, dès que le code fourni est le bon, le nombre d'essais est remis à son maximum (c'est à dire 3).
Le code secret est généré aléatoirement et associé au purse.
Le code secret doit pouvoir être révélé une seule fois, par une opération spécifique. Lors de la première exécution de cette opération, le code secret est communiqué, toutes les exécutions suivantes renvoient un code masqué ("xxxx").