บทที่ 36 จาก 36

เวอร์ชันสั้น

เมื่อ28 เมษายน 2026 Polymarket ได้ย้ายหลักประกันการชำระบัญชีบน Polygon จาก USDC.e (โทเคน USDC ที่เชื่อมข้ามเชน, สัญญา 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) ไปเป็น pUSD ซึ่งเป็นสเตเบิลคอยน์ที่ออกโดย Polymarket และสามารถแลกคืนเป็น native USDC ได้ในอัตรา 1:1 ผู้เทรดบนเว็บแอปไม่ต้องทำอะไร - ยอดคงเหลือและสถานะถูกแปลงอัตโนมัติ ณ บล็อกสแนปช็อต ผู้ใช้งาน API และบอทต้องอัปเดต: ที่อยู่ของสินทรัพย์หลักประกันภายในลายเซ็นคำสั่ง CLOB ทุกคำสั่งเปลี่ยนไป, คำสั่งเก่าที่ลงนามโดยอ้าง USDC.e ถูกยกเลิก, และต้องใช้ py-clob-client เวอร์ชัน 0.40 หรือใหม่กว่า คู่มือนี้จะพาไล่ดูโค้ด สัญญา และการเปลี่ยนแปลงการอนุมัติที่ต้องทำอย่างละเอียดเพื่อให้บอททำงานต่อได้ทั้งในระหว่างและหลังการเปลี่ยนผ่าน

สิ่งที่คุณจะได้เรียนรู้: ทำไม Polymarket จึงเลิกใช้ USDC.e, อะไรเปลี่ยนไปในระดับสัญญา, ขั้นตอนอัปเกรด py-clob-client แบบละเอียด, วิธีอนุมัติ allowance ใหม่สำหรับหลักประกันตัวใหม่, วิธีตรวจสอบยอดคงเหลือหลังการสลับ, และวิธีจัดการกับเศษ USDC.e เดิมที่ตอนนี้บัญชีส่วนใหญ่ถืออยู่
ข้อกำหนดเบื้องต้น: คุณควรมีบัญชี Polymarket ที่ใช้งานได้อยู่แล้ว, คุ้นเคยพื้นฐานกับสัญญา Polygon, และมีบอทเดิมหรือเวิร์กโฟลว์ API แบบ manual ที่สร้างมาก่อนวันที่ 28 เมษายน 2026 หากคุณเพิ่งเริ่มใหม่วันนี้ ให้ติดตั้ง SDK เวอร์ชันล่าสุดแล้วข้ามไปยังบทที่สี่ได้เลย - คุณจะไม่ต้องแตะ USDC.e อีก
01
บทที่หนึ่ง

ส่วนที่ 1: สเตเบิลคอยน์สามตัว, Polygon หนึ่งเดียว

ก่อนการย้าย มีสเตเบิลคอยน์สกุล USD สามตัวอยู่ในวงโคจรของ Polymarket บน Polygon การรู้ความแตกต่างคือก้าวแรกในการทำความเข้าใจว่าทำไม Polymarket จึงเปลี่ยนสถานที่ดำเนินการ

Tokenผู้ออกสัญญาบน Polygonประเภททุนสำรอง
USDC.eสะพาน Polygon PoS0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174เชื่อมต่อมาจาก Ethereum mainnet
USDC (native)Circle0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359native, ออกโดยตรงบน Polygon
pUSDคลังของ Polymarketดู docs.polymarket.com/pusdหนุนหลัง 1:1 ด้วย native USDC, รับรองยอดทุกเดือน

เดิมที Polymarket เลือก USDC.e เพราะเป็นรูปแบบ USDC ที่ครองตลาดบน Polygon มากที่สุดในตอนเปิดตัวเมื่อปี 2020 ต่อมา Circle ได้ออก USDC แบบ native โดยตรงบน Polygon และส่งสัญญาณว่าจะเลิกใช้เวอร์ชันที่เชื่อมสะพานในที่สุด การยังคงชำระราคาแต่ละตลาดด้วย USDC.e ทำให้ Polymarket เผชิญความเสี่ยงระยะยาวจากการปิดสะพานแบบกะทันหัน การย้ายไปใช้สเตเบิลคอยน์ที่ Polymarket ควบคุมเองช่วยแก้ปัญหานี้ และเปิดทางให้ฟีเจอร์ผลิตภัณฑ์ในอนาคต (เช่น มาร์จิ้นของ perps, การฝากเข้าคลัง, ใบเสร็จข้ามเชน) ที่ใช้หน่วยบัญชีเดียวกัน

02
บทที่สอง

ส่วนที่ 2: pUSD คืออะไร (และไม่ใช่อะไร)

pUSD เป็น โทเคน ERC-20 มาตรฐานบน Polygon (chain id 137) ที่มีทศนิยม 6 ตำแหน่ง ซึ่งมีความละเอียดเท่ากับ USDC โดยสามารถสร้างเหรียญใหม่ได้เฉพาะโดยสัญญา Polymarket Treasury และสามารถแลกคืนเป็น USDC ดั้งเดิมได้แบบ 1:1 ทุกเมื่อ โดยไม่มีค่าธรรมเนียมในการแปลง (ยังคงมีค่าก๊าซของเครือข่าย) ทุนสำรองที่หนุนหลัง pUSD ถูกเก็บไว้ในบัญชีแยกต่างหาก และรายงานทุกเดือนพร้อมการรับรองจากบุคคลที่สาม

pUSD ไม่ใช่ สเตเบิลคอยน์แบบอัลกอริทึม, ไม่ได้ค้ำประกันด้วยคริปโตเกินมูลค่า, และไม่ได้ให้ผลตอบแทน หากคุณถือ pUSD นอก Polymarket คุณควรมองมันเป็น IOU ที่ออกโดย Polymarket สำหรับ USDC ดั้งเดิม - มีประโยชน์ภายในแพลตฟอร์ม แลกคืนได้เมื่อเรียกใช้ แต่ไม่มีประโยชน์ในการถือระยะยาวในกระเป๋าภายนอก

การตรวจสอบและทุนสำรอง: สมาร์ตคอนแทรกต์ pUSD ได้รับการตรวจสอบโดยผู้ตรวจสอบประจำของ Polymarket แล้ว รายงานการรับรองทุนสำรองจะเผยแพร่ที่ docs.polymarket.com/pusd-audit เป็นรายเดือน โปรดยืนยันทั้งสองอย่างก่อนถือยอดคงเหลือจำนวนมากในระยะยาว
03
บทที่สาม

ส่วนที่ 3: สิ่งที่เทรดเดอร์บนเว็บแอปเห็น

หากคุณเทรดผ่าน polymarket.com เท่านั้น การย้ายระบบจะไม่ปรากฏให้เห็น ที่บล็อกสแนปช็อตเมื่อวันที่ 28 เมษายน 2026:

  • ยอดคงเหลือ USDC.e ทุกจำนวนที่อยู่ในกระเป๋า proxy ของ Polymarket ถูกแปลงเป็น pUSD แบบอะตอมมิกในอัตรา 1:1
  • สถานะเปิดยังคงมีมูลค่าเป็นดอลลาร์เท่าเดิม มีอัตราต่อรองของผลลัพธ์เท่าเดิม และวันหมดอายุเท่าเดิม รหัสโทเค็นแบบมีเงื่อนไขไม่เปลี่ยนแปลง
  • คำสั่งที่ค้างอยู่ซึ่งกำหนดมูลค่าเป็น USDC.e ถูกยกเลิกที่สแนปช็อต คำสั่งใหม่หลังการย้ายระบบจะลงนามด้วย pUSD โดยอัตโนมัติ
  • การถอนเงินไปยังกระเป๋าภายนอกเปลี่ยนจากการส่ง USDC.e เป็นการส่ง USDC ดั้งเดิม (หรือ pUSD ดิบตามคำขอ - ผู้ใช้ส่วนใหญ่ไม่จำเป็นต้องทำเช่นนั้น)

ไม่ต้องใช้ลายเซ็น ธุรกรรม หรือการเปลี่ยนแปลงการตั้งค่าใดๆ คำสั่งจำกัดราคาที่ค้างอยู่ซึ่งสำคัญต่อคุณควรตั้งใหม่ด้วยตนเองหลังการย้ายระบบ การยกเลิกเป็นเหตุการณ์ครั้งเดียวเท่านั้น

04
บทที่สี่

ส่วนที่ 4: ผู้ดำเนินการ API และบอท - การเปลี่ยนแปลงสำคัญ

นี่คือส่วนที่จะทำให้บอทพังถ้าคุณไม่ดำเนินการ

สิ่งที่เปลี่ยนในลายเซ็นคำสั่ง: คำสั่ง CLOB จะลงนามผ่าน EIP-712 และอ้างอิงที่อยู่ของสินทรัพย์หลักประกันเป็นส่วนหนึ่งของข้อมูลแบบ typed data ก่อนการย้าย ที่อยู่นั้นคือ USDC.e (0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) หลังการย้าย คือ pUSD คำสั่งที่ลงนามโดยอ้างอิงที่อยู่เก่าจะล้มเหลวในการตรวจสอบลายเซ็นที่ CLOB และจะแสดงข้อผิดพลาด "invalid ผู้ตั้งคำสั่ง (maker) asset" หรือ "signature mismatch"

อัปเกรด py-clob-client

Polymarket ได้เผยแพร่ py-clob-client 0.40.0 สองสัปดาห์ก่อนการเปลี่ยนผ่านพร้อมรองรับ pUSD อย่างสมบูรณ์ สายเวอร์ชัน 0.34.x ถูกเลิกใช้งานในวันถัดจากการย้าย

# อัปเป็นรุ่นที่รองรับ pUSD
pip install --upgrade "py-clob-client>=0.40.0"

# ตรวจสอบสินทรัพย์หลักประกันที่เชื่อมต่อไว้
python -c "from py_clob_client.constants import POLYGON; \
print('ที่อยู่ pUSD:', POLYGON.get('collateral'))"

SDK ใหม่จะดึงที่อยู่ของหลักประกันจากการตั้งค่าบนเชนเมื่อเริ่มทำงาน ดังนั้นคุณไม่จำเป็นต้อง hard-code อะไรเลย ถ้าคุณ fork หรือ pin เวอร์ชันเก่ากว่า วิธีที่ปลอดภัยที่สุดคือ ลบไฟล์ lockfile ติดตั้งใหม่ด้วยโมดูล constants เวอร์ชันล่าสุด แล้วรันชุดทดสอบของคุณอีกครั้ง

อนุมัติสิทธิ์อีกครั้ง

กระเป๋า proxy ของ Polymarket ของคุณต้องมี ERC-20 allowance จาก บัญชีเทรดของคุณ -> สัญญา CTF Exchange สำหรับโทเค็น pUSD allowance เก่าสำหรับ USDC.e ยังอยู่บนเชนแต่ไม่มีประโยชน์เลย: CLOB จะไม่ใช้มัน หากไม่มี allowance pUSD ใหม่ ทุกคำสั่งจะคืนค่า "INSUFFICIENT_ALLOWANCE"

from py_clob_client.client import ClobClient

client = ClobClient(
    host="https://clob.polymarket.com",
    chain_id=137,
    key=os.environ["POLY_PRIVATE_KEY"],
    funder=os.environ["POLY_FUNDER"],
    signature_type=1,  # POLY_PROXY สำหรับบัญชี Magic-link
)
client.set_api_creds(client.create_or_derive_api_creds())

# ทำครั้งเดียว: อนุมัติ pUSD สำหรับสัญญา CTF Exchange
# (มี helper เพิ่มใน py-clob-client 0.40)
client.update_balance_allowance(asset_type="COLLATERAL")

รีเฟรชข้อมูลรับรอง API

API key ที่มีอยู่ยังคงใช้งานได้ แต่ถ้าคุณสร้างข้อมูลรับรองก่อนวันที่ 1 เมษายน คุณควรหมุนใหม่ไว้ก่อน: ตอนนี้ลายเซ็น ECDSA ชั้น L1 ผูกกับโดเมนที่รวมที่อยู่หลักประกันใหม่แล้ว เส้นทางที่ง่ายที่สุดคือ:

creds = client.create_or_derive_api_creds()  # สร้างใหม่แบบ idempotent
client.set_api_creds(creds)

# บันทึกลง .env ของคุณ
print(creds.api_key, creds.api_secret, creds.api_passphrase)
05
บทที่ห้า

ส่วนที่ 5: การยืนยันบอตของคุณหลังการย้ายระบบ

ให้รันการทดสอบ smoke test แบบย่อก่อนปล่อยตรรกะการกำหนดขนาดใดๆ ให้ทำงานกับเงินจริง:

# 1. ยืนยันยอด pUSD บนกระเป๋า proxy
from py_clob_client.client import ClobClient
client = ClobClient(...)  # ตามที่ระบุข้างต้น
balance = client.get_balance_allowance(params={"asset_type": "COLLATERAL"})
print("ยอด pUSD (raw):", balance["balance"])
print("วงเงินอนุญาตสำหรับการแลกเปลี่ยน:", balance["allowance"])

# 2. วางคำสั่งจำกัดราคามูลค่า $1 ให้ห่างจากราคาตลาดมากๆ
from py_clob_client.clob_types import OrderArgs
order = client.create_order(OrderArgs(
    token_id=test_token_id,
    price=0.05,        # ห่างจากตลาดมาก
    size=20,           # มูลค่า $1 ที่ราคา $0.05
    side="BUY",
))
resp = client.post_order(order)
print(resp)

# 3. ยกเลิกและยืนยัน
client.cancel(order_id=resp["orderID"])

หากการเรียกทั้งสามครั้งสำเร็จ การเชื่อมต่อของคุณก็ถูกต้อง - SDK ลงนามด้วย pUSD, ระบบรับรู้วงเงินอนุญาตแล้ว และบัญชีคำสั่งซื้อขายก็สอดคล้องกัน จากนั้นค่อยๆ เพิ่มขนาดกลับขึ้นมาอีกครั้ง

ให้จับจังหวะการอัปเกรดอย่างระมัดระวัง: หากคุณรันบอตต่อเนื่องผ่านบล็อก snapshot สถานะสมุดคำสั่งซื้อขายในเครื่องของคุณอาจคลาดเคลื่อนไปได้ ควรเทียบกับ snapshot แบบ REST เสมอหลังการเปลี่ยนแปลงสถานที่ซื้อขายครั้งใหญ่ก่อนจะเสนอราคาในขนาดที่มากขึ้น
06
บทที่หก

ส่วนที่ 6: ข้อผิดพลาดที่พบบ่อยและวิธีแก้ไข

ข้อผิดพลาดหรืออาการสาเหตุวิธีแก้ไข
signature verification failedลงนามคำสั่งซื้อขายโดยใช้โดเมน EIP-712 ของ USDC.eอัปเกรด py-clob-client เป็น 0.40+; โหลดโมดูล constants ใหม่
INSUFFICIENT_ALLOWANCE ในทุกคำสั่งซื้อขายไม่มี pUSD allowance จาก proxy ของคุณไปยัง CTF Exchangeรัน update_balance_allowance(asset_type="COLLATERAL") หนึ่งครั้ง
invalid maker assetยังคงมีการกำหนดแอดเดรส USDC.e แบบ hard-coded อยู่ใน config ของคุณแทนที่แอดเดรสหลักประกันที่ hard-coded ทั้งหมดด้วยค่าคงที่ของ SDK
กระเป๋าแสดงยอดคงเหลือ USDC.e > 0 หลังการย้ายโทเค็น "dust" ที่เหลือจากการโอนของบุคคลที่สามบริดจ์ USDC.e กลับไปเป็น USDC ดั้งเดิมบน CCTP ของ Circle หรือปล่อยไว้
การเชื่อมต่อ WebSocket ใหม่แล้วได้สมุดคำสั่งซื้อขายว่างเปล่าการสมัครรับข้อมูลเดิมใช้สถานะตลาดเก่าก่อน snapshotล้างแคชในเครื่อง ดึงสมุดคำสั่งซื้อขาย REST ใหม่ แล้วจึงสมัครรับข้อมูลอีกครั้ง
ถอนเงินไปยังกระเป๋าภายนอกแล้วแสดง pUSD แทน USDCคุณเลือก "pUSD" แทน "USDC" ในหน้าต่างถอนเงินเลือก "USDC" - บริดจ์จะแปลง pUSD → USDC ดั้งเดิมในอัตรา 1:1
07
บทที่เจ็ด

ส่วนที่ 7: Conditional Tokens, รหัสคำสั่งซื้อขาย และสิ่งอื่นๆ ที่ ไม่ เปลี่ยนแปลง

เพื่อให้ขอบเขตของการปรับโครงสร้างซื่อสัตย์ ต่อไปนี้คือรายการตัวระบุที่คงที่ตลอดการย้ายระบบ:

  • สัญญา Conditional Token (CTF): ที่อยู่เหมือนเดิม ตำแหน่ง YES / NO แบบ ERC-1155 ของคุณไม่ได้รับผลกระทบ
  • condition_id และ question_id: กำหนดแบบดีเทอร์มินิสติกจากพารามิเตอร์ของตลาด - ไม่ได้รับผลจากการสลับหลักประกัน
  • token_id (ผลลัพธ์): ได้มาจาก condition_id + ดัชนีผลลัพธ์ - ไม่เปลี่ยนแปลง
  • ที่อยู่กระเป๋า proxy ของ Polymarket: ที่อยู่เดิม; โค้ดแบบเดียวกับ Gnosis Safe
  • API key, API secret, API passphrase: ยังใช้งานได้ (แนะนำให้หมุนเปลี่ยน; ไม่บังคับ)
  • สคีมา WebSocket: เหมือนเดิม; ฟิลด์ asset ใหม่จะอ่านว่า "pUSD" แทน "USDC.e" ในอีเวนต์ fill
  • Gamma และ Data APIs: ไม่ต้องยืนยันตัวตน, ไม่เปลี่ยนแปลง พวกมันไม่เคยอ้างอิงโทเค็นหลักประกันโดยตรง
การเปลี่ยนแปลง UI เล็กๆ อย่างหนึ่ง: มุมมองกระเป๋า proxy ของ Polymarket ตอนนี้แสดงยอดคงเหลือเป็น pUSD พร้อมป้าย USD แบบ 1:1 บล็อกเอ็กซ์พลอเรอร์ (PolygonScan, Polygonscan API) แสดงการโอน pUSD ERC-20 ในประวัติธุรกรรมของกระเป๋า proxy การโอน USDC.e เดิมยังคงมองเห็นได้ในประวัติ; ที่อยู่ของคุณจะมีแถวโทเค็น ERC-20 สองแถวอยู่ช่วงหนึ่ง
08
บทที่แปด

ส่วนที่ 8: ผลกระทบด้านภาษีและการทำบัญชี

สำหรับเขตอำนาจศาลส่วนใหญ่ การแปลง USDC.e อัตโนมัติเป็น pUSD ถือเป็น การสวอปสเตเบิลคอยน์ที่ตรึงกับ USD แบบชนิดเดียวกันในอัตรา 1:1 และไม่ก่อให้เกิดเหตุการณ์ที่ต้องเสียภาษี ต้นทุนฐานและระยะเวลาการถือครองของคุณจะถูกส่งต่อไปด้วย

อย่างไรก็ตาม มีรายการด้านการทำบัญชี 2 เรื่องที่ควรใส่ใจ:

  1. อัปเดตสคีมาบัญชีแยกประเภทของคุณ เครื่องมือภาษี, บัญชีแยกประเภท SQLite หรือไฟล์ส่งออกให้บัญชีใดๆ ที่กรองธุรกรรม Polygon ตามสัญญา USDC.e จะพลาดธุรกรรมหลังการย้ายระบบทุกธุรกรรมโดยไม่แสดงข้อผิดพลาด เพิ่มที่อยู่สัญญา pUSD เป็นชื่อแฝง
  2. บันทึกคำอธิบายการแปลงจากสแนปช็อต แม้ว่าในเขตอำนาจศาลส่วนใหญ่จะไม่ต้องเสียภาษี แต่ให้บันทึกการแปลงนี้ในเอกสารของคุณอย่างชัดเจน: จำนวน, บล็อก, เวลา และหมายเหตุว่าเป็นการย้ายสเตเบิลคอยน์แบบ 1:1 หากเขตอำนาจศาลของคุณมีการสอบถามในภายหลัง คุณจะต้องมีร่องรอยการตรวจสอบที่ชัดเจน

เทรดเดอร์ชาวอิสราเอลควรปรึกษา Tax Guide สำหรับการรายงานเฉพาะของ ITA; การย้ายระบบเองไม่ได้เปลี่ยนแปลงการปฏิบัติตามมาตรฐาน แต่การเปลี่ยนที่อยู่สัญญามีความสำคัญต่อเครื่องมือการรายงานอัตโนมัติ

09
บทที่เก้า

Part 9: เคล็ดลับระดับโปรจากผู้ปฏิบัติการที่ผ่านการเปลี่ยนมาแล้ว

  1. ปัก pin py-clob-client เป็น >=0.40,<0.50 ใน requirements.txt. สาย 0.40 คือขั้นต่ำที่ลงนามคำสั่ง pUSD ได้อย่างถูกต้อง - การกำหนดขอบเขตบนไว้ช่วยป้องกันการเปลี่ยนแปลงที่ทำให้ใช้งานไม่ได้ในอนาคต
  2. ขออนุมัติ allowance ใหม่ในช่วงที่ปริมาณซื้อขายต่ำ. การเรียก update_balance_allowance เป็นธุรกรรมหนึ่งครั้งบน Polygon - ถ้าทำในช่วงตลาดเคลื่อนไหวแรง เท่ากับกำลังเชิญให้ค่าก๊าซพุ่ง
  3. สแนปช็อตยอดคงเหลือ USDC.e ของคุณก่อนวันที่ 28 เมษายน. แม้ว่าการแปลงจะเป็นแบบอัตโนมัติ แต่การมียอดก่อนสแนปช็อตที่ตรวจสอบได้คือวิธีที่สะอาดที่สุดในการคัดค้านปัญหาการกระทบยอดใดๆ
  4. ยกเลิกคำสั่งที่ค้างอยู่ด้วยตนเองก่อนสแนปช็อต. อย่างไรก็ถูกยกเลิกโดยแพลตฟอร์มอยู่แล้ว - การทำเองจะทำให้คุณได้รายการในบัญชีแยกประเภทที่ชัดเจน แทนบรรทัด "system cancel"
  5. ระวังแดชบอร์ดที่ล้าสมัย. แดชบอร์ด Polymarket ของบุคคลที่สาม (PolymarketAnalytics, Polynance ฯลฯ) ใช้เวลาสองถึงสามวันในการแยกวิเคราะห์เหตุการณ์ pUSD ใหม่อีกครั้ง บอทของคุณที่มีฐานข้อมูลท้องถิ่นอาจนำหน้าแดชบอร์ดสาธารณะอยู่หลายวัน
  6. บริดจ์เศษ USDC.e ตามเวลาที่คุณสะดวก. บัญชีส่วนใหญ่จะมี USDC.e เหลืออยู่ไม่กี่เซนต์จากส่วนลดค่าธรรมเนียมเก่าหรือการโอนแบบเพียร์ ใช้ CCTP ของ Circle หรือบริดจ์ Polygon Portal มาตรฐาน - ไม่ต้องรีบร้อน
  7. เก็บที่อยู่ USDC.e เดิมไว้ในการแจ้งเตือนจากบล็อกเอ็กซ์พลอเรอร์ของคุณ. หากมีอะไรเกิดการ sweep ออกจากกระเป๋า proxy ของคุณใน USDC.e หลังการย้ายระบบ นั่นคือสัญญาณเตือนที่ควรตรวจสอบทันที

ต่อไปคืออะไร?

ข้อสรุปสำคัญ

การย้ายไปใช้ pUSD ของ Polymarket เป็นการปรับโครงสร้างครั้งเดียวที่มีความเสี่ยงต่ำสำหรับผู้ปฏิบัติการที่รันบอต Polymarket อยู่แล้ว อัปเกรด py-clob-client เป็น 0.40+ อนุมัติ allowance ของ pUSD ใหม่ ทำการทดสอบแบบ $1 แล้วกลับมาดำเนินต่อ โครงสร้างพื้นฐานด้านล่าง (CTF, condition IDs, token IDs, API keys) ไม่ได้เปลี่ยน ดังนั้นขอบเขตผลกระทบจึงเล็ก และแผนการย้อนกลับก็ชัดเจน