PancakeSwap ($CAKE) : la plateforme d’échange décentralisée de Binance Smart Chain
Par Paul-Emile Chantrel
PancakeSwap est une application qui permet d’échanger des cryptoactifs de manière décentralisée sur la Binance Smart Chain. Cette application propose aussi du « Yield Farming » pour les jetons de pools de liquidités (LP token) ainsi que de « staker » des jetons $CAKE pour obtenir d’autres jetons de la Binance Smart Chain avec des taux annualisés (APR) allant de 60% à 140% [1].
Dans ce tutoriel, nous expliquerons tous les concepts mentionnés plus haut : comment fonctionnent les échanges décentralisés et qu’est-ce que sont les pools de liquidités de même que ce qu’est le « Yield Farming » ou le « staking » de jetons. Nous discuterons ensuite des risques éventuels de cette plateforme, et enfin, nous montrerons concrètement comment l’utiliser.
1. Le fonctionnement de PancakeSwap
La plateforme PancakeSwap est composée de trois fonctionnalités majeures : les pools de liquidités qui permettent aux utilisateurs de cette plateforme de déposer des jetons (des liquidités) dans des contrats intelligents et à d’autres utilisateurs d’échanger ces jetons de manière décentralisée, le « Yield Farming » de jetons LP (« LP tokens ») qui permet aux utilisateurs qui apportent des liquidités aux pools de gagner des récompenses supplémentaires et des pools de « staking » qui permettent aux utilisateurs d’entreposer leurs jetons $CAKE pour gagner des jetons supplémentaires. Le jeton $CAKE est le jeton de gouvernance de la plateforme PancakeSwap.
Cette plateforme propose également un système de loterie, de vente de NFT et des ICO (appelés IFO pour Initial Farm Offering). Toutefois, nous ne parlerons pas de ces fonctionnalités aujourd’hui.
1.1 Échanger des actifs de manière décentralisée : les pools de liquidités
1.1.1 Fonctionnement des échanges centralisés
Les plateformes d’échanges de cryptomonnaies centralisées ou les bourses standards fonctionnent avec un système de carnet d’ordre (« order book »).
Dans un carnet d’ordre, les vendeurs proposent un nombre d’actions ou d’actifs à un certain prix de vente et un acheteur peut accepter ce prix (auquel cas, un échange sera fait) ou proposer un achat à un prix plus bas en attendant qu’un vendeur soit intéressé pour réaliser un échange. Le prix de l’actif en question est là où les acheteurs et les vendeurs se rejoignent et est donc dicté directement par l’offre et la demande.
Carnet d’ordre sur Binance [2]
Graphique en profondeur (« Depth Chart ») sur Coinbase Pro qui représente le carnet d’ordre [3].
Avec ce système, les liquidités, c’est-à-dire la quantité d’actifs échangés sur le marché, doivent être importantes pour 1) limiter le « spread » qui est l’écart de prix entre les acheteurs et les vendeurs et 2) faciliter les échanges de grandes quantités sans faire varier de manière importante le prix.
Ainsi, plus un échangeur a de liquidités, plus il va attirer des acheteurs et des vendeurs ce qui aura pour effet qu’il aura davantage de liquidités. À l’inverse, moins une plateforme d’échange a de liquidités, moins elle en attirera.
De plus, le système de carnet d’ordre a besoin de pouvoir traiter plusieurs centaines d’actions (ou de transactions) par seconde et n’est donc pas vraiment adapté pour une chaîne de blocs standard.
Autrement dit, une plateforme d’échange décentralisée fonctionnant avec un carnet d’ordre n’est pas optimale. Il y a donc peu de liquidités sur ces dernières ce qui les rend encore moins intéressantes à utiliser et attire donc moins de liquidités. C’est un cercle vicieux.
Les pools de liquidités permettent de pallier ce problème.
1.1.2 Les pools de liquidités
Les pools de liquidités sont des contrats intelligents qui sont approvisionnés en jetons par des fournisseurs de liquidités (des LP pour « Liquidity Provider »). Une fois la pool approvisionnée, un utilisateur va pouvoir déposer des jetons dedans et en prendre d’autres afin de réaliser un échange ou un "swap". À chaque échange, le LP prendra des frais sur la transaction et gagnera une petite partie des jetons échangés.
Dans PancakeSwap, chaque pool de liquidités possède deux jetons distribués à 50-50. Par exemple, dans une pool BNB - USDT où 1 BNB vaudrait 250 USDT, un LP devra déposer 50% de BNB et 50% d’USDT donc 1 BNB + 250 USDT ou 0,5 BNB + 125 USDT, etc. En échange, le fournisseur de liquidités recevra des jetons LP BNB-USDT qui prouvent qu’il a déposé des liquidités dans le contrat intelligent. Ces jetons seront par la suite utilisés pour récupérer les BNB et USDT mis dans la pool. Entre temps, ils peuvent aussi être « stakés » pour augmenter les récompenses. Nous décrirons ceci de manière plus approfondie dans la partie « Yield Farming ».
Les jetons LP reçus sont proportionnels à la part de la pool que le fournisseur de liquidités possède. Par exemple, dans une pool de 10 BNB et 2500 USDT qui aurait un total de 50 jetons LP, un fournisseur de liquidités qui place 1 BNB et 250 USDT recevra 5 nouveaux jetons LP en échange. En revanche, s’il ajoute 10 BNB et 2500 USDT dans la pool, alors 50 nouveaux jetons LP seront créés et lui seront donnés.
À noter que les pools n’utilisent pas du BNB, mais un « wrap » BNB : le WBNB. Le WBNB est un jeton BEP20 sur la Binance Smart Chain (l’équivalent d’ERC20 sur Ethereum), tandis que le BNB est la pièce native de cette chaîne de blocs (l’équivalent de l’ETH sur Ethereum). Vous pouvez « wraper » des BNB avec PancakeSwap ou vous pouvez directement déposer des BNB dans les pools de liquidités et les contrats intelligents de PancakeSwap les « wraperont » pour vous.
1.1.3 Compensation des fournisseurs de liquidités
À chaque échange, des frais de 0,17% sont donnés aux LP et 0,03% à l’équipe de développeurs de PancakeSwap.
Il est possible d’estimer le rendement journalier reçu en apportant des liquidités, en comparant le volume d’échanges d’une pool avec les liquidités qu’elle contient.
Plus les volumes (sur 24h) sont supérieurs aux liquidités, plus les LP reçoivent de frais de transaction.
Prenons un exemple où les liquidités sont de 100 000 $ et le volume sur 24h est de 200 000 $. Les frais générés sur cette période sont de 200 000 x 0,0017 = 340 $. Un utilisateur ayant 10 000 $ possèderait 10% de la pool et aurait droit à 10% des frais soit 34 $. Cela donne un rendement de 0,34% ou un APR de 124,1%.
Un facteur important est donc le ratio entre le volume journalier et les liquidités de la pool. Plus il est important, plus la pool rapportera en frais de transaction.
Les frais de transaction restent dans la pool et sont donc inclus directement des les jetons LP. En reprenant l’exemple précédent, si vous déposez 10 000 $ dans une pool (5 000$ de BNB et 5 000 d’USDT par exemple) et que vous obtenez en échange 100 jetons LP BNB-USDT, vous obtiendrez 10 034$ en échangeant ces 100 jetons 24h plus tard – s’il n’y a pas de pertes impermanentes.
Les pertes impermanentes représentent l’un des risques liés l'approvisionnement de liquidités dans une pool. Nous reviendrons sur ce sujet plus tard.
1.1.4 Comment fonctionne l’échange dans une pool?
Échanger des jetons avec une pool de liquidités est, à première vue, facile. Il suffit de déposer des jetons dans le contrat intelligent de la pool et celui-ci vous en enverra d’autres.
Cependant, comment le taux de change est-il calculé?
Comme expliqué plus tôt, la pool reste toujours répartie à 50-50 entre les deux jetons. Ainsi, ajouter des jetons dans la pool fait varier le prix. Si on ajoute une grande quantité de jetons par rapport aux liquidités de la pool, alors son prix va augmenter et le prix de l’autre va diminuer. Le prix des jetons achetés sera donc différent de celui attendu. Cela s’appelle le « slippage ».
Pour calculer le prix, la plupart des pools de liquidités utilisent une formule très simple [4]: x * y = k où x est le nombre de jetons du 1er actif de la pool, y le nombre de jetons du second et k une constante (un nombre qui restera le même avant et après l’échange). Autrement dit, entre chaque transaction, le nombre de jetons d’un actif de la pool multiplié par le nombre de jetons de l’autre actif reste constant.
Prenons un exemple avec une pool de faibles liquidités qui aurait 100 BNB et 25 000 USDT (on a donc 1 BNB = 250 USDT). Dans ce cas, x = 100, y = 25 000 et donc k = x * y = 2 500 000.
Si une personne veut acheter 10 BNB, on a x’ = 100 - 10 = 90. Sachant que k reste constant à 2 500 000, on a donc y’ = k / x’ = 2 500 000 / 90 = 27 777,78.
Ainsi, pour prendre 10 BNB, il faut ajouter 2 777,78 USDT, soit y’ - y, 27 777,78 - 25 000 à la pool. Le prix d’achat moyen sera donc de 277,778 USDT par BNB et le nouveau prix des BNB de la pool sera de 1BNB = y’ / x’ = 27 777,78 / 90 = 308,64 USDT.
Ainsi, le prix d’achat (277,78 USDT par BNB) peut varier considérablement par rapport au prix initial de la pool (250 USDT par BNB) lorsqu’il y a peu de liquidités dans la pool. Le prix final des BNB sera également plus important (308,64 USDT).
Si on reprend le même exemple avec une pool possédant plus de liquidités, par exemple 100 000 BNB et 25 000 000 d’USDT, alors un achat de 10 BNB coûterait 250,025 USDT par BNB et le prix final de la pool serait de 250,05 USDT par BNB. Avec beaucoup de liquidités (comparativement au montant d’achat), les prix varient très peu.
L’avantage de la formule x*y = k est que les pools ont des liquidités illimitées. En effet, il sera toujours possible de réaliser une transaction. Cependant, les prix peuvent devenir extrêmement importants (par exemple, il faudrait 2 475 000 USDT pour prendre 99 BNB dans la pool de 100 BNB). Il n’est pas possible de vider entièrement une pool en achetant ses jetons.
Une question que nous pouvons alors nous poser est la suivante : comment le prix initial est fixé ou plutôt, que se passe-t-il si le prix des actifs de la pool s’éloigne du prix réel? Si tel est le cas, s’il y a, par exemple, une grande différence entre le prix dans la pool BNB-USDT et la paire BNB/USDT listée sur Binance, alors d’autres utilisateurs (des arbitrageurs) achèteront des BNB sur Binance pour les revendre dans la pool (ou l’inverse) et rééquilibreront les prix.
L’avantage de ce système est qu’il n’a pas besoin d’oracles pour déterminer le prix des actifs. Au contraire, les pools de liquidités donnent le prix de ceux-ci directement sur la chaîne de blocs. Ainsi, le prix des jetons peut être connu par d’autres contrats intelligents sans passer par des tiers de confiance ou des oracles.
Maintenant que nous avons expliqué le fonctionnement des pools de liquidités, nous pouvons parler du « Yield Farming » des jetons LP.
1.2 Le « Yield Farming » de jetons LP
Comme expliqué précédemment, les jetons LP sont obtenus en fournissant des liquidités dans les pools. Ces derniers ont pour fonction première de prouver la possession d’actifs dans une pool et ils peuvent être utilisés pour récupérer ces derniers.
Il est également possible de les « staker », c’est-à-dire de les verrouiller dans un contrat intelligent pour gagner un rendement (APR) supplémentaire. C’est ce qu’on appelle du « Yield Farming ».
À l’écriture de cet article, les APR de PancakeSwap varient entre 6.2% et 371% de rendements annualisés pour les jetons LP [5]. Cela équivaut à des APY variant de 6.5% à 3200%! (Ceci n’est pas sans risque comme nous le verrons plus tard.)
Sur PancakeSwap, toutes les récompenses sont distribuées en jetons $CAKE. 60% des jetons $CAKE créés à chaque bloc sont distribués pour le « Yield Farming » de jetons LP, tandis que les 40% restant sont distribués à la pool de "staking" $CAKE.
1.2.1 Quelle est la différence entre APR et APY?
Un APY (« Annual Percentage Yield ») correspond au rendement total annuel. Par exemple, si je place 1000$ avec un APY de 120%, j’aurais 2200$ après un an, soit 1000$ + 1200$ (120% de 1000$).
Un APR (« Annual Percentage Rate ») correspond au rendement total annualisé et distribué à des intervalles réguliers qui sont inférieurs à 1 an (tous les mois par exemple). Un APR de 120% distribué mensuellement donnerait 10% par mois. Si ce revenu est ajouté au montant de base, les rendements composés permettraient d’obtenir un APY de 214%.
Par exemple, si je place 1000$ avec un APR de 120% distribué mensuellement, j'aurais 1100$ le premier mois, 1210$ le deuxième, 1321$ le troisième, et ainsi de suite, jusqu’à atteindre 3140$ (soit +214%) le douzième mois.
Il est possible de faire ces calculs en utilisant https://www.aprtoapy.com/.
Dans la DeFi, les APR sont distribués dans tous les blocs, soit toutes les trois secondes pour la Binance Smart Chain. Cela crée alors une différence importante entre les APR et APY gagnés. Cependant, il faudra réaliser des transactions sur la chaîne de blocs pour récupérer ses récompenses et les frais peuvent être importants pour composer ces rendements.
Par exemple, pour les jetons LP, il faut 1) récupérer sa récompense (qui est donnée en $CAKE), 2) acheter un actif de la pool (ex. BNB), 3) acheter le second actif (ex. USDT) 4) fournir des liquidités à la pool (ex. BNB-USDT) pour obtenir les jetons LP et enfin 5) « staker » les jetons LP. Il faut donc cinq transactions pour composer de tels rendements.
Heureusement, il existe des applications comme AutoFarm qui permettent de faire cela de manière optimisée, automatisée et décentralisée tout en réunissant les fonds des investisseurs dans un même contrat intelligent pour répartir les frais de transaction.
1.2.2 Pourquoi PancakeSwap propose du « Yield Farming » de jetons LP?
Comme mentionné précédemment, le protocole PancakeSwap crée de nouveaux jetons à chaque bloc de la Binance Smart Chain pour rémunérer ses « Yield Farmers ». Cela ajoute donc beaucoup d’inflation au jeton $CAKE.
Certes, cette inflation va diminuer au cours du temps et les rendements seront plus faibles, mais on peut tout de même se demander pourquoi avoir besoin d’un tel concept. Ce n’est pas seulement pour attirer des utilisateurs avec des rendements impressionnants, c’est aussi pour éviter une attaque par vampirisation.
Exemple avec l’attaque par vampirisation de SushiSwap sur UniSwap [6] :
Pendant l’été 2020, un nouvel échange décentralisé nommé SushiSwap voyait le jour. Cet échange décentralisé était une fork d’UniSwap qui introduisait pour la première fois un jeton.
Sur SushiSwap, il était possible de faire du « Yield Farming » avec les jetons LP d’UniSwap pour gagner des jetons $SUSHI.
Lorsque suffisamment de jetons LP d’UniSwap étaient verrouillés dans les contrats de SushiSwap, le protocole entamait ce qui fut nommé plus tard une attaque par vampirisation : ils ont vidé une grande partie des pools de liquidités d’UniSwap pour les transférer dans celles de SushiSwap (en utilisant les jetons LP d’UniSwap). Les utilisateurs (qui étaient au courant de la migration) ont obtenu des jetons LP SushiSwap à la place.
SushiSwap a ainsi réussi à absorber une grande quantité des liquidités d’UniSwap avec ce stratagème et est pratiquement devenu la plus grande plateforme d’échange décentralisée.
UniSwap a rapidement introduit son propre jeton $UNI ainsi qu’un système de « Yield Farming » et a réussi à récupérer une grande partie de ses liquidités. Aujourd’hui, toutes les plateformes d’échanges décentralisées proposent ce système pour se protéger des attaques par vampirisation.
Abordons maintenant la dernière fonctionnalité majeure.
1.3 Le « staking » des jetons $CAKE
La plateforme PancakeSwap propose une troisième fonctionnalité similaire au "Yield Farming" : le « staking » de jetons $CAKE.
Cette activité consiste à verrouiller ses jetons dans un contrat intelligent pour obtenir des récompenses. Il existe différentes pools de "staking" dans lesquels on peut verrouiller ses jetons $CAKE et obtenir d’autres jetons avec des APR variant de 60% à 140%.
Dans la pool CAKE, 40% des jetons $CAKE qui sont créés à chaque bloc de la Binance Smart Chain sont distribués aux utilisateurs.
Dans les autres pools, chaque projet distribue ses propres jetons aux utilisateurs qui « stakent » leurs $CAKE dans la pool du projet. Cela permet aux projets de gagner en visibilité.
Tout comme le « Yield Farming », le fait de « staker » ses jetons $CAKE a un intérêt économique pour la plateforme PancakeSwap.
1.3.1 Pourquoi PancakeSwap propose des pools de « staking »?
À première vue, les pools de « staking » permettent d’attirer des utilisateurs en proposant sur le court terme des jetons avec des rendements alléchants. Cependant, comme pour le « Yield Farming », ces taux d’intérêt ont un certain coût : une inflation importante sur le jeton $CAKE. Pourquoi augmenter celle-ci davantage ?
Le « staking » donne une utilité supplémentaire aux jetons $CAKE. Sans cela, les jetons émis avec le « Yield Farming » seraient vendus directement ce qui créerait une pression à la baisse sur le prix du jeton, et ce, du à la forte inflation. Cependant, avec les pools de « staking », les jetons sont verrouillés dans des contrats intelligents. Ils ne sont plus en circulation sur le marché et ont maintenant comme utilité de générer des jetons supplémentaires. Si suffisamment d’utilisateurs « stakent » leurs jetons, alors la pression à la baisse diminue et l’inflation peut ne plus se faire ressentir sur le prix.
Nous avons ainsi présenté les fonctionnalités majeures de PancakeSwap. Avant de montrer comment utiliser la plateforme, nous allons parler des différents risques qui lui sont associés.
2. Les risques liés à l’utilisation de PancakeSwap
Lorsqu’on échange ou lorsqu’on « stake » des cryptomonnaies avec une application décentralisée comme PancakeSwap, il est important de connaître les risques éventuels.
Les risques peuvent se diviser en deux catégories : les risques financiers (ex. : pertes impermanentes) et les risques de contrats intelligents (ex. : bug, piratage, etc).
Commençons par les risques liés aux contrats intelligents.
2.1 Risques liés aux contrats intelligents
Il existe différents risques liés aux contrats intelligents par exemple un « bug » qui bloquerait les fonds dans le contrat ou une faille qui permettrait à un acteur mal intentionné de subtiliser les fonds.
Pour éviter cela, de nombreuses audits des contrats intelligents sont effectuées. Dans le cas de PancakeSwap, Certik a effectué une audit en octobre 2020 [7] et les failles mineures trouvées ont été « patchées ». Cela ne garantit cependant pas l’absence de « bugs » ou de failles.
Un autre risque possible avec les protocoles de DeFi est que l’équipe de développeurs parte avec les fonds. En effet, ces protocoles étant toujours en cours de développement, les programmeurs possèdent constamment un moyen de changer le code et de retirer les fonds. Ceci est communément appelé une « rug pull » dans le monde des cryptomonnaies.
Pour rassurer leurs utilisateurs, la plupart des programmeurs utilisent un "24h timelock" où il faudra attendre une période de 24h avant que chaque nouveau changement ne soit implémenté. Cela permet à la communauté de voir à l’avance chaque action des développeurs.
PancakeSwap utilise ce type de système avec un « timelock » de 6h pour rassurer ses utilisateurs et éviter que les développeurs partent avec les fonds. Chaque mise à jour du protocole est visible à l’avance sur unrest.net [8].
Il existe de nombreux autres risques. Par exemple, le site de PancakeSwap a récemment eu un « DNS hijacked » [9]. L’adresse du site https://pancakeswap.finance ne redirigeait plus vers le vrai site de PancakeSwap, mais plutôt vers une copie contrôlée par des pirates. Les personnes qui utilisaient l’application de la copie frauduleuse pouvaient voir leurs fonds subtilisés. Ceci a depuis été corrigé et le lien mène à nouveau vers le site original.
Il existe également des risques financiers liés à l’utilisation de PancakeSwap.
2.2 Risques financiers
Le risque majeur lorsqu’on fournit des liquidités aux pools d’échanges décentralisés est les pertes impermanentes.
Les pertes impermanentes surviennent lorsque le prix entre les actifs de la pool varie. Lorsque l’utilisateur souhaite récupérer ses liquidités, il est possible qu’il récupère moins d’argent que s’il avait simplement gardé ses actifs hors de la pool en les laissant apprécier ou déprécier avec le temps.
Par exemple, s’il dépose 1 BNB et 250 USDT (valeur totale de 500$) et que le prix du BNB chute drastiquement à 1$, il récupérera seulement 1 BNB et 1 USDT (soit une valeur totale de 2$). Si l’utilisateur avait gardé ses actifs hors de la pool, il aurait toujours 1 BNB et 250 USDT qui vaudraient 251$. Les pertes impermanentes sont donc de 249$ (ou -99%) et elles deviendront permanentes s’il retire les fonds de la pool.
Dans le cas contraire, si le prix du BNB augmente, le fournisseur de liquidités perd aussi de l’argent. Reprenons l’exemple de la pool à faibles liquidités présentée plus haut (partie 1.1.4). Le fournisseur de liquidités place 100 BNB et 25 000 USDT dans la pool puis un arbitrageur achète 10 BNB pour 2 777,78 USDT. La pool contient maintenant 90 BNB et 27 777,78 USDT et chaque BNB a une valeur de 308,64 USDT. En faisant l’hypothèse que les BNB se vendent réellement à ce prix, le fournisseur de liquidités possède maintenant 90 x 308,64 + 27 777,78 = 55 555,6$. S’il avait conservé ses actifs hors de la pool, il aurait 100 x 308,64 + 25 000 = 55 864$. Les pertes impermanentes sont donc d’environ 55 864 - 55 555 = 309$ (ou -0,5%).
Les pertes impermanentes sont beaucoup plus importantes quand le prix de l’actif baisse que lorsqu’il descend. Le graphique ci-dessous montre les pertes impermanentes en fonction de la variation relative du prix des actifs [10].
Les pertes impermanentes sont souvent compensées par les frais de transaction et le « Yield Farming ». Cependant, il faut faire attention aux projets qui proposent du « Yield Farming » à des taux très intéressants. Certains d’entre eux sont des projets de faible qualité et leur jeton peut perdre beaucoup de valeur. Dans ce cas, le "Yield Farming" ne suffira plus à compenser les pertes impermanentes.
Risque d’hyperinflation ?
La Binance Smart Chain génère 1 bloc toutes les 3 secondes [11] soit 10 512 000 blocs par an. Le protocole de PancakeSwap crée 25 $CAKE par bloc [12]. Ce sont donc 262 800 000 nouveaux jetons émis en 1 an. À l’heure actuelle, il y a environ 227 000 000 jetons $CAKE [13]. Cela fait une inflation annuelle de +116% (pour la première année). Cette inflation va baisser au cours du temps même si l’émission de jetons reste constante puisque le nombre de jetons en circulation va augmenter. Dans 1 an, il y aura environ 490 000 000 jetons en circulation et, avec 262 800 000 nouveaux jetons, l’inflation sera de +54%. Elle diminuera chaque année, mais restera toujours positive.
Présentement, 37% des jetons $CAKE en circulation sont placés dans la pool de « staking » $CAKE [14]. Sachant que 40% des $CAKE créés à chaque bloc sont distribués aux « stakeurs » de cette pool, ces derniers gagnent un peu plus que l’inflation. En revanche, si le nombre de 37% venait à augmenter et à dépasser les 40%, les « stakeurs » seraient perdant face à l’inflation (ils ne perdraient pas d’argent si le prix du jeton restait le même, mais ils perdraient des parts du nombre total de jetons).
Ainsi, tant que le pourcentage de jetons dans la pool de staking $CAKE est inférieur à 40% des jetons en circulation, il peut être plus intéressant de conserver ces jetons.
PancakeSwap est le second plus grand protocole de la Binance Smart Chain après Venus. Au total, plus de 4,4 milliards de dollars sont verrouillés dans ses contrats [15] ce qui montre la confiance que ses utilisateurs lui accordent.
Maintenant que nous avons expliqué le fonctionnement des pools de liquidités et les risques liés à leurs utilisations, nous pouvons montrer comment utiliser la plateforme PancakeSwap.
3. Comment utiliser PancakeSwap?
Pour utiliser PancakeSwap, il faut se rendre sur le site https://pancakeswap.finance/.
Connectez ensuite votre MetaMask approvisionné en BNB et autres cryptoactifs (vous pouvez voir comment réaliser cette étape ici).
3.1 Échanger de manière décentralisée
Pour échanger de manière décentralisée, allez dans l’onglet "Trade" puis "Exchange" puis sélectionnez la paire et le montant que vous souhaitez échanger. Appuyez ensuite sur "Swap". Il faudra enfin valider la transaction avec MetaMask.
La ligne « Price impact » vous indique l’effet qu’aura votre transaction sur la pool de liquidités (avec la formule x * y = k).
Il est possible d’échanger des actifs qui ne sont pas dans la même pool. Dans ce cas, plusieurs transactions seront réalisées et vous pourrez voir la route la moins chère.
Par exemple, pour échanger du BTCB contre du ADA, PancakeSwap vendra vos BTCB contre des WBNB dans la pool BTCB-WBNB puis achètera des ADA dans la pool ADA-WBNB. Les frais seront donc plus importants, mais tout sera fait automatiquement.
Vous pouvez également utiliser PancakeSwap pour « wrapper » des BNB en WBNB. Ceci ne fonctionne pas avec des pools de liquidités. Il n’y a donc pas de « slippage ». Pour 1 BNB envoyé, vous recevrez toujours 1 WBNB (moins les frais de transaction du réseau).
3.2 Apporter des liquidités à une pool
Pour fournir des liquidités à une pool, cliquez sur l’onglet « Liquidity », puis « Add Liquidity ».
Choisissez ensuite la paire et les liquidités (à 50-50) que vous souhaitez ajouter et appuyez sur « Supply ». Confirmez ensuite la transaction dans MetaMask.
Après quelques secondes, vos liquidités apparaitront sur la page principale de l’onglet « Liquidity ». Si vous « stakez » vos jetons LP dans un contrat de « Yield Farminig », ils n’apparaitront plus sur cette page. Il faudra les « de-staker » pour récupérer ses fonds.
Pour récupérer vos jetons, sélectionnez la paire puis retirez celle-ci en cliquant sur « Remove ».
Choisissez ensuite la somme que vous souhaitez retirer. Approuvez le contrat en cliquant sur « Approve » puis retirez les jetons en appuyant sur « Remove ». Il faudra valider ces deux actions avec MetaMask.
S’il n’existe pas de pool pour la paire avec laquelle vous voulez apporter des liquidités, vous allez en créer une et choisir le prix. Vous devez donc faire preuve de vigilance.
Maintenant que nous avons vu comment apporter des liquidités et obtenir des jetons LP, nous pouvons faire du « Yield Farming ».
3.3 « Yield Farming » de jetons LP
Cliquez sur l’onglet « Farms » pour accéder aux différentes options de « Yield Farming ».
Sélectionnez l’option qui vous intéresse, cliquez sur « Enable » pour activer le contrat intelligent puis déposez vos jetons LP dans le contrat. Par la suite vous pourrez récupérer vos jetons $CAKE en appuyant sur « Harvest » ici ou sur la page principale ( « Home »).
Comme précisé plus tôt, si vous « stakez » vos jetons LP puis que vous retournez sur la page « Trade » puis « Liquidity », les jetons LP auront disparu. Pas de soucis, il suffit tout simplement de les retirer du « Yield Farming » et ils seront à nouveau disponibles pour un retrait.
Regardons maintenant comment « staker » des jetons $CAKE.
3.4 « Staking » de jetons $CAKE
Pour « staker » des jetons $CAKE, cliquez sur l’onglet « Pools » puis choisissez la pool qui vous intéresse.
Approuvez le contrat de cette pool en cliquant sur « Approve CAKE » puis déposez vos jetons $CAKE pour gagner d’autres jetons. Ces derniers s’accumulent à chaque bloc de la Binance Smart Chain et vous pouvez les récupérer en appuyant sur « Harvest ». Dans le cas de la pool CAKE, vous pouvez choisir de rajouter les jetons directement dans la pool en cliquant sur « Compound ».
PancakeSwap n’est pas nécessairement le meilleur endroit pour faire du « Yield Farming » ou « staker » des $CAKE puisqu’il faut récupérer les récompenses manuellement et payer des frais de transaction à chaque fois. Certains protocoles décentralisés comme AutoFarm proposent de faire ces actions à votre place et en récupérant les récompenses automatiquement et de manière décentralisée pour maximiser vos rendements. De plus, comme les fonds de nombreux investisseurs sont rassemblés dans un même contrat intelligent, les frais de transaction sont distribués entre tout le monde.
Conclusion
Nous avons ainsi présenté le fonctionnement des pools de liquidités du projet PancakeSwap. Nous avons montré comment les mécanismes d’échanges et d’apport de liquidités fonctionnent dans ces pools. Nous avons ensuite décrit les fonctionnements du « Yield Farming » et du « staking » de jetons $CAKE et nous avons expliqué leurs intérêts pour l’économie du jeton qui sont respectivement d’empêcher des attaques par vampirisation et de réduire l’effet de l’inflation sur le prix du jeton.
Nous avons ensuite présenté les différents risques comme ceux des pertes impermanentes qui représentent le risque financier majeur lorsqu’on apporte des liquidités dans une pool.
Enfin, nous avons montré concrètement comment utiliser la plateforme PancakeSwap : échanger, apporter des liquidités, faire du « Yield Farming » de jetons LP et « staker » des jetons $CAKE.
Les plateformes d’échanges décentralisées sont une pièce majeure de la DeFi. Sur la Binance Smart Chain, il existe également des protocoles de prêt et d’emprunt comme Venus ou des optimisateurs de rendements comme AutoFarm.
Ces protocoles connaissent également une croissance majeure.
Références
[1] Application PancakeSwap, onglet "Pools" : https://pancakeswap.finance/pools (consulté le 20/03/2021).
[2] Plateforme d’échange Binance : https://www.binance.com/en/trade/BTC_USDT (consulté le 20/03/2021).
[3] Plateforme d’échange Coinbase Pro : https://pro.coinbase.com/trade/BTC-EUR (consulté le 20/03/2021).
[4] Documentation de UniSwap V2 : https://uniswap.org/docs/v2/protocol-overview/how-uniswap-works/ (consulté le 20/03/2021).
[5] Application PancakeSwap, onglet "Farms" : https://pancakeswap.finance/farms (consulté le 20/03/2021).
[6] Vidéo Youtube de Finematics : https://www.youtube.com/watch?v=UFjXwrCGuog (consulté le 20/03/2021).
[7] Audit de Certik : https://certik.org/projects/pancakeswap (consulté le 20/03/2021).
[8] Unrekt, site internet qui suit les mis-à-jour sur différents protocole DeFi : https://unrekt.net/timelock/pancakeswap-farm.html (consulté le 26/03/2021).
[9]Medium de PancakeSwap : https://pancakeswap.medium.com/dns-incident-recap-36a183a2aee6 (consulté le 20/03/2021).
[10] Documentation de UniSwap V2 : https://uniswap.org/docs/v2/advanced-topics/understanding-returns (consulté le 20/03/2021).
[11] Binance Academy : https://academy.binance.com/en/articles/an-introduction-to-binance-smart-chain-bsc (consulté le 20/03/2021).
[12] Coin Market Cap : https://coinmarketcap.com/currencies/pancakeswap/ (consulté le 27/03/2021).
[13] Documentation de PancakeSwap, partie Tokenomics : https://docs.pancakeswap.finance/tokenomics/cake-updated-10-29-2020 (consulté le 20/03/2021).
[14] Staking Reward : https://www.stakingrewards.com/earn/pancakeswap/calculate (consulté le 20/03/2021).
[15] DeFi Station : https://www.defistation.io/ (consulté le 20/03/2021).