Kabanata 36 ng 36
Maikling Bersyon
Noong Abril 28, 2026, inilipat ng Polymarket ang kolateral (collateral) para sa settlement nito sa Polygon mula sa USDC.e (ang naka-bridge na USDC token, contract 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174) tungo sa pUSD, isang stablecoin (stablecoin) na inilabas ng Polymarket na maaring tubusin nang 1:1 para sa native USDC. Walang kinailangang gawin ang mga trader sa web app - awtomatikong na-convert ang mga balanse at posisyon sa snapshot block. Kailangang mag-update ang mga operator ng API at bot: nagbago ang asset address ng collateral sa loob ng bawat CLOB order signature, nakansela ang mga lumang order na nilagdaan laban sa USDC.e, at kinakailangan ang py-clob-client 0.40 o mas bago. Ipinapakita ng gabay na ito ang eksaktong code, contract, at mga pagbabagong kailangan sa approval para mapatakbo ang bot sa panahon at pagkatapos ng cutover.
Bahagi 1: Tatlong stablecoin (stablecoin), Isang Polygon
Bago ang paglipat, may tatlong USD stablecoin sa orbit ng Polymarket sa Polygon. Ang pag-alam sa pagkakaiba ng mga ito ang unang hakbang sa pag-unawa kung bakit lumipat ng venue ang Polymarket.
| Token | Issuer | Contract on Polygon | Uri ng reserve |
|---|---|---|---|
| USDC.e | Polygon PoS bridge | 0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174 | Inilipat mula sa Ethereum mainnet |
| USDC (native) | Circle | 0x3c499c542cEF5E3811e1192ce70d8cC03d5c3359 | Native, direktang inisyu sa Polygon |
| pUSD | Polymarket Treasury | Tingnan ang docs.polymarket.com/pusd | 1:1 na sinusuportahan ng native USDC, buwanang attestation |
Sa simula, pinili ng Polymarket ang USDC.e dahil ito ang nangingibabaw na bersyon ng USDC sa Polygon noong ilunsad noong 2020. Kalaunan, naglabas ang Circle ng native na USDC nang direkta sa Polygon at nagpahiwatig ng kalaunang pag-phase out ng bridged na bersyon. Ang patuloy na pag-settle ng bawat market sa USDC.e ay naglantad sa Polymarket sa long-tail na panganib ng biglaang pagwawakas ng bridge. Ang paglipat sa stablecoin na kontrolado ng Polymarket ay lumulutas doon at nagbubukas ng mga hinaharap na feature ng produkto (hal., perps margin, mga deposit sa vault, cross-chain receipt) na gumagamit ng parehong yunit ng account.
Bahagi 2: Ano ang pUSD (at Ano ang Hindi Ito)
Ang pUSD ay isang karaniwang ERC-20 token sa Polygon (chain id 137) na may 6 na decimal, kapareho ng precision ng USDC. Maaari lamang itong i-mint ng Polymarket Treasury contract at puwedeng i-redeem nang 1:1 para sa native USDC anumang oras, nang walang fee sa conversion (mag-a-apply pa rin ang network gas). Ang reserve na sumusuporta sa pUSD ay iniingatan sa mga hiwalay na account at nirereport buwan-buwan na may third-party attestation.
Ang pUSD ay hindi algorithmic stablecoin (stablecoin), hindi ito over-collateralized gamit ang crypto, at hindi ito yield-bearing. Kung may hawak kang pUSD sa labas ng Polymarket, dapat mo itong ituring bilang IOU na inisyu ng Polymarket para sa native USDC - kapaki-pakinabang sa loob ng platform, puwedeng i-redeem kapag hinihingi, pero walang benepisyo ang paghawak nito nang pangmatagalan sa isang external wallet.
docs.polymarket.com/pusd-audit kada buwan. I-verify ang pareho bago maghawak ng malalaking balanse nang pangmatagalan.Bahagi 3: Ang Nakita ng mga Trader sa Web App
Kung sa polymarket.com ka lang nagte-trade, hindi napansin ang migration. Sa snapshot block noong Abril 28, 2026:
- Ang bawat USDC.e balance na hawak sa isang Polymarket proxy wallet ay awtomatikong kinonbert sa pUSD sa 1:1.
- Nanatili ang parehong dollar value, parehong odds ng kinalabasan, at parehong expiry ng mga bukas na posisyon. Hindi nagbago ang mga conditional token ID.
- Ang mga resting order na naka-denominate sa USDC.e ay kinansela sa snapshot. Ang mga bagong order pagkatapos ng migration ay awtomatikong pumipirma gamit ang pUSD.
- Ang mga withdrawal papunta sa mga external wallet ay nagpalit mula sa pagpapadala ng USDC.e patungo sa pagpapadala ng native USDC (o, kapag hiniling, raw pUSD - karamihan sa mga user ay hindi na kailangang gawin ito).
Walang kinakailangang signature, transaction, o pagbabago sa settings. Ang mga resting limit na order na mahalaga sa iyo ay dapat muling ilagay nang manu-mano pagkatapos ng migration; ang pagkansela ay isang beses lang na pangyayari.
Bahagi 4: Mga Operator ng API at Bot - Mga Kritikal na Pagbabago
Ito ang bahaging sisira sa isang bot kung hindi ka kikilos.
0x2791Bca1f2de4661ED88A30C99A7a9449Aa84174). Pagkatapos ng migration, ito ay pUSD. Ang isang order na nilagdaan laban sa lumang address ay mabibigo sa beripikasyon ng lagda sa CLOB at magbabalik ng error na "invalid maker (maker) asset" o "signature mismatch".I-upgrade ang py-clob-client
Inilabas ng Polymarket ang py-clob-client 0.40.0 dalawang linggo bago ang cutover na may buong suporta sa pUSD. Ang linya ng 0.34.x ay itinigil kinabukasan pagkatapos ng migration.
# I-upgrade sa isang release na aware sa pUSD
pip install --upgrade "py-clob-client>=0.40.0"
# I-verify ang naka-wire na collateral asset
python -c "from py_clob_client.constants import POLYGON; \
print('pUSD address:', POLYGON.get('collateral'))"
Kinukuha ng bagong SDK ang address ng collateral mula sa configuration ng chain sa pagsisimula, kaya hindi mo kailangang mag-hard-code ng anuman. Kung nag-fork ka o nag-pin ng mas lumang bersyon, ang pinakaligtas na hakbang ay burahin ang lockfile, mag-install muli gamit ang pinakabagong constants module, at patakbuhin muli ang iyong test suite.
Muling i-approve ang mga allowance
Kailangan ng iyong Polymarket proxy wallet ng ERC-20 allowance mula sa iyong trading account → kontrata ng CTF Exchange para sa token na pUSD. Ang lumang allowance para sa USDC.e ay nandoon pa rin sa chain pero wala nang silbi: hindi ito gagamitin ng CLOB. Kung walang bagong pUSD allowance, magbabalik ang bawat order ng "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 para sa Magic-link accounts
)
client.set_api_creds(client.create_or_derive_api_creds())
# Isang beses lang: i-approve ang pUSD para sa kontrata ng CTF Exchange
# (Helper na idinagdag sa py-clob-client 0.40)
client.update_balance_allowance(asset_type="COLLATERAL")
I-refresh ang mga kredensyal ng API
Patuloy na gagana ang mga umiiral na API key, pero kung nag-derive ka ng mga kredensyal bago ang Abril 1, dapat mo silang i-rotate bilang pag-iingat: ang L1 ECDSA signature ay naka-bind na ngayon sa isang domain na kasama ang bagong collateral address. Ang pinakasimpleng paraan:
creds = client.create_or_derive_api_creds() # idempotent na muling pag-derive
client.set_api_creds(creds)
# I-save sa iyong .env
print(creds.api_key, creds.api_secret, creds.api_passphrase)
Bahagi 5: Pagberipika sa Iyong Bot Pagkatapos ng Migrasyon
Patakbuhin ang minimal na smoke test na ito bago pahintulutang gumana ang anumang sizing logic gamit ang totoong pera:
# 1. Kumpirmahin ang pUSD balance sa proxy wallet
from py_clob_client.client import ClobClient
client = ClobClient(...) # gaya sa itaas
balance = client.get_balance_allowance(params={"asset_type": "COLLATERAL"})
print("pUSD balance (raw):", balance["balance"])
print("Allowance to exchange:", balance["allowance"])
# 2. Maglagay ng limit na order na $1 na malayo sa touch
from py_clob_client.clob_types import OrderArgs
order = client.create_order(OrderArgs(
token_id=test_token_id,
price=0.05, # malayo sa market
size=20, # $1 na notional sa $0.05
side="BUY",
))
resp = client.post_order(order)
print(resp)
# 3. Kanselahin at kumpirmahin
client.cancel(order_id=resp["orderID"])
Kung matagumpay ang lahat ng tatlong tawag, maayos ang iyong koneksyon: pumirma ang SDK laban sa pUSD, kinikilala ang allowance, at konsistent ang order ledger. Unti-unting taasan muli ang sukat.
Bahagi 6: Mga Karaniwang Pagkakamali at mga Ayos
| Error o sintomas | Dahilan | Ayos |
|---|---|---|
signature verification failed | Naka-sign ang order laban sa domain ng USDC.e EIP-712 | I-upgrade ang py-clob-client sa 0.40+; i-reload ang module ng constants |
INSUFFICIENT_ALLOWANCE sa bawat order | Walang pUSD allowance mula sa iyong proxy papunta sa CTF Exchange | Patakbuhin ang update_balance_allowance(asset_type="COLLATERAL") nang isang beses |
invalid maker asset | Naka-hard-code pa rin sa iyong config ang USDC.e address | Palitan ang anumang naka-hard-code na collateral address ng constant ng SDK |
| Ang wallet ay nagpapakita ng USDC.e balance > 0 pagkatapos ng migration | Mga natirang "dust" token mula sa transfer ng third party | I-bridge ang USDC.e pabalik sa native USDC sa CCTP ng Circle, o hayaan na lang ito |
| Ang muling pagkonekta ng WebSocket ay nagbubunga ng walang laman na book | Gumamit ang lumang subscription ng lumang market state mula bago ang snapshot | I-drop ang lokal na cache, kuning muli ang REST book, tapos mag-resubscribe |
| Ang pag-withdraw sa external wallet ay nagpapakita ng pUSD sa halip na USDC | Pinili mo ang "pUSD" sa halip na "USDC" sa withdraw modal | Piliin ang "USDC" - kino-convert ng bridge ang pUSD → native USDC nang 1:1 |
Bahagi 7: Mga Conditional Token, Order ID, at Iba Pang Mga Bagay na Hindi Nagbago
Para mapanatiling tapat ang saklaw ng refactor, narito ang listahan ng mga identifier na matatag sa buong migration:
- Conditional Token contract (CTF): kaparehong address. Hindi nagalaw ang iyong mga YES / NO na posisyon sa ERC-1155.
- condition_id at question_id: deterministiko mula sa mga parameter ng market; hindi naapektuhan ng pagpapalit ng kolateral (collateral).
- token_id (kinalabasan): hinango mula sa condition_id + index ng kinalabasan; walang pagbabago.
- Polymarket proxy wallet address: parehong address; parehong code na gaya ng Gnosis Safe.
- API key, API secret, API passphrase: valid pa rin (inirerekomendang i-rotate; hindi kailangan).
- WebSocket schemas: kapareho; ang bagong
assetfield ay nagbabasa ng "pUSD" sa halip na "USDC.e" sa mga fill event. - Gamma at Data APIs: hindi nangangailangan ng authentication, walang pagbabago. Hindi nila kailanman direktang tinukoy ang collateral token.
Bahagi 8: Mga Implikasyon sa Buwis at Bookkeeping
Para sa karamihan ng mga hurisdiksiyon, ang awtomatikong pag-convert ng USDC.e sa pUSD ay isang like-kind swap ng mga stablecoin (stablecoin) na naka-peg sa USD sa 1:1 at hindi lumilikha ng anumang taxable event. Ang iyong cost basis at holding period ay magpapatuloy.
Gayunman, may dalawang usapin sa bookkeeping na dapat bigyang-pansin:
- I-update ang iyong ledger schema. Anumang tax tool, SQLite ledger, o export para sa accountant na nagfi-filter ng mga transaksyon sa Polygon ayon sa contract ng USDC.e ay tahimik na makakaligtaan ang bawat transaksyon pagkatapos ng migration. Idagdag ang address ng contract ng pUSD bilang alias.
- I-annotate ang snapshot conversion. Kahit na hindi ito taxable sa karamihan ng mga regime, itala nang malinaw ang conversion sa iyong mga record: halaga, block, timestamp, at isang tala na ito ay 1:1 stablecoin migration. Kung tanungin ito ng iyong hurisdiksiyon sa hinaharap, gusto mong may malinis na audit trail.
Dapat kumonsulta ang mga trader sa Israel sa Tax Guide para sa report na partikular sa ITA; hindi binabago ng migration mismo ang karaniwang pagtrato ngunit mahalaga ang pagbabago ng address ng contract para sa mga automated na tool sa pag-uulat.
Bahagi 9: Mga Pro Tip Mula sa mga Operator na Nakaabot sa Switch
- I-pin ang py-clob-client sa
>=0.40,<0.50sa requirements.txt. Ang 0.40 line ang minimum na tama ang paglagda sa mga pUSD order; ang pag-pin sa itaas na hangganan ay proteksiyon laban sa isang susunod na breaking change. - Muling i-approve ang mga allowance sa panahon ng mababang volume. Ang tawag na
update_balance_allowanceay isang Polygon transaction; ang paggawa nito habang mabilis ang galaw ng merkado ay pag-anyaya sa pagtaas ng gas fee. - Kumuha ng snapshot ng balanse mong USDC.e bago ang Abril 28. Kahit awtomatiko ang conversion, ang mapapatunayang pre-snapshot na balanse ang pinakamalinis na paraan para i-dispute ang anumang isyu sa reconciliation.
- Kanselahin nang manu-mano ang mga nakahimpil na order bago ang snapshot. Kinaselna rin naman sila ng venue; ang ikaw mismo ang gumawa nito ay magbibigay sa iyo ng malinis na ledger entry imbes na isang linyang "system cancel".
- Bantayan ang mga dashboard na hindi pa napapanahon. Ang mga third-party na dashboard ng Polymarket (PolymarketAnalytics, Polynance, atbp.) ay inabot ng dalawa hanggang tatlong araw bago muling i-parse ang mga pUSD event. Maaaring mauna ang lokal na DB ng iyong bot kaysa sa mga pampublikong dashboard sa loob ng ilang araw.
- I-bridge ang natitirang USDC.e ayon sa sarili mong iskedyul. Karamihan sa mga account ay may ilang sentimo ng natitirang USDC.e mula sa mga dating rebate sa fee o peer transfer. Gamitin ang CCTP ng Circle o ang standard na Polygon Portal bridge - walang pagmamadali.
- Panatilihin ang lumang USDC.e address sa mga alerto mo sa block explorer. Kung sakaling may mag-sweep mula sa iyong proxy sa USDC.e pagkatapos ng migration, malaking red flag iyon na dapat siyasatin agad.
Ano ang Susunod?
- Patnubay sa Polymarket API - ang buong patnubay sa API, na inupdate para sa pUSD
- Patnubay sa Pagdeposito - pagdedeposito ng USDC at pagtanggap ng pUSD sa loob ng app
- Patnubay sa Pag-withdraw - pagwi-withdraw ng pUSD bilang native USDC patungo sa panlabas na wallet
- Mga Kasangkapan at Mga Mapagkukunan - mga third-party dashboard na inupdate na ngayon para sa pUSD
- Glossary - mga depinisyon sa payak na Ingles para sa bawat terminong ginamit dito
Mahahalagang punto
Ang migrasyon ng pUSD ng Polymarket ay isang low-risk na one-time refactor para sa sinumang operator na nagpapatakbo na ng Polymarket bot. I-upgrade ang py-clob-client sa 0.40+, muling aprubahan ang mga pUSD allowance, magpatakbo ng $1 smoke test, at magpatuloy. Hindi nagbago ang imprastraktura sa ilalim nito (CTF, condition IDs, token IDs, API keys), kaya maliit ang saklaw at malinis ang kwento ng rollback.











