Le widget d'échange de Pera installe une boîte de trading fonctionnelle dans d'autres applications Algorand
Pera Wallet met à disposition le moteur de routage qui sous-tend ses propres échanges sous forme de widget intégrable et d'API : un visiteur connecte un portefeuille, consulte un taux et signe sans quitter l'application hôte. Un site de démonstration présente quatre façons de le brancher, et les devis peuvent être obtenus sans détenir de fonds.

Une boîte de trading qui reste dans l'application
Le Pera Swap Widget est une boîte de trading qu'une application Algorand peut insérer dans ses propres écrans : un visiteur connecte un portefeuille, choisit deux actifs, consulte un taux et signe, sans jamais quitter la page. Derrière, il y a P.E.R.A., le moteur de routage que Pera Wallet1 utilise pour les échanges dans sa propre application, désormais proposé aux développeurs extérieurs sous forme de paquet qu'ils peuvent intégrer en bloc ou appeler via une API tout en dessinant leur propre interface.
Deux façons de l'adopter. La plus rapide est un iframe pointant vers le widget hébergé par Pera2, configuré par son URL : réseau, thème, l'actif entrant (ALGO sauf indication contraire) et celui qui sort (USDC par défaut). La plus complète consiste à construire son propre écran d'échange sur l'API de swap ; le README3 du paquet résume le choix ainsi : intégrer le widget 'dans un iframe, en signant éventuellement les transactions avec votre propre portefeuille4', ou bâtir 'votre propre interface d'échange au-dessus de l'API Pera Swap (devis, transactions, actifs)'.
La signature est l'élément qui détermine où se trouve le portefeuille. Lorsque la signature parente est activée, le widget n'ouvre aucune connexion de portefeuille propre et demande à la page hôte de signer à sa place ; le README précise que l'API Pera a déjà signé les transactions qui ne proviennent pas du compte de l'utilisateur, si bien que la page hôte ne renvoie que ses propres signatures.
Dans cette configuration, le routage devient une fonction qu'une application appelle plutôt qu'un lieu où l'utilisateur se rend. L'application ne devient jamais une plateforme d'échange et ne détient jamais l'actif échangé ; il lui suffit d'être l'endroit où l'utilisateur se trouve déjà. Ce schéma se répète partout où un service on-chain se résume à du routage, et il fait du constructeur d'en face le client.
L'essayer, et ce qu'il exige d'un utilisateur
Les développeurs commencent par un site de démonstration5 qui déroule quatre branchements : générer une URL de widget, construire l'iframe dans le code, appeler directement l'API de swap, ou confier la signature à la page parente. Les devis peuvent être demandés sans rien détenir, mais préparer un échange exige un compte approvisionné : demander des transactions pour une adresse sans ALGO a renvoyé 'Algo balance is insufficient' et n'a rien produit.
Un utilisateur ordinaire n'installe jamais rien. Il rencontre la boîte dans l'application qui l'a intégrée, connecte un portefeuille et échange. Si le jeton qu'il achète est nouveau pour son compte, le portefeuille lui propose d'y souscrire dans le cadre de l'échange.
Ce que coûte un échange, et ce que dit la ligne de frais
Le centre d'aide6 de Pera indique que le portefeuille prélève des frais allant jusqu'à 17 % sur les échanges, calculés sur la valeur de l'actif d'origine et affichés sous la mention Pera Fee sur l'écran de devis avant signature. La même page situe les frais propres à la pool de la plateforme autour de 0,258–0,3 %, qui reviennent selon elle aux fournisseurs de liquidité ; ce taux relève de la convention d'une pool et non d'un paramètre fixé par le réseau, et il varie selon la plateforme. Le minimum forfaitaire d'Algorand est de 0,001 ALGO par transaction ; la page de Pera situe les frais de réseau sous 0,019 $ et précise qu'ils s'appliquent que l'échange réussisse ou échoue, et qu'un seul échange peut représenter plusieurs transactions dans un groupe.
L'actif dans lequel la ligne de frais est comptée change son sens. L'écran de récapitulatif du widget affiche Pera Fee avec l'unité ALGO, en divisant le montant brut par un million pour l'obtenir.
Le panneau de la démo étiquette le même chiffre différemment. Ses devis du 5 novembre affichaient un Pera Fee de 0,01 sur un échange de 1 ALGO rendant 0,097522 USDC, et un Pera Fee de 1,00 sur un échange de 100 ALGO rendant 9,748322 USDC, tous deux libellés en USDC. Le code d'exemple derrière ce panneau formate les frais avec les décimales et le nom d'unité de l'actif de sortie, d'où vient le libellé USDC. Le chiffre correspond dans les deux cas à 1 % de ce que l'utilisateur a engagé — 0,01 pour 1 ALGO, 1,00 pour 100 ALGO — alors que, lu comme des USDC, il représenterait environ un dixième de l'échange, au-delà du plafond de 1 % décrit par la page de Pera. Le libellé ALGO du widget est donc celui qui correspond aux frais publiés, et le libellé USDC de la démo se lit comme une erreur de formatage dans un exemple ; ce qu'affiche une interface construite à la main dépend de celui qui la construit.
Les plateformes derrière un taux
Le centre d'aide10 de Pera cite quatre plateformes derrière l'agrégateur : Vestige, Tinyman, Folks Finance et Deflex (TxnLabs). Le paquet livré définit trois noms de fournisseurs qu'un appelant peut demander — tinyman, tinyman-swap-router et vestige-v4 — et aucune valeur pour Folks Finance ni Deflex. Un constructeur qui lit la description du produit s'attend à quatre plateformes ; le code en accepte trois.
Qui le construit, et où en est le projet
Pera Wallet est un produit de Pera Wallet, Lda, qui se décrit comme non-custodial et auto-hébergé : les clés et les actifs restent sur l'appareil de l'utilisateur, et l'entreprise affirme ne pas stocker ni récupérer les phrases de récupération. L'application a vu le jour sous le nom d'Algorand Wallet officiel et a été rebaptisée en février 2022 ; elle a livré en août une refonte complète 7.011 de ses applications mobiles (cette histoire), et a remplacé en janvier son ancien on-ramp par un flux d'approvisionnement natif du portefeuille, Pera Fund.
L'API pour développeurs a été annoncée sur le blog de Pera12 le 9 octobre 2025, présentant P.E.R.A. comme le Pera Ecosystem Routing Aggregator et proposant le paquet npm ainsi qu'une application de démonstration. Le paquet13 était présent sur npm depuis le 14 août 2025 ; la version 1.0.014-beta.5, actuellement en vigueur, a été publiée le 28 octobre 2026, soit environ un an après la précédente. Il a été téléchargé 466 fois15 au cours des trente jours précédant le 4 novembre, et le dépôt3 affiche quatre étoiles, avec un dernier push le 2 novembre. Les téléchargements comptent aussi bien les installations automatisées et les miroirs que les personnes, si bien qu'aucun des deux chiffres ne mesure le nombre d'applications qui embarquent la boîte.
Le billet de lancement promet également aux intégrateurs 'des revenus de frais stables — gagnez des frais d'échange en USDC ou dans tout actif stable de votre choix16'. La manière dont ces revenus sont fixés, répartis ou perçus n'apparaît dans aucun des documents publiés autour du paquet : le seul levier côté client est une URL de parrainage facultative, documentée à des fins d'attribution. Cela peut être organisé côté serveur, ou via un champ que le README ne montre pas.
L'alternative est le Swap Widget de Tinyman17, documenté et maintenu par l'équipe centrale de Tinyman, qui achemine les échanges via le Tinyman Swap Router — le routeur d'une seule plateforme plutôt qu'un tour d'achat chez plusieurs.
Ce qui peut mal tourner
Les conditions de Pera confient l'échange lui-même à un tiers : elles stipulent que Pera 'n'exploite, ne contrôle, n'exécute ni ne règle les transactions d'échange18' et que la tarification, l'exécution et le routage proviennent uniquement d'un fournisseur tiers, si bien qu'une exécution qui tourne mal relève de la relation entre l'utilisateur et la plateforme qui l'a exécutée. La ligne de frais est distincte : les frais propres au widget, que le centre d'aide de Pera situe jusqu'à 119 % pour financer le développement et la maintenance du portefeuille, s'ajoutent à la part de la pool.
Les conditions citent également les États-Unis, le Canada, la Chine et Israël parmi les lieux où le trading d'ALGO peut être interdit, et se réservent le droit de bloquer l'accès selon le territoire. Diffuser le widget à des utilisateurs de ces pays est une décision que le constructeur prend cette page sous les yeux.
Un échange confirmé est réglé. S'il s'exécute à un taux moins favorable que celui affiché à l'écran, dans la limite du slippage autorisé par l'utilisateur, l'exécution reste valable. Un échange qui échoue coûte tout de même les frais des transactions soumises pour lui — un échange peut en compter plusieurs dans un même groupe — et les actifs restent dans le portefeuille.
La version 1.0.0-beta.5 a comblé une faille dans la communication entre le widget intégré et la page qui l'entoure. Avant elle, selon le changelog, n'importe quelle page ou cadre pouvait envoyer une demande de signature, déclencher une invite de portefeuille et recevoir les transactions signées. Le contrôleur n'accepte désormais les messages que depuis l'origine du widget Pera et ignore les autres avec un avertissement unique dans la console ; quiconque héberge le widget ailleurs doit nommer explicitement cette origine. Les versions antérieures restent sur npm, si bien que la version épinglée par le constructeur détermine si la protection est présente.
Le réseau par défaut est l'autre piège, et il existe deux valeurs par défaut. La page du widget elle-même pointe par défaut vers le testnet, si bien qu'un iframe écrit à la main qui omet le paramètre de réseau place les visiteurs sur une chaîne où les jetons ne valent rien. Les assistants du paquet envoient désormais toujours un réseau et le fixent par défaut au mainnet, si bien qu'un widget construit via eux s'ouvre sur le mainnet sauf indication contraire.
Et le hub de documentation20 de Pera n'en mentionne rien : il recense Pera Connect, une API pour les données d'actifs, des spécifications d'analyse de NFT et des schémas d'URL d'application, sans aucune entrée pour l'API de swap ni pour le widget. La découverte passe par le README, un billet de blog et la démo.
Ce sur quoi un constructeur se prononce, c'est donc une dépendance : une version bêta publiée environ une fois par an qui casse lorsqu'elle évolue, et une liste de routage plus courte dans le code que sur la page. Pour un lecteur qui rencontre la boîte dans l'application de quelqu'un d'autre, l'essentiel se trouve à l'écran avant la signature — le fournisseur, le minimum reçu, l'impact sur le prix, et la ligne de frais dont il faut vérifier l'unité.
9 chiffres de cet article sont vérifiés.Voir toutes les vérifications
Sources
- 1Pera Wallet perawallet.app↩
- 2le widget hébergé par Pera swap-widget.perawallet.app↩
- 3Breaking Changes github.com↩
- 5Pera Swap Widget Examples perawallet.github.io↩
- 6Pera Wallet – Understanding Swap Fees and Slippage in Pera support.perawallet.app↩
- 10Pera Wallet – How to Swap Tokens in Pera Wallet support.perawallet.app↩
- 12Introducing the P.E.R.A. API: Seamless Swap Integration | by Joseph Cecala | Pera Wallet blog.perawallet.app↩
- 13registry.npmjs.org/@perawallet/swap registry.npmjs.org↩
- 15api.npmjs.org/downloads/point/last-month/@perawallet/swap api.npmjs.org↩
- 17Swap Widget | Tinyman Docs docs.tinyman.org↩
- 20hub de documentation docs.perawallet.app↩