פרק 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. המדריך הזה עובר על השינויים המדויקים בקוד, בחוזה ובהרשאות הנדרשים כדי לשמור על בוט פעיל לאורך המעבר ואחריו.
חלק 1: שלושה סטייבלקוינים, פוליגון אחד
לפני המעבר, שלושה סטייבלקוינים צמודי דולר התקיימו במסלולה של פולימרקט על Polygon. הכרת ההבדל ביניהם היא הצעד הראשון להבנת הסיבה שבגללה פולימרקט החליפה זירה.
| טוקן | מנפיק | חוזה על Polygon | סוג הרזרבה |
|---|---|---|---|
| USDC.e | גשר Polygon PoS | 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 | מגושר מהרשת הראשית של Ethereum |
| USDC (מקורי) | Circle | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | מקורי, מונפק ישירות על Polygon |
| pUSD | חוזה הבטוחה של Polymarket | ראו docs.polymarket.com/concepts/pusd | מגובה 1:1 ב-USDC, נאכף על השרשרת, ניתן לפדיון בכל עת |
פולימרקט בחרה במקור ב-USDC.e משום שזה היה וריאנט ה-USDC הדומיננטי על Polygon בעת ההשקה ב-2020. מאוחר יותר Circle הנפיקה USDC מקורי ישירות על Polygon ואותתה על הוצאתו ההדרגתית של הוריאנט המגושר משימוש. המשך הסליקה של כל שוק ב-USDC.e חשף את פולימרקט לסיכון הקצה של סגירה פתאומית של הגשר. המעבר לסטייבלקוין שבשליטת פולימרקט פותר זאת ופותח את הדרך לתכונות מוצר עתידיות (למשל, מרג'ין לחוזי perps, הפקדות לכספות, קבלות חוצות-שרשראות) החולקות את אותה יחידת חשבון.
חלק 2: מה זה pUSD (ומה זה לא)
pUSD הוא טוקן ERC-20 סטנדרטי על Polygon (chain id 137) עם 6 ספרות עשרוניות, אותה רמת דיוק כמו USDC. הוא נטבע רק כאשר USDC נעטף דרך חוזה הבטוחה של פולימרקט, וניתן לפדותו 1:1 תמורת USDC מקורי בכל עת, ללא עמלה על ההמרה (עדיין חל גז רשת). הגיבוי נאכף על השרשרת: חוזה העטיפה מחזיק את ה-USDC הבסיסי והוא עצמו מנגנון הפדיון. אין משמורן מחוץ לשרשרת, אין צמידות אלגוריתמית, ואין רזרבה חלקית.
pUSD אינו סטייבלקוין אלגוריתמי, אינו מגובה-יתר בקריפטו, ואינו נושא תשואה. אם אתם מחזיקים pUSD מחוץ לפולימרקט, כדאי שתחשבו עליו כשטר חוב (IOU) שהונפק על ידי פולימרקט עבור USDC מקורי - שימושי בתוך הפלטפורמה, ניתן לפדיון לפי דרישה, אך ללא יתרון בהחזקה לטווח ארוך בארנק חיצוני.
docs.polymarket.com/concepts/pusd.חלק 3: מה ראו הסוחרים באפליקציית הוויב
אם אתם סוחרים רק דרך polymarket.com, ההגירה הייתה בלתי נראית. בבלוק הצילום בתאריך 28 באפריל 2026:
- כל יתרת USDC.e שהוחזקה בארנק פרוקסי של פולימרקט הומרה אטומית ל-pUSD ביחס של 1:1.
- הפוזיציות הפתוחות שמרו על אותו ערך דולרי, אותם סיכויי תוצאה ואותו מועד פקיעה. מזהי הטוקן המותנה לא השתנו.
- פקודות ממתינות שנקובות ב-USDC.e בוטלו בעת הצילום. פקודות חדשות שלאחר ההגירה נחתמות אוטומטית מול pUSD.
- משיכות לארנקים חיצוניים עברו משליחת USDC.e לשליחת USDC מקורי (או, לפי בקשה, pUSD גולמי - רוב המשתמשים לעולם אינם זקוקים לכך).
לא נדרשו חתימות, עסקאות או שינויי הגדרות. כדאי למקם מחדש באופן ידני, לאחר ההגירה, פקודות גבול ממתינות שחשובות לכם; הביטול היה אירוע חד-פעמי.
חלק 4: מפעילי API ובוטים - שינויים קריטיים
זהו החלק שישבור בוט אם לא תפעלו.
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)
חלק 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, ההרשאה מזוהה, וספר הפקודות עקבי. הגדילו את ההיקף בהדרגה.
חלק 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 |
חלק 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: ללא אימות, ללא שינוי. הם מעולם לא הפנו ישירות לאסימון הבטוחה.
חלק 8: השלכות מס וניהול חשבונות
ברוב תחומי השיפוט, ההמרה האוטומטית של USDC.e ל-pUSD היא החלפה דמוית-סוג של מטבעות יציבים צמודי-USD ביחס 1:1 ואינה יוצרת אירוע חייב במס. בסיס העלות ותקופת ההחזקה שלכם עוברים הלאה.
עם זאת, שני עניינים בניהול החשבונות ראויים לתשומת לב:
- עדכנו את סכמת ספר החשבונות שלכם. כל כלי מס, ספר חשבונות SQLite או ייצוא לרואה החשבון שמסנן עסקאות Polygon לפי חוזה USDC.e יפספס בשקט כל עסקה שלאחר ההגירה. הוסיפו את כתובת החוזה של pUSD ככינוי.
- תעדו את המרת התמונה (snapshot). אף שהיא אינה חייבת במס ברוב המשטרים, רשמו את ההמרה במפורש ברשומות שלכם: הסכום, הבלוק, חותמת הזמן, והערה שמדובר בהגירה של מטבע יציב ביחס 1:1. אם תחום השיפוט שלכם יברר זאת בהמשך, תרצו שביל ביקורת נקי.
סוחרים ישראלים מומלץ שיעיינו במדריך המס לדיווח הספציפי לרשות המסים; ההגירה עצמה אינה משנה את הטיפול הסטנדרטי, אך שינוי כתובת החוזה חשוב לכלי דיווח אוטומטיים.
חלק 9: טיפים מקצועיים ממפעילים שחוו את המעבר
- נעלו את
py-clob-client-v2(>=1.0) ב-requirements.txt. הוא חותם על פקודות pUSD / V2 כראוי; קו 0.34.x הארכיוני לא עושה זאת. - אשרו מחדש הרשאות (allowances) בחלון של נפח נמוך. הקריאה
update_balance_allowanceהיא עסקת Polygon אחת; ביצועה בזמן תנועת שוק מהירה הוא הזמנה לקפיצת gas. - צלמו תמונת מצב של יתרת ה-USDC.e שלכם לפני 28 באפריל. אף שההמרה אוטומטית, יתרת תמונת-מצב מקדימה שניתן לאמת היא הדרך הנקייה ביותר לערער על כל בעיית התאמה.
- בטלו ידנית פקודות ממתינות לפני תמונת המצב. הן בוטלו ממילא על ידי הפלטפורמה; ביצוע זה בעצמכם נותן לכם רשומה נקייה בספר החשבונות במקום שורת "ביטול מערכת".
- שימו לב ללוחות מחוונים מיושנים. ללוחות מחוונים חיצוניים של פולימרקט (PolymarketAnalytics, Polynance וכו') לקח יומיים-שלושה לפענח מחדש אירועי pUSD. ה-DB המקומי של הבוט שלכם עשוי להקדים את הלוחות הציבוריים בכמה ימים.
- גשרו על שאריות USDC.e בלוח הזמנים שלכם. ברוב החשבונות יש כמה סנטים של שאריות USDC.e מהחזרי עמלה ישנים או מהעברות עמית-לעמית. השתמשו ב-CCTP של Circle או בגשר הסטנדרטי Polygon Portal - אין למהר.
- השאירו את כתובת ה-USDC.e הישנה בהתראות סייר הבלוקים שלכם. אם אי פעם משהו יסחוף מהפרוקסי שלכם ב-USDC.e לאחר ההגירה, זהו דגל אדום שכדאי לחקור מיד.
מה הלאה?
- מדריך ה-API של פולימרקט - מדריך ה-API המלא, מעודכן עבור pUSD
- מדריך הפקדה - הפקדת USDC וקבלת pUSD בתוך האפליקציה
- מדריך משיכה - משיכת pUSD כ-USDC מקורי לארנק חיצוני
- כלים ומשאבים - לוחות בקרה של צד שלישי המעודכנים כעת עבור pUSD
- מילון מונחים - הגדרות פשוטות לכל מונח שנעשה בו שימוש כאן
המסקנה העיקרית
מעבר ה-pUSD של פולימרקט הוא רפקטור חד-פעמי בסיכון נמוך עבור כל מפעיל שכבר מריץ בוט של פולימרקט. עברו ל-py-clob-client-v2, אשרו מחדש את הרשאות ה-pUSD, הריצו בדיקת עשן של $1, והמשיכו. התשתית שמתחת (CTF, condition IDs, token IDs, מפתחות API) לא השתנתה, ולכן שטח הפנים קטן וסיפור החזרה לאחור נקי.













