秋田预测市场 · Discord 审计

API tick size和limit参数错误导致下单失败

2026-07-02 · Polymarket · 3 条相关讨论

CorralPeltzer 2026-07-02 05:33:56

Hey guys, weird issue, a new market was deployed with tick size `0.005`. See https://gamma-api.polymarket.com/events/slug/fda-approves-otsuka-centanafadine-07-24-2026 but the SDKs (at least the python one) forces tick sizes ending in 1 (https://github.com/Polymarket/py-clob-client-v2/blob/v1.0.1/py_clob_client_v2/clob_types.py#L256), so it will be rounded by the library and the order will probably fail: https://github.com/Polymarket/py-clob-client-v2/blob/v1.0.1/py_clob_client_v2/order_builder/builder.py#L141 Please update the libraries if we're supposed to be using tick sizes not ending in 1 from now on, or fix that market otherwise

Hey guys, weird issue, a new market was deployed with tick size `0.005`. See https://gamma-api.polymarket.com/events/slug/fda-approves-otsuka-centanafadine-07-24-2026 but the SDKs (at least the python one) forces tick sizes ending in 1 (https://github.com/Polymarket/py-clob-client-v2/blob/v1.0.1/py_clob_client_v2/clob_types.py#L256), so it will be rounded by the library and the order will probably fail: https://github.com/Polymarket/py-clob-client-v2/blob/v1.0.1/py_clob_client_v2/order_builder/builder.py#L141 Please update the libraries if we're supposed to be using tick sizes not ending in 1 from now on, or fix that market otherwise

MrChao 2026-07-02 12:43:34

When I placed an order using tick size (0.0025), the API returned (invalid tick size (0.0025), minimum for the market is 0.01). My program detected "minimum for the market is 0.01" and changed it to "tickSize": 0.01 to place the order. The current order book was {"bid":0.52,"ask":0.5225}. When I changed it to "tickSize": 0.01 with price:0.5225, the final price was 0.52. My program was frantically placing orders at the market price due to a tick size bug. Your team is absolutely incompetent.[2026-07-02 10:19:02] [ERROR] { "tokenID": "49469793176850152747939068199526823062926116289898013326099759349357399255801", "price": 0.5225, "side": "SELL", "size": 499.99 } [2026-07-02 10:19:02] [ERROR] { "tickSize": 0.0025, "negRisk": false } [2026-07-02 10:19:02] [ERROR] Error: invalid tick size (0.0025), minimum for the market is 0.01

When I placed an order using tick size (0.0025), the API returned (invalid tick size (0.0025), minimum for the market is 0.01). My program detected "minimum for the market is 0.01" and changed it to "tickSize": 0.01 to place the order. The current order book was {"bid":0.52,"ask":0.5225}. When I changed it to "tickSize": 0.01 with price:0.5225, the final price was 0.52. My program was frantically placing orders at the market price due to a tick size bug. Your team is absolutely incompetent.[2026-07-02 10:19:02] [ERROR] { "tokenID": "49469793176850152747939068199526823062926116289898013326099759349357399255801", "price": 0.5225, "side": "SELL", "size": 499.99 } [2026-07-02 10:19:02] [ERROR] { "tickSize": 0.0025, "negRisk": false } [2026-07-02 10:19:02] [ERROR] Error: invalid tick size (0.0025), minimum for the market is 0.01

Ric 2026-07-02 15:18:05

https://polymarket.com/api/chainlink-candles?symbol=SOL&interval=5m&limit=15&endTime=1782975899999 shows ```{"error":"limit must be 30"}``` https://polymarket.com/api/chainlink-candles?symbol=SOL&interval=5m&limit=30&endTime=1782975899999 it works when I change it to 30, but if I remove limit I get the same error: https://polymarket.com/api/chainlink-candles?symbol=SOL&interval=5m&endTime=1782975899999 what's the point? if limit must always be 30 then why even include it as a parameter? Why not just remove it altogether?

https://polymarket.com/api/chainlink-candles?symbol=SOL&interval=5m&limit=15&endTime=1782975899999 shows ```{"error":"limit must be 30"}``` https://polymarket.com/api/chainlink-candles?symbol=SOL&interval=5m&limit=30&endTime=1782975899999 it works when I change it to 30, but if I remove limit I get the same error: https://polymarket.com/api/chainlink-candles?symbol=SOL&interval=5m&endTime=1782975899999 what's the point? if limit must always be 30 then why even include it as a parameter? Why not just remove it altogether?