API · Довідник
Data API на data-api.polymarket.com - це «склад» Полімаркет лише для читання:
позиції кожного гаманця, повна стрічка угод і жива
вартість портфеля з вбудованим PnL. Він повністю публічний:
без ключа, без підпису, без облікового запису. Це робить його найлегшим місцем для старту - можна побудувати
цілий аналітичний або копітрейдинг-бот на ньому, жодного разу не торкнувшись приватного ключа. Кожен приклад нижче -
це реальний виклик, який ви можете запустити в пісочниці на цій сторінці.
- Базовий URL:
https://data-api.polymarket.com· без автентифікації. - Адреса для передачі: проксі-гаманець трейдера (його ончейн-адреса Полімаркет), а не ключ підпису.
- Ліміт запитів: ~1000 запитів / 10 с (
/trades200,/positions150) - сповільнення, не відмова. - Повертає прості JSON-масиви. Поєднуйте з Gamma (пошук) і CLOB (торгівля).
/positions - що тримає гаманець (з PnL)
Робочий ендпоінт. Передайте гаманець і отримайте кожну відкриту позицію, кожну вже збагачену собівартістю й прибутком/збитком - тож це заодно й ендпоінт PnL (математика сабграфа не потрібна).
import requests
r = requests.get("https://data-api.polymarket.com/positions",
params={"user": PROXY_ADDRESS})
for p in r.json():
print(p["title"], p["outcome"], p["size"],
"avg", p["avgPrice"], "pnl", p["cashPnl"])
curl -s "https://data-api.polymarket.com/positions?user=$PROXY_ADDRESS"
Реальна відповідь (одна позиція, скорочено):
[
{
"proxyWallet": "0xbfd068…a0c8",
"asset": "30114730…931285", // the token_id (CLOB-tradeable)
"conditionId": "0x4589bb…b3005c",
"size": 100, // shares held
"avgPrice": 0.01, // your cost basis
"curPrice": 0.00, // current mark
"currentValue": 0.00,
"cashPnl": -1.00, // $ profit/loss
"percentPnl": -100,
"realizedPnl": 0,
"redeemable": true, // market resolved → can redeem
"title": "Bitcoin Up or Down - June 14, 8:00-8:05AM ET",
"outcome": "Down", "outcomeIndex": 1
}
]
| Поле | Значення |
|---|---|
asset | token_id - передавайте його прямо в CLOB, щоб прочитати книгу або торгувати. |
size / avgPrice | Кількість утримуваних часток і ваша середня ціна входу (собівартість). |
cashPnl / percentPnl / realizedPnl | Нереалізований $, нереалізований % і реалізований $ - той PnL, який інакше ви рахували б самі. |
redeemable | true, щойно ринок вирішується і позицію можна погасити. |
/trades - стрічка угод
Кожне виконання, найновіші першими. Фільтруйте за user= (історія одного гаманця) та/або market=,
або просто витягніть увесь потік з limit=. Це ваше джерело даних для бектесту й копітрейдингу.
curl -s "https://data-api.polymarket.com/trades?user=$PROXY_ADDRESS&limit=100"
Реальна відповідь (одна угода, скорочено):
[
{
"proxyWallet": "0xad05d2…3a3d",
"side": "BUY",
"asset": "54898429…124028", // token_id traded
"conditionId": "0x0e6eb3…a83290",
"size": 10,
"price": 0.10,
"timestamp": 1781469243, // unix seconds
"title": "Bitcoin Up or Down - June 14, 4:30-4:35PM ET",
"outcome": "Down", "outcomeIndex": 1,
"transactionHash": "0x4c0e78…38064d" // verify on PolygonScan
}
]
Кожна угода несе за собою proxyWallet - тож /trades - це ще й спосіб
знайти гаманці для відстеження: витягніть останні виконання на ринку, потім витягніть
/positions кожного гаманця.
/value - вартість портфеля одним числом
Найшвидша перевірка стану - загальна поточна вартість гаманця:
v = requests.get("https://data-api.polymarket.com/value",
params={"user": PROXY_ADDRESS}).json()[0]["value"]
print(f"${v:,.2f}")
curl -s "https://data-api.polymarket.com/value?user=$PROXY_ADDRESS"
Реальна відповідь:
[ { "user": "0xbfd068…a0c8", "value": 2.3236 } ]
/activity - повний журнал ончейн-дій (не лише угоди)
Ендпоінт, який пропускає більшість ботів. /activity повертає все, що гаманець робив ончейн, не лише виконання:
фільтруйте за type = TRADE, SPLIT, MERGE, REDEEM,
REWARD чи CONVERSION і за start / end (unix-секунди). Саме так
ви спостерігаєте, як гаманець розділяє pUSD на Yes+No, зливає назад, погашає вирішену
позицію чи збирає винагороди мейкера - примітиви CTF, яких книга замовлень ніколи не показує.
curl -s "https://data-api.polymarket.com/activity?user=$PROXY_ADDRESS&type=SPLIT,MERGE,REDEEM&limit=50"
Поєднуйте з примітивами CTF: /activity -
це бік читання split / merge / redeem, тож стратегія, яка карбує чи погашає набори, може звірити власну
ончейн-історію, не торкаючись ноди.
/holders - хто тримає ринок
Найбільші тримачі за кожним результатом ринку - корисно для перевірок концентрації й пошуку китів:
curl -s "https://data-api.polymarket.com/holders?market=$CONDITION_ID&limit=20"
Рецепт: трекер гаманця на 20 рядків
Знайдіть активний гаманець зі стрічки, потім вивантажте його книгу з PnL - усе без ключа:
import requests
D = "https://data-api.polymarket.com"
# 1) who just traded BTC?
who = requests.get(f"{D}/trades", params={"limit": 1}).json()[0]["proxyWallet"]
# 2) their open book + live PnL
for p in requests.get(f"{D}/positions", params={"user": who}).json():
print(f"{p['title'][:40]:40} {p['outcome']:4} {p['size']:>6} sh "
f"PnL ${p['cashPnl']:+.2f} ({p['percentPnl']:+.0f}%)")
# 3) their total value
print("total $", requests.get(f"{D}/value", params={"user": who}).json()[0]["value"])
Далі: CLOB API (читати книгу, торгувати) · Gamma API (знаходити ринки) · Побудувати копітрейдинг-бот.



