API · Marejeleo

CLOB (Central Limit Order Book) kwenye clob.polymarket.com ndipo oda hupumzika na kulingana. Unasoma daftari, bei na tick size bila uthibitishaji, na unafanya biashara (weka / futa oda, soma salio lako) kwa vitambulisho vya API na kusaini. Haya ni marejeleo ya CLOB V2 - dhamana ni pUSD, ada ni on-chain, na watoaji hulipa sifuri.

Soma daftari la oda (bila uthibitishaji)

from py_clob_client_v2 import ClobClient   # pip install py-clob-client-v2
client = ClobClient(host="https://clob.polymarket.com", chain_id=137)   # read-only: no key
book = client.get_order_book(token_id)
mid  = client.get_midpoint(token_id)
print(book.bids[0].price, book.asks[0].price, mid)
// polymarket_client_sdk_v2 (official, repo rs-clob-client-v2)
use polymarket_client_sdk_v2::clob::{Client, Config};
use polymarket_client_sdk_v2::clob::types::request::OrderBookSummaryRequest;
let client = Client::new("https://clob.polymarket.com", Config::default())?;
let book = client.order_book(&OrderBookSummaryRequest::builder().token_id(token_id).build()).await?;
curl -s "https://clob.polymarket.com/book?token_id=$TOKEN_ID"

Mfano wa jibu

{
  "market": "0x...",
  "bids": [ { "price": "0.62", "size": "1400" }, { "price": "0.61", "size": "900" } ],
  "asks": [ { "price": "0.64", "size": "1100" }, { "price": "0.65", "size": "2000" } ]
}

Endpoint za kusoma

EndpointHurudisha
GET /book?token_id=Daftari kamili la oda (bids / asks).
GET /price?token_id=&side=Bid au ask bora.
GET /midpoint?token_id=Katikati = (bid bora + ask bora) / 2.
GET /spread?token_id=Ask bora − bid bora.
GET /tick-size?token_id=Nyongeza ndogo zaidi ya bei (zungusha bei yako kwayo).

Vikomo ni vya juu: CLOB ~9,000 maombi / 10s, /book na /price 1,500 / 10s, na maombi yaliyozidi kikomo hupunguzwa kasi, si kukataliwa. Zaidi kuhusu 429.

Weka na futa oda (uthibitishaji)

Wito mmoja hujenga, husaini (muundo wa oda wa V2) na kutuma oda yako. Unachagua aina ya oda:

AinaTabia
GTCGood-Till-Cancelled - hupumzika kwenye daftari hadi ijazwe au ifutwe.
GTDGood-Till-Date - hupumzika hadi muhuri wa muda wa mwisho.
FOKFill-Or-Kill - jaza oda nzima mara moja au ifute.
FAKFill-And-Kill - jaza inavyoweza mara moja, futa iliyobaki.
from py_clob_client_v2 import (ClobClient, OrderArgs, OrderType,
                               PartialCreateOrderOptions, Side, OrderPayload)

# authenticated client (creds from create_or_derive_api_key - see Authentication)
client = ClobClient(host="https://clob.polymarket.com", chain_id=137, key=PK, creds=creds)

resp = client.create_and_post_order(
    order_args=OrderArgs(token_id=token_id, price=0.62, side=Side.BUY, size=10),
    options=PartialCreateOrderOptions(tick_size="0.01", neg_risk=False),  # read both off the market
    order_type=OrderType.GTC,            # GTC, GTD, FOK or FAK
)
# resp -> {"success": true, "orderID": "0x...", "status": "live"}
client.cancel_order(OrderPayload(orderID=resp["orderID"]))   # cancel
Mipangilio miwili kwa kila soko. Pitisha tick_size halisi ya soko ("0.01" au "0.001") na uweke neg_risk=True kwa masoko ya "hatari hasi" ya matokeo mengi - soma vyote viwili kutoka Gamma (orderPriceMinTickSize, negRisk) kabla ya kusaini. Pia: ukubwa wa chini wa oda ni hisa 5, na bei yako lazima iwe tayari imezungushwa kwa tick au oda hukataliwa.
Ukweli kuhusu oda za V2. Muundo uliosainiwa uliondoa nonce, feeRateBps, taker na expiration na kuongeza timestamp, metadata na builder; toleo la kikoa cha Exchange cha EIP-712 ni "2". Ada hukusanywa on-chain wakati wa kulingana - watoaji hulipa 0, wachukuaji pekee hulipa. Kabla ya kufanya biashara lazima uidhinishe pUSD + conditional tokens kwa mikataba mitatu ya V2 (ona urekebishaji wa idhini).

Ada: wachukuaji pekee hulipa, na kiwango hujipinda

Watoaji hawatozwi kamwe. Wachukuaji hulipa ada ambayo si tambarare - hupanuka na kutokuwa na uhakika kwa soko na hutofautiana kwa kategoria. Fomula:

fee = shares × feeRate × p × (1 - p)      # p = share price, 0..1

Kipengele cha p·(1-p) humaanisha ada hufikia kilele kwenye 50/50 na hupungua kuelekea ncha za senti 1 na senti 99 - kwa hivyo matokeo yenye uhakika ni nafuu kuchukua, kura ya sarafu ni ghali. feeRate ya mchukuaji kwa kila kategoria:

KategoriafeeRate ya mchukuaji
Crypto0.07 (7 bps) - ya juu zaidi
Uchumi / Utamaduni / Hali ya Hewa0.05
Fedha / Siasa / Teknolojia / Mentions0.04
Michezo0.03
Jiografia ya kisiasa na matukio ya dunia0 - bila ada

Soma kiwango hai kwa kila tokeni kwa GET /fee-rate-bps?token_id= badala ya kukihifadhi moja kwa moja; ada huzungushwa kwa desimali 5 (chini 0.00001 pUSD). Watoaji kulipa sifuri ndiyo sababu boti nyingi zisizo na makali hununua kwa kupumzisha oda badala ya kuchukua.

Masoko ya hatari-hasi (matokeo mengi)

Matukio ya wagombea wengi ("nani ashinde uchaguzi?") ni masoko ya neg-risk: matokeo yao yameunganishwa, kwa hivyo hisa ya Hapana katika matokeo moja hubadilika kuwa hisa ya Ndiyo katika kila matokeo mengine kupitia Neg Risk Adapter - yenye ufanisi wa mtaji, lakini tofauti kimitambo. Huendeshwa kwa mikataba tofauti na masoko ya kimbili, kwa hivyo lazima upitishe neg_risk=True katika options za oda (soma bendera ya negRisk ya soko kutoka Gamma). Ukiiacha, oda husainiwa dhidi ya soko la ubadilishaji lisilo sahihi na kukataliwa.

Conditional tokens: split, merge, redeem (zaidi ya daftari)

Chini ya kila soko kuna Conditional Token Framework (CTF). Tokeni za matokeo ni tokeni za ERC-1155, na kila jozi ya Ndiyo/Hapana huungwa mkono na dola $1.00 hasa ya pUSD iliyofungwa kwenye mkataba wa CTF. Hilo hukupa primitives tatu ambazo daftari la oda pekee halikupi:

OperesheniHufanya niniKwa nini boti huitumia
SplitFunga $1 pUSD → tengeneza 1 Ndiyo + 1 HapanaTengeneza hesabu bila kuvuka spredi; nukuu pande zote mbili.
MergeChoma 1 Ndiyo + 1 Hapana → rejesha $1 pUSDToka jozi iliyokingwa mara moja - hakuna kusubiri usuluhishi, hakuna ada ya mchukuaji.
RedeemBaada ya usuluhishi, tokeni inayoshinda → $1.00 pUSDToa fedha nafasi iliyosuluhishwa (redeemPositions).

Split na merge ndiyo msingi wa arbitrage ya CTF: ikiwa Ndiyo + Hapana zinafanyiwa biashara chini ya $1.00 kwenye daftari, nunua zote mbili na merge kurudi $1.00; ikiwa zinafanyiwa biashara juu ya $1.00, split $1 kuwa jozi mpya na uuze zote mbili. Ukombozi husuluhishwa kupitia mkataba wa ConditionalTokens mara orakli itakapoweka matokeo on-chain - nafasi huonyesha redeemable: true kwenye Data API inapoweza kudaiwa. Vitambulisho vya nafasi hutoka kupitia getConditionId → getCollectionId → getPositionId.

Ya juu: RFQ na masoko ya combo (kwa watoaji makini)

Zaidi ya daftari la oda, Polymarket huendesha mfumo wa Request-for-Quote (RFQ), unaotumika hasa kwa masoko ya combo - masoko yaliyopo yaliyofungwa kuwa nafasi za mchanganyiko za matawi mengi. Mtiririko una awamu tatu: mchukuaji huomba nukuu, watoaji hushindana kwa nukuu, na mtoaji aliyechaguliwa hupata mtazamo wa mwisho kuthibitisha au kukataa kabla ya utekelezaji.

  • Gundua combo: GET /v1/rfq/combo-markets (ya umma; limit 1-100, cursor, exclude). Kila combo hufichua vitambulisho viwili vya nafasi (Ndiyo = index 0, Hapana = index 1).
  • Nukuu kama mtoaji: POST combos-rfq-api.polymarket.com/v1/maker/quotes (uthibitishaji wa L2). Unatengeneza quote_id mwenyewe, na kutuma rfq_id, maker_address, signature_type, oda ya Exchange iliyosainiwa, na price_e6 / size_e6 kama mifuatano ya nukta-tuli ya desimali sita (utaratibu wa *_e6 huepuka upotevu wa usahihi wa float).
  • Mtazamo wa mwisho: wakati RFQ ni AWAITING_MAKER_CONFIRMATION, jibu CONFIRM, DECLINE, au iache TIMED_OUT.

Mashine ya hali ya RFQ: CREATED → COLLECTING_QUOTES → AWAITING_REQUESTER_ACCEPTANCE → AWAITING_MAKER_CONFIRMATION → EXECUTING → FILLED (vinginevyo FAILED / EXPIRED / CANCELED / REJECTED). Jiandikishe kwa lango la WebSocket la RFQ kwa hali hai. Hii ni ya kipekee - boti nyingi huhitaji tu daftari la CLOB hapo juu - lakini ndiyo jinsi ukwasi wa matawi mengi na combo hupewa bei.

Kagua salio na idhini

client.get_balance_allowance(...)   # collateral (pUSD) and conditional-token allowances

Ikiwa hii inaonyesha idhini sifuri, idhinisha pUSD/CTF kwa mikataba ya soko la ubadilishaji la V2 kabla ya kuweka oda.

Vitambulisho vya tokeni za Ndiyo / Hapana. Kila soko la kimbili lina vitambulisho viwili vya tokeni. Usihifadhi moja kwa moja ipi ni Ndiyo - soma array iliyofafanuliwa ya outcomes (Gamma huirudisha, na clobTokenIds, kama mifuatano iliyosimbwa kwa JSON ambayo lazima uifafanue) na uramani kwa jina.

Kifuatacho: Uthibitishaji na pochi · WebSocket: tiririsha daftari · Rekebisha hitilafu ya CLOB.