פרק 36 מתוך 36

הגרסה הקצרה

ב־28 באפריל 2026 העבירה פולימרקט את בטוחת הסליקה שלה ב־Polygon מ־USDC.e (טוקן ה־USDC המגושר, חוזה 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) ל־pUSD, מטבע יציב שמנפיקה פולימרקט הניתן לפדיון ביחס 1:1 מול USDC מקורי. סוחרי אפליקציית הוויב לא נדרשו לעשות דבר - היתרות והפוזיציות הומרו אוטומטית בבלוק התצלום. מפעילי API ובוטים חייבים לעדכן: כתובת נכס הבטוחה בתוך כל חתימת פקודת CLOB השתנתה, פקודות ישנות שנחתמו מול USDC.e בוטלו, ואת py-clob-client 0.34.x שנגנז יש להחליף ב־py-clob-client-v2. המדריך הזה עובר על השינויים המדויקים בקוד, בחוזה ובהרשאות הנדרשים כדי לשמור על בוט פעיל לאורך המעבר ואחריו.

מה תלמדו: מדוע פולימרקט נטשה את USDC.e, מה השתנה ברמת החוזה, נתיב השדרוג המדויק של py-clob-client, כיצד לאשר מחדש הרשאות עבור הבטוחה החדשה, כיצד לאמת את היתרה שלכם לאחר ההחלפה, וכיצד לטפל בשאריות ה־USDC.e הישנות שרוב החשבונות מחזיקים כעת.
דרישות מקדימות: כבר אמור להיות לכם חשבון פולימרקט תקין, היכרות בסיסית עם חוזי Polygon, ובוט קיים או תהליך API ידני שקדם ל־28 באפריל 2026. אם אתם מתחילים מאפס היום, פשוט התקינו את ה־SDK העדכני ביותר ודלגו לפרק הרביעי - לעולם לא תצטרכו לגעת ב־USDC.e.
01
פרק ראשון

חלק 1: שלושה סטייבלקוינים, פוליגון אחד

לפני המעבר, שלושה סטייבלקוינים צמודי דולר התקיימו במסלולה של פולימרקט על Polygon. הכרת ההבדל ביניהם היא הצעד הראשון להבנת הסיבה שבגללה פולימרקט החליפה זירה.

טוקןמנפיקחוזה על Polygonסוג הרזרבה
USDC.eגשר Polygon PoS0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174מגושר מהרשת הראשית של Ethereum
USDC (מקורי)Circle0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359מקורי, מונפק ישירות על Polygon
pUSDחוזה הבטוחה של Polymarketראו docs.polymarket.com/concepts/pusdמגובה 1:1 ב-USDC, נאכף על השרשרת, ניתן לפדיון בכל עת

פולימרקט בחרה במקור ב-USDC.e משום שזה היה וריאנט ה-USDC הדומיננטי על Polygon בעת ההשקה ב-2020. מאוחר יותר Circle הנפיקה USDC מקורי ישירות על Polygon ואותתה על הוצאתו ההדרגתית של הוריאנט המגושר משימוש. המשך הסליקה של כל שוק ב-USDC.e חשף את פולימרקט לסיכון הקצה של סגירה פתאומית של הגשר. המעבר לסטייבלקוין שבשליטת פולימרקט פותר זאת ופותח את הדרך לתכונות מוצר עתידיות (למשל, מרג'ין לחוזי perps, הפקדות לכספות, קבלות חוצות-שרשראות) החולקות את אותה יחידת חשבון.

02
פרק שני

חלק 2: מה זה pUSD (ומה זה לא)

pUSD הוא טוקן ERC-20 סטנדרטי על Polygon (chain id 137) עם 6 ספרות עשרוניות, אותה רמת דיוק כמו USDC. הוא נטבע רק כאשר USDC נעטף דרך חוזה הבטוחה של פולימרקט, וניתן לפדותו 1:1 תמורת USDC מקורי בכל עת, ללא עמלה על ההמרה (עדיין חל גז רשת). הגיבוי נאכף על השרשרת: חוזה העטיפה מחזיק את ה-USDC הבסיסי והוא עצמו מנגנון הפדיון. אין משמורן מחוץ לשרשרת, אין צמידות אלגוריתמית, ואין רזרבה חלקית.

pUSD אינו סטייבלקוין אלגוריתמי, אינו מגובה-יתר בקריפטו, ואינו נושא תשואה. אם אתם מחזיקים pUSD מחוץ לפולימרקט, כדאי שתחשבו עליו כשטר חוב (IOU) שהונפק על ידי פולימרקט עבור USDC מקורי - שימושי בתוך הפלטפורמה, ניתן לפדיון לפי דרישה, אך ללא יתרון בהחזקה לטווח ארוך בארנק חיצוני.

גיבוי ופדיון: הגיבוי של pUSD נאכף על ידי החוזה החכם שלו על Polygon - החוזה מחזיק את ה-USDC הבסיסי ומאפשר לכם לבטל את העטיפה חזרה ל-USDC מקורי ביחס 1:1 בכל עת. אין צמידות אלגוריתמית ואין רזרבה חלקית, כך שהרזרבה ניתנת לאימות ישירות על השרשרת ולא דרך אישור מחוץ לשרשרת. קראו על המנגנון ב-docs.polymarket.com/concepts/pusd.
03
פרק שלוש

חלק 3: מה ראו הסוחרים באפליקציית הוויב

אם אתם סוחרים רק דרך polymarket.com, ההגירה הייתה בלתי נראית. בבלוק הצילום בתאריך 28 באפריל 2026:

  • כל יתרת USDC.e שהוחזקה בארנק פרוקסי של פולימרקט הומרה אטומית ל-pUSD ביחס של 1:1.
  • הפוזיציות הפתוחות שמרו על אותו ערך דולרי, אותם סיכויי תוצאה ואותו מועד פקיעה. מזהי הטוקן המותנה לא השתנו.
  • פקודות ממתינות שנקובות ב-USDC.e בוטלו בעת הצילום. פקודות חדשות שלאחר ההגירה נחתמות אוטומטית מול pUSD.
  • משיכות לארנקים חיצוניים עברו משליחת USDC.e לשליחת USDC מקורי (או, לפי בקשה, pUSD גולמי - רוב המשתמשים לעולם אינם זקוקים לכך).

לא נדרשו חתימות, עסקאות או שינויי הגדרות. כדאי למקם מחדש באופן ידני, לאחר ההגירה, פקודות גבול ממתינות שחשובות לכם; הביטול היה אירוע חד-פעמי.

04
פרק ארבע

חלק 4: מפעילי API ובוטים - שינויים קריטיים

זהו החלק שישבור בוט אם לא תפעלו.

מה השתנה בחתימת הפקודה: פקודות CLOB נחתמות באמצעות EIP-712 ומפנות לכתובת נכס הבטוחה כחלק מהנתונים המוטיפסים. לפני ההגירה, אותה כתובת הייתה USDC.e (0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174). לאחר ההגירה, היא pUSD. פקודה שנחתמה מול הכתובת הישנה תיכשל באימות החתימה ב-CLOB ותחזיר שגיאת "invalid maker asset" או "signature mismatch".

שדרגו את py-clob-client

ה-py-clob-client-v2 של פולימרקט כולל תמיכה מלאה ב-pUSD / V2. הקו הישן 0.34.x הוא V1 בארכיון וחותם על הדומיין השגוי (USDC.e) - אל תשתמשו בו. (אין "py-clob-client 0.40"; אם מדריך טוען זאת, הוא שגוי.)

# Bump to a pUSD-aware release
pip install py-clob-client-v2          # the V2 client; the old 0.34.x line is archived V1
# pUSD collateral is 0xC011a7E12a19f7B1f670d46F03B03f3342E82DFB on Polygon

ה-SDK החדש שואב את כתובת הבטוחה מתצורת השרשרת בעת האתחול, כך שאינכם צריכים לקודד דבר באופן קשיח. אם פיצלתם או נעצתם גרסה ישנה יותר, המהלך הבטוח ביותר הוא למחוק את קובץ הנעילה, להתקין מחדש עם מודול הקבועים העדכני ביותר, ולהריץ שוב את חבילת הבדיקות שלכם.

אשרו מחדש את ההרשאות

ארנק הפרוקסי שלכם בפולימרקט זקוק להרשאת ERC-20 מחשבון המסחר שלכם → לחוזה CTF Exchange עבור הטוקן pUSD. ההרשאה הישנה ל-USDC.e עדיין קיימת על השרשרת אך חסרת תועלת לחלוטין: CLOB לא ישתמש בה. ללא הרשאת pUSD חדשה, כל פקודה תחזיר "INSUFFICIENT_ALLOWANCE".

from py_clob_client_v2 import ClobClient

creds = ClobClient(host="https://clob.polymarket.com", chain_id=137,
                   key=os.environ["POLY_PRIVATE_KEY"]).create_or_derive_api_key()
client = ClobClient(
    host="https://clob.polymarket.com",
    chain_id=137,
    key=os.environ["POLY_PRIVATE_KEY"],
    creds=creds,                       # V2: creds in the constructor (no set_api_creds)
    funder=os.environ["POLY_FUNDER"],
    signature_type=1,  # POLY_PROXY for Magic-link accounts
)

# One-time: approve pUSD for the V2 exchange contracts before trading
client.update_balance_allowance(asset_type="COLLATERAL")

רענון אישורי ה-API

מפתחות API קיימים ממשיכים לעבוד, אבל אם הפקתם אישורים לפני 1 באפריל כדאי שתחליפו אותם ליתר ביטחון: חתימת ה-ECDSA ברמת L1 נקשרת כעת לדומיין שכולל את כתובת הבטוחה החדשה. הדרך הפשוטה ביותר:

creds = client.create_or_derive_api_key()    # V2 method; idempotent re-derive
# In V2 you pass creds= into the ClobClient constructor (there is no set_api_creds)

# Persist to your .env
print(creds.key, creds.secret, creds.passphrase)
05
פרק חמישי

חלק 5: אימות הבוט שלכם לאחר המעבר

הריצו את בדיקת העשן המינימלית הזו לפני שאתם נותנים לכל לוגיקת קביעת גדלים להשתחרר על כסף אמיתי:

# 1. Confirm pUSD balance on the proxy wallet
from py_clob_client_v2 import ClobClient
client = ClobClient(...)  # as above
balance = client.get_balance_allowance(params={"asset_type": "COLLATERAL"})
print("pUSD balance (raw):", balance["balance"])
print("Allowance to exchange:", balance["allowance"])

# 2. Place a $1 limit order well off the touch
from py_clob_client_v2 import OrderArgs, Side, OrderType, PartialCreateOrderOptions
resp = client.create_and_post_order(           # V2: build + sign + post in one call
    order_args=OrderArgs(token_id=test_token_id, price=0.05, side=Side.BUY, size=20),
    options=PartialCreateOrderOptions(tick_size="0.01"),
    order_type=OrderType.GTC,                  # $1 notional at $0.05, nowhere near the touch
)
print(resp)

# 3. Cancel and confirm
client.cancel(order_id=resp["orderID"])

אם כל שלוש הקריאות מצליחות, החיווט שלכם תקין: ה-SDK חתם מול pUSD, ההרשאה מזוהה, וספר הפקודות עקבי. הגדילו את ההיקף בהדרגה.

תזמנו את השדרוג בקפידה: אם הרצתם את הבוט ברציפות לאורך בלוק הצילום, סביר להניח שמצב ספר הפקודות המקומי שלכם סטה. תמיד התאימו מול צילומי REST לאחר שינוי מהותי בזירה לפני שאתם מציעים גדלים.
06
פרק שישי

חלק 6: שגיאות נפוצות ופתרונות

שגיאה או תסמיןסיבהפתרון
signature verification failedהפקודה נחתמה מול מתחם EIP-712 של USDC.eעברו ל-py-clob-client-v2 (גרסת 0.34.x הארכיונית חותמת את מתחם USDC.e הישן)
INSUFFICIENT_ALLOWANCE בכל פקודהאין הרשאת pUSD מהפרוקסי שלכם אל CTF Exchangeהריצו פעם אחת update_balance_allowance(asset_type="COLLATERAL")
invalid maker assetכתובת USDC.e מקודדת קשיח עדיין נמצאת בהגדרות שלכםהחליפו כל כתובת בטוחה מקודדת קשיח בקבוע של ה-SDK
הארנק מציג יתרת USDC.e > 0 אחרי המעבראסימוני "אבק" שנותרו מהעברה של צד שלישיגשרו את USDC.e בחזרה ל-USDC המקורי דרך CCTP של Circle, או השאירו אותו
חיבור מחדש של WebSocket מפיק ספר ריקהמנוי הישן השתמש במצב שוק מיושן מלפני התמונהזרקו את המטמון המקומי, משכו מחדש את ספר ה-REST, ואז הירשמו מחדש
משיכה לארנק חיצוני מציגה pUSD במקום USDCבחרתם "pUSD" במקום "USDC" בחלונית המשיכהבחרו "USDC" - הגשר ממיר pUSD → USDC מקורי ביחס 1:1
07
פרק שבע

חלק 7: אסימונים מותנים, מזהי פקודות, ודברים אחרים שכן לא השתנו

כדי לשמור על היקף הרפקטור כן, הנה רשימת המזהים שנשארים יציבים לאורך המעבר:

  • חוזה האסימון המותנה (CTF): כתובת זהה. עמדות ה-YES / NO שלכם בתקן ERC-1155 נשארות ללא שינוי.
  • condition_id ו-question_id: דטרמיניסטיים מפרמטרי השוק; לא מושפעים מהחלפת הבטוחה.
  • token_id (תוצאה): נגזר מ-condition_id + אינדקס התוצאה; ללא שינוי.
  • כתובת ארנק הפרוקסי של פולימרקט: אותה כתובת; אותו קוד בסגנון Gnosis Safe.
  • מפתח API, סוד API, ביטוי-סיסמה של API: עדיין תקפים (מומלץ להחליף; לא חובה).
  • סכמות WebSocket: זהות; שדה ה-asset החדש מציג "pUSD" במקום "USDC.e" באירועי מימוש.
  • ממשקי Gamma ו-Data API: ללא אימות, ללא שינוי. הם מעולם לא הפנו ישירות לאסימון הבטוחה.
שינוי קטן אחד בממשק: תצוגת ארנק הפרוקסי של פולימרקט מציגה כעת יתרות ב-pUSD, עם תווית USD ביחס 1:1. סיירי בלוקצ'יין (PolygonScan, Polygonscan API) מציגים העברות pUSD בתקן ERC-20 בהיסטוריית העסקאות של ארנק הפרוקסי. העברות USDC.e ישנות נשארות גלויות בהיסטוריה; לכתובת שלכם פשוט יהיו שתי שורות אסימון ERC-20 למשך זמן מה.
08
פרק שמונה

חלק 8: השלכות מס וניהול חשבונות

ברוב תחומי השיפוט, ההמרה האוטומטית של USDC.e ל-pUSD היא החלפה דמוית-סוג של מטבעות יציבים צמודי-USD ביחס 1:1 ואינה יוצרת אירוע חייב במס. בסיס העלות ותקופת ההחזקה שלכם עוברים הלאה.

עם זאת, שני עניינים בניהול החשבונות ראויים לתשומת לב:

  1. עדכנו את סכמת ספר החשבונות שלכם. כל כלי מס, ספר חשבונות SQLite או ייצוא לרואה החשבון שמסנן עסקאות Polygon לפי חוזה USDC.e יפספס בשקט כל עסקה שלאחר ההגירה. הוסיפו את כתובת החוזה של pUSD ככינוי.
  2. תעדו את המרת התמונה (snapshot). אף שהיא אינה חייבת במס ברוב המשטרים, רשמו את ההמרה במפורש ברשומות שלכם: הסכום, הבלוק, חותמת הזמן, והערה שמדובר בהגירה של מטבע יציב ביחס 1:1. אם תחום השיפוט שלכם יברר זאת בהמשך, תרצו שביל ביקורת נקי.

סוחרים ישראלים מומלץ שיעיינו במדריך המס לדיווח הספציפי לרשות המסים; ההגירה עצמה אינה משנה את הטיפול הסטנדרטי, אך שינוי כתובת החוזה חשוב לכלי דיווח אוטומטיים.

09
פרק תשע

חלק 9: טיפים מקצועיים ממפעילים שחוו את המעבר

  1. נעלו את py-clob-client-v2 (>=1.0) ב-requirements.txt. הוא חותם על פקודות pUSD / V2 כראוי; קו 0.34.x הארכיוני לא עושה זאת.
  2. אשרו מחדש הרשאות (allowances) בחלון של נפח נמוך. הקריאה update_balance_allowance היא עסקת Polygon אחת; ביצועה בזמן תנועת שוק מהירה הוא הזמנה לקפיצת gas.
  3. צלמו תמונת מצב של יתרת ה-USDC.e שלכם לפני 28 באפריל. אף שההמרה אוטומטית, יתרת תמונת-מצב מקדימה שניתן לאמת היא הדרך הנקייה ביותר לערער על כל בעיית התאמה.
  4. בטלו ידנית פקודות ממתינות לפני תמונת המצב. הן בוטלו ממילא על ידי הפלטפורמה; ביצוע זה בעצמכם נותן לכם רשומה נקייה בספר החשבונות במקום שורת "ביטול מערכת".
  5. שימו לב ללוחות מחוונים מיושנים. ללוחות מחוונים חיצוניים של פולימרקט (PolymarketAnalytics, Polynance וכו') לקח יומיים-שלושה לפענח מחדש אירועי pUSD. ה-DB המקומי של הבוט שלכם עשוי להקדים את הלוחות הציבוריים בכמה ימים.
  6. גשרו על שאריות USDC.e בלוח הזמנים שלכם. ברוב החשבונות יש כמה סנטים של שאריות USDC.e מהחזרי עמלה ישנים או מהעברות עמית-לעמית. השתמשו ב-CCTP של Circle או בגשר הסטנדרטי Polygon Portal - אין למהר.
  7. השאירו את כתובת ה-USDC.e הישנה בהתראות סייר הבלוקים שלכם. אם אי פעם משהו יסחוף מהפרוקסי שלכם ב-USDC.e לאחר ההגירה, זהו דגל אדום שכדאי לחקור מיד.

מה הלאה?

המסקנה העיקרית

מעבר ה-pUSD של פולימרקט הוא רפקטור חד-פעמי בסיכון נמוך עבור כל מפעיל שכבר מריץ בוט של פולימרקט. עברו ל-py-clob-client-v2, אשרו מחדש את הרשאות ה-pUSD, הריצו בדיקת עשן של $1, והמשיכו. התשתית שמתחת (CTF, condition IDs, token IDs, מפתחות API) לא השתנתה, ולכן שטח הפנים קטן וסיפור החזרה לאחור נקי.