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.

Bạn sẽ học được: vì sao Polymarket rời bỏ USDC.e, điều gì đã thay đổi ở cấp độ hợp đồng, lộ trình nâng cấp chính xác của py-clob-client, cách phê duyệt lại hạn mức cho tài sản ký quỹ mới, cách xác minh số dư của bạn sau khi hoán đổi, và cách xử lý lượng USDC.e vụn còn lại mà hầu hết tài khoản hiện đang nắm giữ.
Điều kiện tiên quyết: bạn nên đã có một tài khoản Polymarket hoạt động, quen thuộc cơ bản với các hợp đồng Polygon, và có sẵn một bot hoặc quy trình API thủ công đã tồn tại trước ngày 28 tháng 4 năm 2026. Nếu bạn đang bắt đầu từ đầu hôm nay, chỉ cần cài đặt SDK mới nhất và chuyển đến Chương Bốn - bạn sẽ không bao giờ cần chạm vào USDC.e.
01
Chương Một

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.

TokenNhà phát hànhHợp đồng trên PolygonLoại dự trữ
USDC.ePolygon PoS bridge0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174Được cầu nối từ mainnet Ethereum
USDC (native)Circle0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359Native, được phát hành trực tiếp trên Polygon
pUSDPolymarket TreasuryXem 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.

02
Chương Hai

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.

Kiểm toán và dự trữ: hợp đồng thông minh pUSD đã được các kiểm toán viên thường trực của Polymarket kiểm toán. Các báo cáo xác nhận dự trữ được công bố hàng tháng tạ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.
03
Chương Ba

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.

04
Chương Bố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.

Điều đã thay đổi trong chữ ký lệnh: Các lệnh CLOB được ký qua EIP-712 và tham chiếu địa chỉ tài sản thế chấp như một phần của dữ liệu đã gõ kiểu. Trước khi chuyển đổi, địa chỉ đó là USDC.e (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)
05
Chương Năm

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.

Hãy chọn thời điểm nâng cấp cẩn thận: nếu bạn đã chạy bot liên tục qua khối chụp nhanh, trạng thái sổ lệnh cục bộ của bạn có thể đã lệch. Luôn đối chiếu với các ảnh chụp nhanh REST sau một thay đổi lớn của nền tảng trước khi báo giá quy mô.
06
Chương Sáu

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ứngNguyên nhânCách khắc phục
signature verification failedLệnh được ký theo miền EIP-712 của USDC.eNâng cấp py-clob-client lên 0.40+; tải lại mô-đun constants
INSUFFICIENT_ALLOWANCE trên mọi lệnhKhông có quyền pUSD từ ví proxy của bạn đến CTF ExchangeChạ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ạnThay 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ểnCác token "dust" còn sót lại từ một lần chuyển của bên thứ baChuyể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 snapshotXó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ì USDCBạn đã chọn "pUSD" thay vì "USDC" trong hộp thoại rút tiềnChọn "USDC" - cầu nối chuyển đổi pUSD → USDC gốc theo tỷ lệ 1:1
07
Chương Bảy

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 asset mớ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.
Một thay đổi nhỏ về giao diện: chế độ xem ví proxy của Polymarket giờ hiển thị số dư bằng pUSD, với nhãn USD 1:1. Các trình khám phá khối (PolygonScan, Polygonscan API) hiển thị các giao dịch chuyển pUSD ERC-20 trong lịch sử giao dịch của ví proxy. Các giao dịch USDC.e cũ vẫn hiển thị trong lịch sử; địa chỉ của bạn chỉ đơn giản sẽ có hai dòng token ERC-20 trong một thời gian.
08
Chương Tám

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ú ý:

  1. 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.
  2. 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.

09
Chương Chín

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

  1. Ghim py-clob-client vào >=0.40,<0.50 trong 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.
  2. Phê duyệt lại hạn mức trong một khung giờ khối lượng thấp. Lệnh update_balance_allowance là 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.
  3. 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.
  4. 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".
  5. 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.
  6. 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.
  7. 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ì?

Đ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.