Mafunzo ya Boti ya Polymarket · Sura 6 kati ya 32

Uthibitishaji na usanidi wa pochi wa boti ya Polymarket: pochi za proxy dhidi ya EOA, kutengeneza API key kupitia SDK, sigType 2 kwa Gnosis Safe, mbinu bora za kuhifadhi key, na uhamisho kutoka Magic hadi Privy.

Sura hii inafunika nini

Mfumo wa pochi wa Polymarket una sehemu tatu zinazosogea: akaunti inayomilikiwa kwa nje (EOA) inayosaini oda, proxy ya smart-contract inayoshikilia fedha, na API key ya CLOB ya Polymarket inayothibitisha maombi ya HTTP. Kupata zote tatu zimeunganishwa kwa usahihi ni hali ya kushindwa ya kawaida zaidi ya Siku ya 1 kwa wajenzi wapya, na ikawa ya kuchanganya zaidi baada ya uhamisho wa Agosti 2025 kutoka Magic Labs hadi Privy. Sura hii inapitia kila kipande kwa mpangilio wa usanidi, pamoja na vigezo maalum vya mazingira na bendera ya aina-ya-sahihi ambazo code ya uzalishaji inahitaji.

  • Pochi ya proxy dhidi ya EOA: ipi ya kufanyia biashara na boti
  • Kutengeneza API key (hatua za SDK)
  • sigType 2 na POLY_FUNDER_ADDRESS (Gnosis Safe)
  • Kuhifadhi key: .env, vault, KMS
  • Uhamisho kutoka Magic Labs hadi Privy
  • Kuidhinisha matumizi ya USDC/pUSD
  • Kurejesha pochi na nakala rudufu

Pochi ya proxy dhidi ya EOA: ipi ya kufanyia biashara na boti

Polymarket inatumia mfumo wa pochi ya proxy ya smart-contract. EOA yako - anwani iliyofungwa na private key yako - inasaini miamala na oda. Gnosis Safe iliyowekwa kwenye anwani ya deterministic inashikilia pUSD halisi na hisa za matokeo. Anwani ya proxy ndiyo inayoonekana katika paneli ya "wallet" ya kiolesura cha Polymarket; EOA ndiyo inayosaini.

Kwa boti, daima unasaini na EOA (PRIVATE_KEY katika env) na unarejelea anwani ya proxy kama POLY_FUNDER_ADDRESS katika usanidi wa CLOB client. Kutuma oda na EOA kama mfadhili kunazalisha makosa ya "insufficient balance" hata wakati proxy imefadhiliwa.

Huwezi kufanya biashara na boti kwa kutumia EOA peke yake - mtiririko wa wavuti wa Polymarket daima unaunda proxy wakati wa kujisajili. Hakiki anwani zote mbili kwa polymarket wallet show kutoka CLI, au soma anwani ya proxy kutoka mipangilio ya kiolesura cha Polymarket.

Kutengeneza API key (hatua za SDK)

API ya CLOB inahitaji stakabadhi tatu: key, secret, passphrase. Hizi si private key ya pochi yako - ni seti ya stakabadhi ya mtindo wa HMAC iliyofungwa na pochi yako, inayotumika kwa uthibitishaji wa maombi ya HTTP tu.

Tengeneza zote kwa mara moja na SDK:

# Python
from py_clob_client.client import ClobClient
c = ClobClient(host="https://clob.polymarket.com", chain_id=137,
               key="<PRIVATE_KEY>", signature_type=2,
               funder="<PROXY_ADDRESS>")
creds = c.create_or_derive_api_creds()
print(creds.api_key, creds.api_secret, creds.api_passphrase)

Hifadhi matokeo katika faili la JSON na uipakie kwenye kila mwanzo wa boti; usiitengeneze upya kwa kila kipindi - seva ya API inaweka seti ya stakabadhi kwenye cache, na kuizungusha mara kwa mara kunaweza kuchochea mantiki ya kikomo cha kasi. Stakabadhi hazikomi kamwe kiotomatiki. Zungusha tu ikiwa unashuku uvujaji.

sigType 2 na POLY_FUNDER_ADDRESS (Gnosis Safe)

Hoja ya signature_type inadhibiti jinsi CLOB inavyothibitisha sahihi za oda yako. Kuna thamani tatu; mbili ni za kweli:

  • 0 / EOA: EOA ndiyo msaini na mfadhili. Inatumika kwa mipangilio nadra ambapo watumiaji wameingiza private key moja kwa moja.
  • 1 / POLY_PROXY: mkataba wa proxy wa zamani wa Magic Labs. Akaunti nyingi za kabla ya 2025.
  • 2 / POLY_GNOSIS_SAFE: kiwango cha sasa. Fedha katika Gnosis Safe, EOA inasaini.

Tumia signature_type=2 kwa akaunti yoyote iliyoundwa baada ya Agosti 2025 (uhamisho wa Privy) au akaunti yoyote ambapo unaweza kuona anwani ya Gnosis Safe katika kiolesura cha Polymarket. Kigezo cha env POLY_FUNDER_ADDRESS lazima kiwe anwani ya Safe, si EOA. signature_type isiyolingana na aina ya mfadhili inazalisha kimya ukataliwaji wa oda unaoonekana kama "insufficient allowance" au "balance: 0" - ujumbe wa kosa ni wa kupotosha.

Kuhifadhi key: .env, vault, KMS

Kuna viwango vitatu vinavyokubalika vya kuhifadhi private key ya EOA.

  1. Faili la .env (uendelezaji wa mashine moja). Faili linaishi kwenye VPS, boti inalisoma wakati wa kuanza, key haitoki kwa mwenyeji. Linafaa kwa pochi <$1k. chmod 600 .env na hakikisha .gitignore ya repo yako inaliondoa.
  2. Vault ya kujihifadhi (HashiCorp Vault, faili lililosimbwa kwa age, au systemd-creds). Inaongeza hatua ya kufungua wakati wa kuanza boti. Inafaa kwa pochi katika kipimo cha $1k-$10k.
  3. KMS ya wingu (AWS KMS, GCP KMS). Boti inaita KMS kufumbua key katika kumbukumbu; key haigusi diski kamwe. Inafaa utata wa kiuendeshaji tu zaidi ya $10k au kwa meli za boti nyingi.

Usichofanya kamwe: kuweka private key kwenye git, kuibandika katika gumzo, kuihifadhi katika msimamizi wa nywila unaosawazisha kwa huduma za wingu bila hali ya ndani-tu. Eneo la mlipuko la on-chain la uvujaji wa EOA ya Polymarket ni salio lako lote la pUSD na hazina ya hisa za matokeo.

Uhamisho kutoka Magic Labs hadi Privy

Mnamo Agosti 2025 Polymarket ilihamisha mtoaji wao mkuu wa pochi iliyopachikwa kutoka Magic Labs hadi Privy. Athari inayogusa boti ni ndogo lakini maalum.

Akaunti za kabla ya uhamisho (zilizoundwa kupitia Magic) kwa kawaida zinatumia signature_type=1 (POLY_PROXY). Akaunti za baada ya uhamisho zinatumia signature_type=2 (POLY_GNOSIS_SAFE). Baadhi ya watumiaji walihamisha akaunti yao ya zamani; baadhi waliacha ya asili. Hakuna njia ya kujua kutoka kwa API ya umma ni aina gani akaunti yako inatumia - unaangalia kwa kujaribu kusaini oda na kuchunguza ukataliwaji.

Uhamisho pia ulibadilisha jinsi kiolesura kinavyoonyesha anwani ya mfadhili. Mitiririko ya zamani ya kiolesura cha Polymarket ilionyesha anwani ya proxy katika dashibodi; mtiririko wa sasa unaifukia katika mipangilio ya akaunti. Amri ya CLI polymarket wallet show ndiyo njia safi zaidi ya kuhakiki thamani zote mbili, bila kujali akaunti iliundwa lini.

Kuidhinisha matumizi ya USDC/pUSD

Ili CLOB ihamishe pUSD yako wakati wa kulinganisha oda, proxy lazima iwe imeidhinisha mikataba ya kubadilishana ya Polymarket kama watumiaji. Kiolesura cha Polymarket kinaweka idhini hizi wakati wa weka ya kwanza. Kwa boti zinazofadhili proxy moja kwa moja, lazima uziweke kwa mkono.

Kuna idhini tatu za kuweka, mara moja kwa pochi:

  1. pUSD (ERC-20) → mkataba wa kubadilishana
  2. Conditional Tokens (ERC-1155) → mkataba wa kubadilishana (kwa kuuza hisa)
  3. Conditional Tokens (ERC-1155) → mkataba wa kubadilishana wa NegRisk (kwa kuuza hisa za NegRisk)

Endesha polymarket approve kutoka CLI wakati wa usanidi wa kwanza. Muamala unagharimu senti chache za gesi ya MATIC. Hakiki na polymarket approve check - zote tatu zinapaswa kurejesha "approved." Kosa kimya la kawaida zaidi kwa wajenzi wapya ni kukosa idhini ya NegRisk, ambayo inashindwa tu wakati wa kuuza hisa kutoka masoko ya matokeo mengi na inaonekana kama kosa la salio.

Kurejesha pochi na nakala rudufu

Pochi ya boti ina vipengele viwili vinavyoweza kurejeshwa: private key ya EOA, na nywila ya akaunti ya Polymarket (inayozuia ufikiaji kupitia kiolesura cha wavuti lakini si kupitia SDK).

Private key ya EOA ndiyo kitu pekee kinachojali kwa boti. Kuipoteza = kupoteza kila kitu katika proxy. Nakala rudufu ya baridi: iandike kwenye karatasi, funga katika bahasha, hifadhi mahali pengine. Nakala rudufu ya moto: kijiti cha USB kilichosimbwa. Usijitumie kwa barua pepe wewe mwenyewe; usihifadhi bila kusimbwa katika hifadhi ya wingu.

Nywila ya akaunti ya Polymarket inaweza kurejeshwa kupitia urejeshaji wa barua pepe wa Magic Labs / Privy maadamu bado unadhibiti barua pepe ya asili ya usajili. Haizuii ufikiaji wa boti - boti inatumia private key ya EOA moja kwa moja.

Ikiwa unashuku uvujaji wa key: mara moja toa pUSD na tokeni za matokeo kwenda pochi mpya, tengeneza EOA mpya, weka upya boti na key mpya. Key iliyovuja haiwezi kufutwa; inaweza tu kudekwa.

Maswali yanayoulizwa mara kwa mara

Je, ninahitaji pochi tofauti kwa boti yangu?
Inapendekezwa sana ndio. Tumia EOA mpya au pochi mpya ya proxy inayotokana na akaunti ya barua pepe inayoshikilia tu mtaji uliotenga kwa boti. Ikiwa key ya boti inavuja, fedha za boti tu ndizo ziko hatarini - hazina yako kuu inabaki salama.
Ni nini sigType 2 katika API ya Polymarket?
sigType 2 inaonyesha sahihi ya Gnosis Safe (pochi ya proxy), inayotumika unapoingia na barua pepe/Google na Polymarket inakuundia proxy. Kwa sigType 2, kigezo cha mazingira POLY_FUNDER_ADDRESS lazima kiwe anwani ya PROXY (inayoonyeshwa katika kiolesura cha Polymarket), si EOA ya msingi. Hili ni kosa la kawaida la usanidi.
Je, ninawezaje kutengeneza API key ya Polymarket?
Tumia SDK. Katika Python: ApiCreds inarudishwa na client.create_api_key() mara unapothibitisha na pochi yako. Katika Node.js: sawa kupitia @polymarket/clob-client-v2 client.createApiKey(). Hifadhi key/secret/passphrase iliyorudishwa katika .env yako (kamwe usiweke kwenye git).
Je, API keys za Polymarket zinaweza kufutwa?
Ndio. Unaweza kutengeneza keys mpya wakati wowote kupitia SDK; keys za zamani zinabaki halali hadi zifutwe moja kwa moja kupitia client.deleteApiKey(creds). Mbinu bora ni kubadilisha keys mara kwa mara na kufuta key yoyote iliyogusa mashine iliyoingiliwa.
Ni nini kilibadilika Polymarket ilipohama kutoka Magic Labs hadi Privy?
Namba za OTP za kuingia zilibadilika kutoka tarakimu 3 (zinazoshambulika kwa nguvu ya kubuni, zilizotumiwa vibaya katika udukuzi wa Desemba 2025) hadi namba ndefu pamoja na kufunga kifaa kupitia Privy. Kwa boti, mabadiliko ya kivitendo ni sherehe ya uthibitishaji - SDK inaficha mengi yake. Ikiwa boti yako ilikuwa na anwani za API za Magic Labs zilizoandikwa moja kwa moja (nadra), sasisha kwa mtiririko wa Privy.
Je, nihifadhi keys katika faili la .env?
Kwa boti ya VPS moja - ndio, na ruhusa sahihi za faili (chmod 600 .env, inayomilikiwa na mtumiaji wa boti). Kwa mipangilio ya mashine nyingi au uendeshaji wa kiwango cha uzalishaji - hamia kwa msimamizi wa siri (AWS Secrets Manager, Vault, doppler.com). Kamwe usiweke .env kwenye git, kamwe.