Chương 36 trong 36
Phiên bản ngắn gọn
Vào ngày 28 tháng 4 năm 2026, Polymarket đã chuyển tài sản ký quỹ thanh toán trên Polygon từ USDC.e (token USDC được bắc cầu, hợp đồng 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) sang pUSD, một đồng stablecoin (stablecoin) do Polymarket phát hành và có thể quy đổi 1:1 sang USDC gốc. Các trader trên web-app không phải làm gì - số dư và vị thế được tự động chuyển đổi tại khối chụp trạng thái. Những người vận hành API và bot phải cập nhật: địa chỉ tài sản ký quỹ bên trong mọi chữ ký lệnh CLOB đã thay đổi, các lệnh cũ được ký bằng USDC.e đã bị hủy, và yêu cầu py-clob-client phiên bản 0.40 trở lên. Hướng dẫn này sẽ đi qua chính xác các thay đổi về mã, hợp đồng và phê duyệt cần thiết để giữ cho một bot tiếp tục chạy trong và sau thời điểm chuyển đổi.
Phần 1: Ba đồng stablecoin (stablecoin), Một Polygon
Trước khi chuyển đổi, có ba đồng stablecoin USD tồn tại trong quỹ đạo của Polymarket trên Polygon. Hiểu được sự khác biệt là bước đầu tiên để hiểu vì sao Polymarket thay đổi nền tảng.
| Token | Nhà phát hành | Hợp đồng trên Polygon | Loại dự trữ |
|---|---|---|---|
| USDC.e | Polygon PoS bridge | 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 | Được cầu nối từ mainnet Ethereum |
| USDC (native) | Circle | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | Native, được phát hành trực tiếp trên Polygon |
| pUSD | Polymarket Treasury | Xem docs.polymarket.com/pusd | Được bảo chứng 1:1 bằng USDC native, xác nhận hàng tháng |
Ban đầu Polymarket chọn USDC.e vì đây là biến thể USDC chiếm ưu thế trên Polygon khi ra mắt vào năm 2020. Sau đó Circle phát hành USDC native trực tiếp trên Polygon và báo hiệu rằng cuối cùng biến thể được cầu nối sẽ bị loại bỏ. Việc tiếp tục thanh toán mọi thị trường bằng USDC.e khiến Polymarket phải đối mặt với rủi ro dài hạn từ việc ngừng hoạt động cầu nối đột ngột. Chuyển sang một đồng stablecoin do Polymarket kiểm soát sẽ giải quyết vấn đề đó và mở khóa các tính năng sản phẩm trong tương lai (ví dụ, ký quỹ cho perps, nạp vào vault, biên lai cross-chain) dùng chung cùng một đơn vị kế toán.
Phần 2: pUSD là gì (và không phải gì)
pUSD là một token ERC-20 tiêu chuẩn trên Polygon (chain id 137) với 6 chữ số thập phân, có độ chính xác giống như USDC. Chỉ có hợp đồng Treasury của Polymarket mới có thể mint nó và nó có thể được quy đổi 1:1 sang USDC gốc bất kỳ lúc nào, không mất phí cho việc quy đổi (vẫn áp dụng phí gas của mạng). Kho dự trữ bảo chứng cho pUSD được giữ trong các tài khoản tách biệt và được báo cáo hàng tháng kèm theo xác nhận từ bên thứ ba.
pUSD không phải là một đồng stablecoin (stablecoin) thuật toán, không được thế chấp quá mức bằng crypto, và không sinh lợi suất. Nếu bạn giữ pUSD bên ngoài Polymarket, bạn nên xem nó như một giấy ghi nợ IOU do Polymarket phát hành cho USDC gốc - hữu ích trong nền tảng, có thể quy đổi theo yêu cầu, nhưng không có lợi ích gì khi nắm giữ dài hạn trong một ví bên ngoài.
docs.polymarket.com/pusd-audit. Hãy xác minh cả hai trước khi nắm giữ số dư lớn trong dài hạn.Phần 3: Những gì các nhà giao dịch trên web-app nhìn thấy
Nếu bạn chỉ giao dịch qua polymarket.com, quá trình di chuyển là vô hình. Tại block chụp nhanh vào ngày 28 tháng 4 năm 2026:
- Mọi số dư USDC.e được giữ trong một ví proxy của Polymarket đều được chuyển đổi nguyên tử sang pUSD theo tỷ lệ 1:1.
- Các vị thế mở giữ nguyên giá trị bằng đô la, cùng tỷ lệ odds của kết quả, và cùng thời điểm hết hạn. ID token có điều kiện không thay đổi.
- Các lệnh đang chờ được định giá bằng USDC.e đã bị hủy tại thời điểm chụp nhanh. Các lệnh mới sau khi di chuyển sẽ tự động ký bằng pUSD.
- Việc rút tiền sang ví ngoài đã chuyển từ gửi USDC.e sang gửi USDC gốc (hoặc, theo yêu cầu, pUSD thô - hầu hết người dùng không bao giờ cần đến điều này).
Không cần chữ ký, giao dịch hay thay đổi cài đặt nào. Những lệnh giới hạn đang chờ mà bạn quan tâm nên được đặt lại thủ công sau khi di chuyển; việc hủy là một sự kiện chỉ diễn ra một lần.
Phần 4: API và nhà vận hành Bot - Những thay đổi quan trọng
Đây là phần sẽ làm bot bị lỗi nếu bạn không hành động.
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174). Sau khi chuyển đổi, đó là pUSD. Một lệnh được ký theo địa chỉ cũ sẽ thất bại khi xác minh chữ ký tại CLOB và trả về lỗi "invalid người tạo lệnh (maker) asset" hoặc "signature mismatch".Nâng cấp py-clob-client
Polymarket đã phát hành py-clob-client 0.40.0 hai tuần trước thời điểm chuyển đổi với hỗ trợ đầy đủ pUSD. Dòng 0.34.x đã bị ngừng hỗ trợ vào ngày sau khi di chuyển.
# Nâng lên bản phát hành hỗ trợ pUSD
pip install --upgrade "py-clob-client>=0.40.0"
# Xác minh tài sản thế chấp đã được cấu hình
python -c "from py_clob_client.constants import POLYGON; \
print('pUSD address:', POLYGON.get('collateral'))"
SDK mới lấy địa chỉ tài sản thế chấp từ cấu hình chuỗi tại lúc khởi động, vì vậy bạn không cần hard-code bất cứ thứ gì. Nếu bạn đã fork hoặc ghim một phiên bản cũ hơn, cách an toàn nhất là xóa lockfile, cài lại với module constants mới nhất, rồi chạy lại bộ test của bạn.
Phê duyệt lại hạn mức
Ví proxy Polymarket của bạn cần một hạn mức ERC-20 từ tài khoản giao dịch của bạn → hợp đồng CTF Exchange cho token pUSD. Hạn mức cũ dành cho USDC.e vẫn còn trên chuỗi nhưng hoàn toàn vô dụng: CLOB sẽ không dùng nó. Nếu không có hạn mức pUSD mới, mọi lệnh sẽ trả về "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 for Magic-link accounts
)
client.set_api_creds(client.create_or_derive_api_creds())
# One-time: approve pUSD for the CTF Exchange contract
# (Helper added in py-clob-client 0.40)
client.update_balance_allowance(asset_type="COLLATERAL")
Làm mới thông tin xác thực API
Các khóa API hiện có vẫn tiếp tục hoạt động, nhưng nếu bạn đã tạo thông tin xác thực trước ngày 1 tháng 4 thì bạn nên xoay vòng chúng như một biện pháp phòng ngừa: chữ ký ECDSA L1 hiện được gắn với một miền bao gồm địa chỉ tài sản thế chấp mới. Cách đơn giản nhất:
creds = client.create_or_derive_api_creds() # idempotent re-derive
client.set_api_creds(creds)
# Persist to your .env
print(creds.api_key, creds.api_secret, creds.api_passphrase)
Phần 5: Xác minh Bot của Bạn Sau Khi Di chuyển
Chạy bài kiểm tra khói tối thiểu này trước khi để bất kỳ logic xác định kích thước nào hoạt động với tiền thật:
# 1. Xác nhận số dư pUSD trên ví proxy
from py_clob_client.client import ClobClient
client = ClobClient(...) # như trên
balance = client.get_balance_allowance(params={"asset_type": "COLLATERAL"})
print("Số dư pUSD (raw):", balance["balance"])
print("Phê duyệt cho sàn giao dịch:", balance["allowance"])
# 2. Đặt một lệnh giới hạn trị giá $1 ở khá xa mức chạm
from py_clob_client.clob_types import OrderArgs
order = client.create_order(OrderArgs(
token_id=test_token_id,
price=0.05, # không gần thị trường chút nào
size=20, # danh nghĩa $1 tại $0.05
side="BUY",
))
resp = client.post_order(order)
print(resp)
# 3. Hủy và xác nhận
client.cancel(order_id=resp["orderID"])
Nếu cả ba lời gọi đều thành công, kết nối của bạn là tốt: SDK đã ký bằng pUSD, phê duyệt được nhận diện, và sổ lệnh là nhất quán. Tăng dần quy mô trở lại.
Phần 6: Các lỗi thường gặp và cách khắc phục
| Lỗi hoặc triệu chứng | Nguyên nhân | Cách khắc phục |
|---|---|---|
signature verification failed | Lệnh được ký theo miền EIP-712 của USDC.e | Nâng cấp py-clob-client lên 0.40+; tải lại mô-đun constants |
INSUFFICIENT_ALLOWANCE trên mọi lệnh | Không có quyền pUSD từ ví proxy của bạn đến CTF Exchange | Chạy update_balance_allowance(asset_type="COLLATERAL") một lần |
invalid maker asset | Địa chỉ USDC.e được mã hóa cứng vẫn còn trong cấu hình của bạn | Thay bất kỳ địa chỉ tài sản thế chấp nào được mã hóa cứng bằng hằng số của SDK |
| Ví hiển thị số dư USDC.e > 0 sau khi di chuyển | Các token "dust" còn sót lại từ một lần chuyển của bên thứ ba | Chuyển USDC.e ngược lại USDC gốc trên CCTP của Circle, hoặc để nguyên |
| Kết nối lại WebSocket tạo ra sổ lệnh trống | Đăng ký cũ đã dùng trạng thái thị trường lỗi thời từ trước snapshot | Xóa bộ nhớ đệm cục bộ, truy vấn lại sổ lệnh REST, rồi đăng ký lại |
| Rút sang ví ngoài hiển thị pUSD thay vì USDC | Bạn đã chọn "pUSD" thay vì "USDC" trong hộp thoại rút tiền | Chọn "USDC" - cầu nối chuyển đổi pUSD → USDC gốc theo tỷ lệ 1:1 |
Phần 7: Conditional Tokens, Order IDs, và Những Điều Khác Không Thay Đổi
Để giữ phạm vi tái cấu trúc trung thực, dưới đây là danh sách các định danh ổn định trong suốt quá trình di chuyển:
- Hợp đồng Conditional Token (CTF): địa chỉ không đổi. Các vị thế ERC-1155 YES / NO của bạn không bị ảnh hưởng.
- condition_id và question_id: được xác định tất định từ các tham số thị trường; không bị ảnh hưởng bởi việc hoán đổi tài sản thế chấp.
- token_id (kết quả): được suy ra từ condition_id + chỉ số kết quả; không đổi.
- địa chỉ ví proxy của Polymarket: cùng địa chỉ; cùng mã kiểu Gnosis Safe.
- API key, API secret, API passphrase: vẫn hợp lệ (khuyến nghị xoay vòng; không bắt buộc).
- Lược đồ WebSocket: giống hệt; trường
assetmới đọc là "pUSD" thay vì "USDC.e" trong các sự kiện khớp lệnh. - Gamma và Data APIs: không xác thực, không đổi. Chúng chưa bao giờ tham chiếu trực tiếp đến token tài sản thế chấp.
Phần 8: Tác động về thuế và kế toán
Đối với hầu hết các khu vực pháp lý, việc tự động chuyển đổi USDC.e sang pUSD là một hoán đổi cùng loại giữa các đồng stablecoin (stablecoin) neo theo USD theo tỷ lệ 1:1 và không tạo ra sự kiện chịu thuế nào. Cơ sở giá vốn và thời gian nắm giữ của bạn được chuyển tiếp.
Tuy vậy, có hai mục kế toán đáng chú ý:
- Cập nhật lược đồ sổ cái của bạn. Bất kỳ công cụ thuế, sổ cái SQLite, hoặc bản xuất cho kế toán nào lọc các giao dịch Polygon theo hợp đồng USDC.e sẽ âm thầm bỏ sót mọi giao dịch sau khi di chuyển. Hãy thêm địa chỉ hợp đồng pUSD như một bí danh.
- Ghi chú việc chuyển đổi snapshot. Mặc dù trong hầu hết các chế độ quản lý đây không phải là giao dịch chịu thuế, hãy ghi lại rõ ràng việc chuyển đổi trong hồ sơ của bạn: số lượng, block, dấu thời gian, và một ghi chú rằng đây là quá trình di chuyển stablecoin theo tỷ lệ 1:1. Nếu khu vực pháp lý của bạn kiểm tra sau này, bạn sẽ muốn có một dấu vết kiểm toán rõ ràng.
Nhà giao dịch Israel nên tham khảo Hướng dẫn thuế để biết yêu cầu báo cáo cụ thể của ITA; bản thân việc di chuyển không làm thay đổi cách xử lý tiêu chuẩn nhưng việc thay đổi địa chỉ hợp đồng là quan trọng đối với các công cụ báo cáo tự động.
Phần 9: Mẹo chuyên nghiệp từ những người vận hành đã sống qua cuộc chuyển đổi
- Ghim py-clob-client vào
>=0.40,<0.50trong requirements.txt. Dòng 0.40 là mức tối thiểu ký lệnh pUSD đúng cách; ghim giới hạn trên giúp bảo vệ trước một thay đổi gây lỗi trong tương lai. - Phê duyệt lại hạn mức trong một khung giờ khối lượng thấp. Lệnh
update_balance_allowancelà một giao dịch Polygon; thực hiện nó khi thị trường biến động nhanh chẳng khác nào tự chuốc lấy mức phí gas tăng vọt. - Chụp ảnh số dư USDC.e của bạn trước ngày 28 tháng 4. Dù việc chuyển đổi là tự động, một ảnh chụp trước đó có thể kiểm chứng là cách sạch nhất để tranh chấp bất kỳ vấn đề đối soát nào.
- Hủy thủ công các lệnh đang chờ khớp trước khi chụp ảnh. Dù sao chúng cũng đã bị sàn hủy; tự làm việc này sẽ cho bạn một mục sổ cái rõ ràng thay vì dòng "system cancel".
- Chú ý các bảng điều khiển lỗi thời. Các bảng điều khiển Polymarket của bên thứ ba (PolymarketAnalytics, Polynance, v.v.) mất hai đến ba ngày để phân tích lại các sự kiện pUSD. Cơ sở dữ liệu cục bộ của bot bạn có thể đi trước các bảng điều khiển công khai trong vài ngày.
- Chuyển phần USDC.e lẻ vụn theo lịch của bạn. Phần lớn tài khoản có vài xu USDC.e còn lại từ các khoản hoàn phí cũ hoặc chuyển tiền ngang hàng. Dùng CCTP của Circle hoặc cầu Polygon Portal tiêu chuẩn - không cần vội.
- Giữ địa chỉ USDC.e cũ trong cảnh báo của trình khám phá khối. Nếu bất cứ khi nào có gì đó rút từ ví proxy của bạn bằng USDC.e sau khi di chuyển, đó là một dấu hiệu đỏ đáng để điều tra ngay lập tức.
Sắp tới là gì?
- Hướng dẫn API Polymarket - hướng dẫn API đầy đủ, đã cập nhật cho pUSD
- Hướng dẫn nạp tiền - nạp USDC và nhận pUSD ngay trong ứng dụng
- Hướng dẫn rút tiền - rút pUSD dưới dạng USDC gốc sang ví ngoài
- Công cụ & Tài nguyên - các bảng điều khiển của bên thứ ba hiện đã được cập nhật cho pUSD
- Bảng thuật ngữ - định nghĩa dễ hiểu cho mọi thuật ngữ được dùng ở đây
Điểm chính
Việc di chuyển sang pUSD của Polymarket là một lần tái cấu trúc ít rủi ro cho bất kỳ nhà vận hành nào đã chạy bot Polymarket. Chỉ cần nâng py-clob-client lên 0.40+, cấp lại quyền cho các khoản cho phép pUSD, chạy một bài kiểm tra nhanh $1, rồi tiếp tục. Hạ tầng bên dưới (CTF, condition IDs, token IDs, API keys) không thay đổi, nên phạm vi ảnh hưởng nhỏ và phương án rollback rất rõ ràng.











