ویجت سوآپ Pera یک جعبه معامله فعال را درون اپلیکیشنهای دیگر Algorand قرار میدهد
Pera Wallet موتور مسیریابی پشت سوآپهای خودش را بهصورت یک ویجت قابل جاسازی و یک API عرضه میکند تا بازدیدکننده بدون ترک اپ میزبان، کیف پول را متصل کند، نرخ را ببیند و امضا کند. یک سایت نمایشی چهار روش اتصال آن را نشان میدهد و میتوان بدون نگهداشتن دارایی، نرخها را دریافت کرد.

جعبه معاملهای که درون اپ باقی میماند
ویجت سوآپ Pera یک جعبه معامله است که هر اپلیکیشن Algorand میتواند آن را درون صفحات خود جای دهد: بازدیدکننده کیف پول را متصل میکند، دو دارایی را انتخاب میکند، نرخ را میبیند و امضا میکند، بدون آنکه از صفحه خارج شود. پشت آن P.E.R.A. قرار دارد؛ همان موتور مسیریابی که Pera Wallet1 در سوآپهای اپ خودش از آن استفاده میکند و اکنون در اختیار توسعهدهندگان بیرونی گذاشته شده تا آن را بهصورت یک بسته کامل جاسازی کنند یا در حالی که رابط کاربری خودشان را میسازند، بهصورت API فراخوانی کنند.
دو راه برای استفاده از آن وجود دارد. راه سریعتر یک iframe است که به ویجت میزبانیشده Pera2 اشاره میکند و از طریق نشانی اینترنتی آن پیکربندی میشود: شبکه، پوسته، دارایی ورودی (در صورت عدم تعیین، ALGO) و دارایی خروجی (بهطور پیشفرض USDC). راه کاملتر آن است که صفحه سوآپ خودتان را روی API سوآپ بسازید؛ README3 این بسته انتخاب را چنین بیان میکند: جاسازی ویجت «در یک iframe، با امکان امضای تراکنشها با کیف پول خودتان4»، یا ساختن «رابط کاربری سوآپ خودتان روی Pera Swap API (نرخها، تراکنشها، داراییها)».
امضا همان بخشی است که تعیین میکند کیف پول کجا قرار بگیرد. وقتی امضای والد فعال باشد، ویجت هیچ اتصال کیف پولی از خودش باز نمیکند و از صفحه میزبان میخواهد که امضا کند؛ README میگوید Pera API پیشتر تراکنشهایی را که از حساب کاربر نیستند امضا کرده است، بنابراین صفحه میزبان تنها امضاهای خودش را برمیگرداند.
در این ترتیب، مسیریابی به تابعی تبدیل میشود که اپ فراخوانی میکند، نه جایی که کاربر به آن مراجعه میکند. اپ هرگز به صرافی تبدیل نمیشود و هرگز دارایی مورد معامله را نگه نمیدارد؛ فقط باید همان جایی باشد که کاربر از پیش در آن است. این الگو هر جا که یک سرویس آنچین عمدتاً مسیریابی باشد تکرار میشود و سازنده طرف دیگر را به مشتری تبدیل میکند.
امتحان کردنش و آنچه از کاربر میخواهد
توسعهدهندگان از یک سایت نمایشی5 شروع میکنند که چهار روش اتصال را گامبهگام نشان میدهد: تولید نشانی ویجت، ساختن iframe در کد، فراخوانی مستقیم API سوآپ، یا سپردن امضا به صفحه والد. میتوان بدون نگهداشتن هیچ داراییای نرخ خواست، اما آمادهسازی معامله به حسابی دارای موجودی نیاز دارد: درخواست تراکنش برای نشانیای بدون ALGO پیام «Algo balance is insufficient» را برگرداند و چیزی تولید نکرد.
کاربر عادی هیچ چیزی نصب نمیکند. او جعبه را درون هر اپی که آن را جاسازی کرده میبیند، کیف پول را متصل میکند و معامله میکند. اگر توکنی که میخرد برای حسابش تازه باشد، کیف پول در جریان سوآپ از او میخواهد که برای دریافت آن مجوز بدهد.
هزینه یک سوآپ و آنچه خط کارمزد میگوید
مرکز راهنمای6 Pera میگوید این کیف پول کارمزدی تا ۱7٪ روی سوآپها دریافت میکند که بر اساس ارزش دارایی مبدأ محاسبه میشود و پیش از امضا با عنوان Pera Fee در صفحه نرخ نمایش داده میشود. همان صفحه کارمزد استخر خود محل معامله را معمولاً ۰٫۲۵8 تا ۰٫۳٪ میداند و میگوید این مبلغ به تأمینکنندگان نقدینگی میرسد؛ این نرخ یک عرف استخر است نه چیزی که شبکه تعیین کند و از یک محل معامله به محل دیگر متفاوت است. حداقل ثابت Algorand برای هر تراکنش ۰٫۰۰۱ ALGO است؛ صفحه Pera کارمزد شبکه را کمتر از ۰٫۰۱9 دلار میداند و یادآوری میکند که این کارمزد چه سوآپ موفق شود و چه شکست بخورد اعمال میشود، و یک سوآپ میتواند چند تراکنش در یک گروه باشد.
اینکه خط کارمزد به کدام دارایی شمرده میشود، معنای آن را تغییر میدهد. صفحه بازبینی خود ویجت، Pera Fee را با واحد ALGO چاپ میکند و برای رسیدن به آن، مقدار خام را بر یک میلیون تقسیم میکند.
پنل سایت نمایشی همان عدد را متفاوت برچسب میزند. نرخهای آن در ۵ نوامبر برای سوآپ ۱ ALGO که ۰٫۰۹۷۵۲۲ USDC برمیگرداند Pera Fee را ۰٫۰۱ و برای سوآپ ۱۰۰ ALGO که ۹٫۷۴۸۳۲۲ USDC برمیگرداند ۱٫۰۰ نشان میداد، هر دو با برچسب USDC. کد نمونه پشت آن پنل، کارمزد را با تعداد اعشار و نام واحد دارایی خروجی قالببندی میکند و برچسب USDC از همینجا میآید. در هر دو حالت عدد ۱٪ چیزی است که کاربر وارد کرده — ۰٫۰۱ از ۱ ALGO و ۱٫۰۰ از ۱۰۰ ALGO — در حالی که اگر USDC خوانده شود حدود یکدهم معامله میشود و خارج از بازه حداکثر ۱٪ی است که صفحه Pera توصیف میکند. پس برچسب ALGO ویجت همان چیزی است که با کارمزد منتشرشده میخواند و برچسب USDC سایت نمایشی یک لغزش قالببندی در یک نمونه به نظر میرسد؛ اینکه یک رابط کاربری دستساز چه چیزی چاپ میکند به سازنده آن بستگی دارد.
محلهای معامله پشت یک نرخ
مرکز راهنمای10 Pera چهار پلتفرم را پشت این تجمیعکننده نام میبرد: Vestige، Tinyman، Folks Finance و Deflex (TxnLabs). بسته عرضهشده سه نام ارائهدهنده را تعریف میکند که فراخواننده میتواند درخواست کند — tinyman، tinyman-swap-router و vestige-v4 — و هیچ مقداری برای Folks Finance یا Deflex ندارد. سازندهای که توضیحات محصول را میخواند انتظار چهار محل معامله دارد؛ کد سه تا را میپذیرد.
چه کسی آن را میسازد و اوضاعش چگونه است
Pera Wallet محصول Pera Wallet, Lda است و خود را غیرحضانتی و خودمیزبان توصیف میکند: کلیدها و داراییها روی دستگاه کاربر میمانند و شرکت میگوید عبارتهای بازیابی را ذخیره یا بازیابی نمیکند. این کیف پول کار خود را بهعنوان Algorand Wallet رسمی آغاز کرد و در فوریه ۲۰۲۲ تغییر نام داد، در اوت یک بازسازی کامل ۷٫۰11 از اپهای موبایلش را عرضه کرد (آن ماجرا) و در ژانویه ورود به بازار قدیمیترش را با یک جریان تأمین مالی بومی کیف پول به نام Pera Fund جایگزین کرد.
API توسعهدهندگان در وبلاگ Pera12 در ۹ اکتبر ۲۰۲۵ معرفی شد و P.E.R.A. را «Pera Ecosystem Routing Aggregator» توصیف کرد و بسته npm و یک اپ نمایشی را عرضه کرد. این بسته13 از ۱۴ اوت ۲۰۲۵ روی npm بود؛ نسخه فعلی، ۱٫۰٫۰-beta.514، در ۲۸ اکتبر ۲۰۲۶ منتشر شد، حدود یک سال پس از نسخه پیش از آن. در سی روز منتهی به ۴ نوامبر ۴۶۶ بار دانلود شد15 و مخزن آن3 چهار ستاره دارد و آخرین بار در ۲ نوامبر بهروزرسانی شده است. آمار دانلود نصبهای خودکار و آینهها را به همان اندازه افراد میشمارد، پس هیچکدام از این دو عدد نشان نمیدهد چند اپ این جعبه را در خود دارد.
پست معرفی همچنین به یکپارچهسازان وعده میدهد: «درآمد پایدار از کارمزد — کسب کارمزد سوآپ به USDC یا هر دارایی پایدار دلخواه16». اینکه این درآمد چگونه تعیین، تقسیم یا وصول میشود در هیچیک از مطالب منتشرشده پیرامون این بسته نیامده است: تنها اهرم سمت کلاینت برای آن یک نشانی اینترنتی اختیاری ارجاعدهنده است که برای انتساب مستند شده است. ممکن است در سمت سرور تنظیم شود یا از طریق فیلدی که README نشان نمیدهد.
گزینه جایگزین ویجت سوآپ خود Tinyman17 است که تیم اصلی Tinyman آن را مستند و نگهداری میکند و سوآپها را از مسیریاب Tinyman Swap Router عبور میدهد — مسیریاب یک محل معامله، نه سفری خرید در چند محل.
چه چیزهایی میتواند اشتباه پیش برود
شرایط Pera خود معامله را به شخص دیگری میسپارد: در آن آمده که Pera «تراکنشهای سوآپ را اجرا، کنترل، انجام یا تسویه نمیکند18» و قیمتگذاری، اجرا و مسیریابی صرفاً از یک ارائهدهنده ثالث میآید، پس یک انجام معامله که بد پیش برود موضوعی میان کاربر و محل معاملهای است که آن را انجام داده. خط کارمزد جدا است: کارمزد خود ویجت که مرکز راهنمای Pera آن را تا ۱19٪ برای تأمین توسعه و نگهداری کیف پول میداند، روی سهم استخر اضافه میشود.
شرایط همچنین ایالات متحده، کانادا، چین و اسرائیل را از جمله جاهایی نام میبرد که معامله ALGO در آنها ممکن است ممنوع باشد و حق مسدود کردن دسترسی بر اساس قلمرو را برای خود محفوظ میدارد. عرضه ویجت به کاربران این مناطق تصمیمی است که سازنده با آن صفحه باز میگیرد.
سوآپی که تأیید شود تسویه شده است. اگر با نرخی بدتر از آنچه صفحه نشان میداد انجام شود، در محدوده لغزش مجاز کاربر، همان انجام معامله معتبر است. سوآپی که شکست بخورد باز هم هزینه کارمزد تراکنشهای ارسالی برای آن را دارد — یک سوآپ میتواند چند تراکنش در یک گروه باشد — و داراییها در کیف پول میمانند.
نسخه ۱٫۰٫۰-beta.5 حفرهای را در نحوه ارتباط ویجت جاسازیشده با صفحه پیرامونش بست. بر اساس تغییرات نسخه، پیش از آن هر صفحه یا فریمی میتوانست درخواست امضا بفرستد، اعلان کیف پول را فعال کند و تراکنشهای امضاشده را دریافت کند. اکنون کنترلر پیامها را فقط از مبدأ ویجت Pera میپذیرد و بقیه را با یک هشدار یکباره در کنسول نادیده میگیرد، و هر کسی که ویجت را جای دیگری میزبانی کند باید آن مبدأ را صریحاً نام ببرد. نسخههای قدیمیتر روی npm باقی میمانند، پس نسخهای که سازنده پین میکند تعیین میکند که آیا این محافظت وجود دارد یا نه.
شبکه پیشفرض تله دیگری است و دو پیشفرض وجود دارد. خود صفحه ویجت بهطور پیشفرض روی تستنت است، پس iframe دستنویسیشدهای که پارامتر شبکه را حذف کند بازدیدکنندگان را به زنجیرهای میبرد که سکههایش ارزشی ندارند. توابع کمکی بسته اکنون همیشه یک شبکه میفرستند و آن را بهطور پیشفرض میننت قرار میدهند، پس ویجتی که از طریق آنها ساخته شود، تا وقتی خلافش گفته نشود، روی میننت باز میشود.
و مرکز مستندات20 خود Pera هیچیک از این موارد را ذکر نمیکند: در آن Pera Connect، یک API برای داده داراییها، مشخصات تجزیه NFT و طرحهای نشانی اپ فهرست شدهاند و هیچ مدخلی برای API سوآپ یا ویجت وجود ندارد. کشف آن از طریق README، یک پست وبلاگ و سایت نمایشی انجام میشود.
پس آنچه سازنده دربارهاش تصمیم میگیرد یک وابستگی است: نسخه بتایی که حدوداً سالی یک بار منتشر میشود و با تغییرش چیزها را میشکند، و فهرست مسیریابیای که در کد کوتاهتر از صفحه است. برای خوانندهای که جعبه را درون اپ کسی دیگر میبیند، آنچه اهمیت دارد چیزی است که پیش از امضا روی صفحه است — ارائهدهنده، حداقل دریافتی، تأثیر قیمت و خط کارمزد با واحد بررسیشده.
منابع
- Swap (registry.npmjs.org)13
- Breaking Changes3
- Pera Wallet – How to Swap Tokens in Pera Wallet10
- Pera Wallet – Understanding Swap Fees and Slippage in Pera6
- Introducing the P.E.R.A. API: Seamless Swap Integration | by Joseph Cecala | Pera Wallet12
- Pera Swap Widget Examples5
- Swap Widget | Tinyman Docs17
- Pera Wallet – Terms of Service21
- Pera swap (github.com)3
- Swap (api.npmjs.org)15
۹ رقم این گزارش بررسی شده است.دیدن همهٔ بررسیها
منابع
- 1Pera Wallet perawallet.app↩
- 2ویجت میزبانیشده Pera swap-widget.perawallet.app↩
- 3README github.com↩
- 5یک سایت نمایشی perawallet.github.io↩
- 6مرکز راهنمای support.perawallet.app↩
- 10مرکز راهنمای support.perawallet.app↩
- 12وبلاگ Pera blog.perawallet.app↩
- 13بسته registry.npmjs.org↩
- 15۴۶۶ بار دانلود شد api.npmjs.org↩
- 17ویجت سوآپ خود Tinyman docs.tinyman.org↩
- 20مرکز مستندات docs.perawallet.app↩
- 21Pera Wallet – Terms of Service perawallet.app↩