Bab 36 dari 36

Versi Singkat

Pada 28 April 2026, Polymarket memigrasikan jaminan settlement-nya di Polygon dari USDC.e (token USDC terjembatani, kontrak 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) ke pUSD, stablecoin (stablecoin) yang diterbitkan Polymarket dan dapat ditebus 1:1 untuk native USDC. Para trader aplikasi web tidak perlu melakukan apa pun - saldo dan posisi dikonversi otomatis pada blok snapshot. Operator API dan bot harus memperbarui: alamat aset jaminan di dalam setiap tanda tangan order CLOB berubah, order lama yang ditandatangani terhadap USDC.e dibatalkan, dan py-clob-client 0.40 atau yang lebih baru diperlukan. Panduan ini menjelaskan langkah demi langkah kode, kontrak, dan perubahan persetujuan yang tepat yang diperlukan agar bot tetap berjalan selama dan setelah cutover.

Yang akan Anda pelajari: mengapa Polymarket beralih dari USDC.e, apa yang berubah di tingkat kontrak, jalur upgrade py-clob-client yang tepat, cara menyetujui ulang allowance untuk jaminan baru, cara memverifikasi saldo Anda setelah swap, dan cara menangani sisa USDC.e lama yang kini dimiliki sebagian besar akun.
Prasyarat: Anda seharusnya sudah memiliki akun Polymarket yang berfungsi, pemahaman dasar tentang kontrak Polygon, dan bot yang sudah ada atau alur kerja API manual yang dibuat sebelum 28 April 2026. Jika Anda baru mulai sekarang, cukup instal SDK terbaru dan lanjut ke Bab Empat - Anda tidak akan pernah perlu menyentuh USDC.e.
01
Bab Satu

Bagian 1: Tiga stablecoin (stablecoin), Satu Polygon

Sebelum migrasi, tiga stablecoin USD berada di orbit Polymarket di Polygon. Mengetahui perbedaannya adalah langkah pertama untuk memahami mengapa Polymarket berpindah tempat.

TokenPenerbitKontrak di PolygonJenis cadangan
USDC.ePolygon PoS bridge0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174Dijembatani dari Ethereum mainnet
USDC (native)Circle0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359Native, diterbitkan langsung di Polygon
pUSDPerbendaharaan PolymarketLihat docs.polymarket.com/pusdDidukung 1:1 oleh native USDC, atestasi bulanan

Polymarket awalnya memilih USDC.e karena itu adalah varian USDC yang dominan di Polygon saat peluncuran pada 2020. Circle kemudian menerbitkan USDC native langsung di Polygon dan memberi sinyal penghentian bertahap pada varian yang dijembatani. Terus menyelesaikan setiap pasar dalam USDC.e mengekspos Polymarket pada risiko ekor panjang dari penutupan bridge secara tiba-tiba. Bermigrasi ke stablecoin yang dikendalikan Polymarket menyelesaikan hal itu dan membuka fitur produk masa depan (misalnya, margin perps, deposit vault, tanda terima lintas chain) yang berbagi unit akun yang sama.

02
Bab Dua

Bagian 2: Apa Itu pUSD (dan Bukan)

pUSD adalah token ERC-20 standar di Polygon (chain id 137) dengan 6 desimal, presisi yang sama seperti USDC. Token ini hanya dapat dicetak oleh kontrak Polymarket Treasury dan dapat ditebus 1:1 untuk USDC native kapan saja, tanpa biaya untuk konversi tersebut (biaya gas jaringan tetap berlaku). Cadangan yang mendukung pUSD disimpan di akun terpisah dan dilaporkan setiap bulan dengan attestation pihak ketiga.

pUSD bukan stablecoin (stablecoin) algoritmik, tidak over-collateralized dengan kripto, dan tidak menghasilkan imbal hasil. Jika Anda memegang pUSD di luar Polymarket, Anda sebaiknya menganggapnya sebagai IOU yang diterbitkan Polymarket untuk USDC native - berguna di dalam platform, dapat ditebus saat diminta, tetapi tidak ada keuntungan menyimpannya dalam jangka panjang di wallet eksternal.

Audit dan cadangan: smart contract pUSD telah diaudit oleh auditor tetap Polymarket. Laporan attestation cadangan dipublikasikan di docs.polymarket.com/pusd-audit setiap bulan. Verifikasi keduanya sebelum memegang saldo besar dalam jangka panjang.
03
Bab Tiga

Bagian 3: Apa yang Dilihat Trader Web-App

Jika Anda hanya trading melalui polymarket.com, migrasinya tidak terlihat. Pada blok snapshot tanggal 28 April 2026:

  • Setiap saldo USDC.e yang disimpan di proxy wallet Polymarket dikonversi secara atomik menjadi pUSD dengan rasio 1:1.
  • Posisi terbuka mempertahankan nilai dolar yang sama, odds hasil yang sama, dan waktu kedaluwarsa yang sama. ID token kondisional tidak berubah.
  • Order yang masih terpasang dan didenominasi dalam USDC.e dibatalkan pada snapshot. Order baru setelah migrasi akan menandatangani pUSD secara otomatis.
  • Penarikan ke wallet eksternal beralih dari mengirim USDC.e menjadi mengirim native USDC (atau, jika diminta, pUSD mentah - sebagian besar pengguna tidak pernah membutuhkannya).

Tidak diperlukan tanda tangan, transaksi, atau perubahan pengaturan. order batas (limit order) yang masih terpasang dan penting bagi Anda sebaiknya ditempatkan ulang secara manual setelah migrasi; pembatalan tersebut adalah kejadian satu kali.

04
Bab Empat

Bagian 4: Operator API dan Bot - Perubahan Penting

Ini adalah bagian yang akan membuat bot rusak jika Anda tidak bertindak.

Apa yang berubah dalam signature order: Order CLOB ditandatangani melalui EIP-712 dan mereferensikan alamat aset jaminan sebagai bagian dari typed data. Sebelum migrasi, alamat itu adalah USDC.e (0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174). Setelah migrasi, alamatnya adalah pUSD. Order yang ditandatangani terhadap alamat lama akan gagal dalam verifikasi signature di CLOB dan menampilkan error "invalid pembuat pasar (maker) asset" atau "signature mismatch".

Upgrade py-clob-client

Polymarket merilis py-clob-client 0.40.0 dua minggu sebelum cutover dengan dukungan pUSD penuh. Rangkaian 0.34.x dihentikan sehari setelah migrasi.

# Naikkan ke rilis yang mendukung pUSD
pip install --upgrade "py-clob-client>=0.40.0"

# Verifikasi aset jaminan yang terhubung
python -c "from py_clob_client.constants import POLYGON; \
print('pUSD address:', POLYGON.get('collateral'))"

SDK baru mengambil alamat jaminan dari konfigurasi chain saat startup, jadi Anda tidak perlu meng-hard-code apa pun. Jika Anda melakukan fork atau mengunci versi yang lebih lama, langkah paling aman adalah menghapus lockfile, menginstal ulang dengan modul constants terbaru, dan menjalankan ulang test suite Anda.

Perbarui persetujuan allowance

Proxy wallet Polymarket Anda membutuhkan allowance ERC-20 dari akun trading Anda → kontrak CTF Exchange untuk token pUSD. Allowance lama untuk USDC.e masih ada di chain tetapi sama sekali tidak berguna: CLOB tidak akan memakainya. Tanpa allowance pUSD yang baru, setiap order akan menampilkan "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 untuk akun Magic-link
)
client.set_api_creds(client.create_or_derive_api_creds())

# Sekali saja: approve pUSD untuk kontrak CTF Exchange
# (Helper ditambahkan di py-clob-client 0.40)
client.update_balance_allowance(asset_type="COLLATERAL")

Segarkan kredensial API

API key yang sudah ada tetap berfungsi, tetapi jika Anda menurunkan kredensial sebelum 1 April, Anda sebaiknya memutarnya sebagai tindakan pencegahan: signature ECDSA L1 sekarang terikat pada domain yang mencakup alamat jaminan baru. Jalur paling sederhana:

creds = client.create_or_derive_api_creds()  # derive ulang yang idempotent
client.set_api_creds(creds)

# Simpan ke .env Anda
print(creds.api_key, creds.api_secret, creds.api_passphrase)
05
Bab Lima

Bagian 5: Memverifikasi Bot Anda Pasca-Migrasi

Jalankan smoke test minimal ini sebelum membiarkan logika sizing apa pun lepas pada uang sungguhan:

# 1. Pastikan saldo pUSD di proxy wallet
from py_clob_client.client import ClobClient
client = ClobClient(...)  # seperti di atas
balance = client.get_balance_allowance(params={"asset_type": "COLLATERAL"})
print("Saldo pUSD (raw):", balance["balance"])
print("Allowance ke exchange:", balance["allowance"])

# 2. Pasang limit order $1 jauh di luar harga terdekat
from py_clob_client.clob_types import OrderArgs
order = client.create_order(OrderArgs(
    token_id=test_token_id,
    price=0.05,        # sama sekali tidak dekat dengan pasar
    size=20,           # nilai nominal $1 pada $0.05
    side="BUY",
))
resp = client.post_order(order)
print(resp)

# 3. Batalkan dan konfirmasi
client.cancel(order_id=resp["orderID"])

Jika ketiga panggilan berhasil, koneksi Anda sudah benar: SDK menandatangani terhadap pUSD, allowance dikenali, dan buku order konsisten. Naikkan skala kembali secara bertahap.

Atur waktu upgrade dengan hati-hati: jika Anda menjalankan bot terus-menerus melewati blok snapshot, status buku order lokal Anda kemungkinan besar menyimpang. Selalu lakukan rekonsiliasi terhadap snapshot REST setelah perubahan venue besar sebelum mengutip ukuran.
06
Bab Enam

Bagian 6: Kesalahan Umum dan Perbaikannya

Kesalahan atau gejalaPenyebabPerbaikan
signature verification failedOrder ditandatangani terhadap domain EIP-712 USDC.eUpgrade py-clob-client ke 0.40+; muat ulang modul constants
INSUFFICIENT_ALLOWANCE pada setiap orderTidak ada allowance pUSD dari proxy Anda ke CTF ExchangeJalankan update_balance_allowance(asset_type="COLLATERAL") sekali
invalid maker assetAlamat USDC.e yang di-hard-code masih ada di konfigurasi AndaGanti alamat collateral yang di-hard-code dengan konstanta SDK
Wallet menunjukkan saldo USDC.e > 0 setelah migrasiToken "dust" tersisa dari transfer pihak ketigaBridge USDC.e kembali ke USDC native di CCTP Circle, atau biarkan saja
Reconnect WebSocket menghasilkan buku kosongSubscription lama menggunakan status pasar yang stale dari sebelum snapshotBuang cache lokal, ambil ulang buku REST, lalu subscribe kembali
Withdraw ke wallet eksternal menampilkan pUSD alih-alih USDCAnda memilih "pUSD" alih-alih "USDC" di modal withdrawPilih "USDC" - bridge mengonversi pUSD → USDC native pada 1:1
07
Bab Tujuh

Bagian 7: Conditional Tokens, Order ID, dan Hal Lain yang Tidak Berubah

Untuk menjaga ruang refactor tetap jujur, berikut adalah daftar identifier yang stabil di seluruh migrasi:

  • Kontrak Conditional Token (CTF): alamat identik. Posisi YES / NO ERC-1155 Anda tidak berubah.
  • condition_id dan question_id: deterministik dari parameter pasar; tidak terpengaruh oleh swap agunan.
  • token_id (hasil): diturunkan dari condition_id + indeks hasil; tidak berubah.
  • alamat proxy wallet Polymarket: alamat yang sama; kode bergaya Gnosis Safe yang sama.
  • API key, API secret, API passphrase: masih valid (disarankan untuk rotasi; tidak wajib).
  • Skema WebSocket: identik; field asset baru membaca "pUSD" вместо "USDC.e" dalam event fill.
  • API Gamma dan Data: tidak memerlukan autentikasi, tidak berubah. Keduanya tidak pernah mereferensikan token agunan secara langsung.
Satu perubahan UI kecil: tampilan proxy wallet Polymarket sekarang menampilkan saldo dalam pUSD, dengan label USD 1:1. Block explorer (PolygonScan, API Polygonscan) menampilkan transfer pUSD ERC-20 dalam riwayat transaksi proxy wallet. Transfer USDC.e lama tetap terlihat dalam riwayat; alamat Anda hanya akan memiliki dua baris token ERC-20 untuk sementara.
08
Bab Delapan

Bagian 8: Implikasi Pajak dan Pembukuan

Untuk sebagian besar yurisdiksi, auto-conversion USDC.e ke pUSD adalah swap sejenis dari stablecoin (stablecoin) yang dipatok ke USD pada rasio 1:1 dan tidak menghasilkan peristiwa kena pajak. Basis biaya dan periode kepemilikan Anda tetap terbawa.

Meski begitu, ada dua hal pembukuan yang perlu diperhatikan:

  1. Perbarui skema buku besar Anda. Alat pajak apa pun, ledger SQLite, atau ekspor akuntan yang memfilter transaksi Polygon berdasarkan kontrak USDC.e akan secara diam-diam melewatkan setiap transaksi pasca-migrasi. Tambahkan alamat kontrak pUSD sebagai alias.
  2. Catat konversi snapshot. Meskipun tidak kena pajak di sebagian besar rezim, catat konversi tersebut secara eksplisit dalam catatan Anda: jumlah, block, cap waktu, dan catatan bahwa ini adalah migrasi stablecoin 1:1. Jika yurisdiksi Anda menanyakannya nanti, Anda ingin memiliki jejak audit yang rapi.

Trader Israel harus berkonsultasi dengan Panduan Pajak untuk pelaporan khusus ITA; migrasi itu sendiri tidak mengubah perlakuan standar, tetapi perubahan alamat kontrak penting untuk alat pelaporan otomatis.

09
Bab Sembilan

Bagian 9: Tips Pro dari Operator yang Menjalani Peralihan Ini

  1. Pin py-clob-client ke >=0.40,<0.50 di requirements.txt. Rilis 0.40 adalah minimum yang menandatangani order pUSD dengan benar; memberi batas atas melindungi dari perubahan breaking di masa depan.
  2. Lakukan re-approve allowance selama jendela volume rendah. Panggilan update_balance_allowance adalah satu transaksi Polygon; melakukannya saat pergerakan pasar cepat sama saja mengundang lonjakan biaya gas.
  3. Snapshot saldo USDC.e Anda sebelum 28 April. Meskipun konversi berjalan otomatis, snapshot awal yang dapat diverifikasi adalah cara paling rapi untuk menyengketakan masalah rekonsiliasi apa pun.
  4. Batalkan order yang masih menunggu secara manual sebelum snapshot. Order tersebut tetap dibatalkan oleh venue; melakukannya sendiri memberi Anda entri buku besar yang bersih alih-alih baris "system cancel".
  5. Waspadai dashboard yang belum diperbarui. Dashboard Polymarket pihak ketiga (PolymarketAnalytics, Polynance, dll.) butuh dua hingga tiga hari untuk mengurai ulang event pUSD. Database lokal bot Anda mungkin lebih dulu beberapa hari dibanding dashboard publik.
  6. Bridge sisa kecil USDC.e sesuai jadwal Anda sendiri. Sebagian besar akun memiliki beberapa sen USDC.e sisa dari rabat biaya lama atau transfer antar pengguna. Gunakan CCTP Circle atau bridge Polygon Portal standar - tidak perlu buru-buru.
  7. Simpan alamat USDC.e lama di alert block explorer Anda. Jika suatu saat ada sesuatu yang menyapu dari proxy Anda dalam USDC.e setelah migrasi, itu tanda bahaya yang layak langsung diselidiki.

Apa Selanjutnya?

Intisari utama

Migrasi pUSD Polymarket adalah refaktor satu kali berisiko rendah bagi operator mana pun yang уже menjalankan bot Polymarket. Tingkatkan py-clob-client ke 0.40+, setujui ulang allowance pUSD, jalankan smoke test $1, dan lanjutkan. Infrastruktur di bawahnya (CTF, condition IDs, token IDs, API keys) tidak berubah, jadi cakupannya kecil dan cerita rollback-nya jelas.