秋田预测市场 · Discord 审计

Melon参与话题 6消息总数 34

该用户的聊天记录定位。

Reset

聊天记录

共 34 条,显示第 1-34 条
Melon 2026-07-03 21:55:18 Kalshi

Yes

Yes

Melon 2026-07-03 00:11:46 Kalshi WebSocket连接最佳市场跟踪数讨论

I subscribe to all non-mve market tickers and split that across 6 web socket connections, which has been working for me. Maybe i've crashed once or twice in the past week due to web socket disconnects.

I subscribe to all non-mve market tickers and split that across 6 web socket connections, which has been working for me. Maybe i've crashed once or twice in the past week due to web socket disconnects.

I was using `"competition_scope": "Game" / "To Advance` to determine if a soccer event was scoped to the result after 90 mins / after extra time penalties. Unfortunately Kalshi broke this precedent starting with the world cup. 😢 Anyone else felt pain relying on milestone / metadata for figuring out the semantics of a sporting event? All knockout soccer events prior to world cup. > KXUECLADVANCE > "product_metadata": { > "competition": "Conference League", > "competition_scope": "To Advance" > } > > KXUECLGAME-26APR16FIOCRY > "product_metadata": { > "competition": "Conference League", > "competition_scope": "Game" > } World cup events. > KXWCADVANCE-26JUL02ESPAUT > "product_metadata": { > "competition": "World Soccer Cup", > "competition_scope": "Game" > } > > KXWCGAME-26JUL02ESPAUT > "product_metadata": { > "competition": "World Soccer Cup", > "competition_scope": "Regulation Time Moneyline" > }

I was using `"competition_scope": "Game" / "To Advance` to determine if a soccer event was scoped to the result after 90 mins / after extra time penalties. Unfortunately Kalshi broke this precedent starting with the world cup. 😢 Anyone else felt pain relying on milestone / metadata for figuring out the semantics of a sporting event? All knockout soccer events prior to world cup. > KXUECLADVANCE > "product_metadata": { > "competition": "Conference League", > "competition_scope": "To Advance" > } > > KXUECLGAME-26APR16FIOCRY > "product_metadata": { > "competition": "Conference League", > "competition_scope": "Game" > } World cup events. > KXWCADVANCE-26JUL02ESPAUT > "product_metadata": { > "competition": "World Soccer Cup", > "competition_scope": "Game" > } > > KXWCGAME-26JUL02ESPAUT > "product_metadata": { > "competition": "World Soccer Cup", > "competition_scope": "Regulation Time Moneyline" > }

Melon 2026-06-30 20:36:58 Kalshi API批量取消订单的实际限制与文档冲突

Despite the documentation saying that the batch sizes scales with write budget, my batch cancels are rejected with `code=too_many_orders_in_batch` whenever there are more than 20 orders in a batch. Batch Cancel Orders (V2) > Endpoint for cancelling a batch of event-market orders using the V2 response shape. The maximum batch size scales with your tier’s write budget — see Rate Limits and Tiers.

Despite the documentation saying that the batch sizes scales with write budget, my batch cancels are rejected with `code=too_many_orders_in_batch` whenever there are more than 20 orders in a batch. Batch Cancel Orders (V2) > Endpoint for cancelling a batch of event-market orders using the V2 response shape. The maximum batch size scales with your tier’s write budget — see Rate Limits and Tiers.

Melon 2026-06-19 22:55:40 Kalshi

How do I navigate to this view? Struggling to find it

How do I navigate to this view? Struggling to find it

Melon 2026-06-19 18:32:49 Kalshi

Hey, did you figure this out? Does "too many orders in batch" mean we've hit a rate limit?

Hey, did you figure this out? Does "too many orders in batch" mean we've hit a rate limit?

Melon 2026-06-16 17:48:52 Kalshi

I use GET /events with_nested_markets=true with_milestones=true For the sports I trade at least, the milestone has information about home/away team. This is more robust than parsing the ticker string (there can be some tricky edge cases with that).

I use GET /events with_nested_markets=true with_milestones=true For the sports I trade at least, the milestone has information about home/away team. This is more robust than parsing the ticker string (there can be some tricky edge cases with that).

Melon 2026-06-13 01:17:02 Kalshi

How many WS threads do you use?

How many WS threads do you use?

Melon 2026-06-13 01:14:51 Kalshi

> You will want to shard your orderbook WS to make sure you aren't missing messages. What does this mean?

> You will want to shard your orderbook WS to make sure you aren't missing messages. What does this mean?

Melon 2026-06-13 01:14:13 Kalshi

All good points. If I keep having issues I will run an experiment: write a test app that simply polls the messages off the socket and drops it. If that test app can keep up, but my trading process can't, then it'll be clear that I'm being too slow to pull data off the socket.

All good points. If I keep having issues I will run an experiment: write a test app that simply polls the messages off the socket and drops it. If that test app can keep up, but my trading process can't, then it'll be clear that I'm being too slow to pull data off the socket.

Melon 2026-06-13 01:09:47 Kalshi

Thank you!

Thank you!

Melon 2026-06-13 00:31:39 Kalshi

I'm only subscribed to non-MVEs. So like ~100k tickers. Is anyone else subscribing to this many and not having any issues with ""subscription overflow" errors?

I'm only subscribed to non-MVEs. So like ~100k tickers. Is anyone else subscribing to this many and not having any issues with ""subscription overflow" errors?

Splitting up my subscriptions across multiple websockets seems to have resolved the issue. I have one process using my old code, a it has crashed about 1x per hour on "subscription buffer overflow". The process using the multiple websockets has only crashed once in about 4 hours of running due to no data checks failing (but this occasionally happened to me before so I can't say this is any worse).

Splitting up my subscriptions across multiple websockets seems to have resolved the issue. I have one process using my old code, a it has crashed about 1x per hour on "subscription buffer overflow". The process using the multiple websockets has only crashed once in about 4 hours of running due to no data checks failing (but this occasionally happened to me before so I can't say this is any worse).

Melon 2026-06-12 22:46:43 Kalshi

I wish Kalshi would just reject API requests with invalid params. It's happened so many times to me that I'm wondering why something isn't working only to realize the params I passed were being ignored.

I wish Kalshi would just reject API requests with invalid params. It's happened so many times to me that I'm wondering why something isn't working only to realize the params I passed were being ignored.

I am going to take a stab at solving this (sharding across multiple websocket connections). Will let you know how it goes. For context, I subscribe to all available tickers and a single web socket connection + single orderbook subscription worked fine until Thursday. Blocking in the read thread is unlikely to be the issue for me, I simply read the data and shove it into a queue that has ample space.

I am going to take a stab at solving this (sharding across multiple websocket connections). Will let you know how it goes. For context, I subscribe to all available tickers and a single web socket connection + single orderbook subscription worked fine until Thursday. Blocking in the read thread is unlikely to be the issue for me, I simply read the data and shove it into a queue that has ample space.

Melon 2026-06-12 00:37:15 Kalshi

can you link the docs where this is stated?

can you link the docs where this is stated?

Melon 2026-06-11 20:02:34 Kalshi

Figured it out. Not a subscription flakieness issue actually. Looks like it was over-validation on my end paired with what might have been a behavior change on Kalshi's part. I subscribe to all market tickers for all non-closed events. What I didn't consider is that this includes some tickers that have settled already. I have validation in place that I always recieve an orderbook snapshot for each ticker I subscribe to on the orderbook channel. This morning that validation began failing, but it looks like I'm no longer getting snapshots on these settled markets (before today I was). Doesn't seem like unreasonable behavior, so I can't complain too much.

Figured it out. Not a subscription flakieness issue actually. Looks like it was over-validation on my end paired with what might have been a behavior change on Kalshi's part. I subscribe to all market tickers for all non-closed events. What I didn't consider is that this includes some tickers that have settled already. I have validation in place that I always recieve an orderbook snapshot for each ticker I subscribe to on the orderbook channel. This morning that validation began failing, but it looks like I'm no longer getting snapshots on these settled markets (before today I was). Doesn't seem like unreasonable behavior, so I can't complain too much.

Melon 2026-06-11 19:23:46 Kalshi

Since the maintenance window this morning, I have not been receiving orderbook snapshots for all orderbook subscriptions I send (websocket). Not sure why yet. Also seeing flakiness with websocket subscriptions on other channels too. Sharing in case this is impacting anyone else.

Since the maintenance window this morning, I have not been receiving orderbook snapshots for all orderbook subscriptions I send (websocket). Not sure why yet. Also seeing flakiness with websocket subscriptions on other channels too. Sharing in case this is impacting anyone else.

Melon 2026-06-11 19:05:00 Kalshi

How do you know if they exist or not?

How do you know if they exist or not?

Melon 2026-06-11 18:39:41 Kalshi Kalshi API v2迁移引发429限流与端点困惑

https://docs.kalshi.com/changelog > June 11, 2026 > New endpoint: GET /trade-api/v2/account/api_usage_level/volume_progress reports your trailing 30d volume and the earn/keep volume goals for each volume-based API usage tier.

https://docs.kalshi.com/changelog > June 11, 2026 > New endpoint: GET /trade-api/v2/account/api_usage_level/volume_progress reports your trailing 30d volume and the earn/keep volume goals for each volume-based API usage tier.

Melon 2026-06-11 14:41:26 Kalshi

> WS giving out some bad data right now Bad data as in .... non sensical orderbook updates? ( negative size , crossed book) ? or something else ?

> WS giving out some bad data right now Bad data as in .... non sensical orderbook updates? ( negative size , crossed book) ? or something else ?

Melon 2026-06-10 21:16:04 Kalshi

Do these fields on the market lifecyle message have the same meaning as "open" and "close" ? I.e, the market is now open for trading , the market is closed for trading? > activated - Market activated > deactivated - Market deactivated

Do these fields on the market lifecyle message have the same meaning as "open" and "close" ? I.e, the market is now open for trading , the market is closed for trading? > activated - Market activated > deactivated - Market deactivated

Melon 2026-06-09 17:08:34 Kalshi

Hmm... keep getting these. At first I thought it was related to a change I made I've rolled it back since, and still is happening > WebSocket unexpectedly closed: statusCode=1006 reason= I'm still on the "elections" API... will try migrating to the new one and see if that fixes it

Hmm... keep getting these. At first I thought it was related to a change I made I've rolled it back since, and still is happening > WebSocket unexpectedly closed: statusCode=1006 reason= I'm still on the "elections" API... will try migrating to the new one and see if that fixes it

Melon 2026-06-09 15:04:21 Kalshi

Anyone else seeing an increase in websocket disconnects?

Anyone else seeing an increase in websocket disconnects?

Melon 2026-06-02 23:07:51 Kalshi

makes sense! Thank you!

makes sense! Thank you!

Melon 2026-06-02 23:04:37 Kalshi

Really appreciate the explanation James. 🙏 Could you confirm if my understanding is now correct? - cash balance needs to be able to cover all resting orders on a given market - if cash balance dips below resting order cost for a market, all resting orders are canceled for that market - collateral return / netting is taken into account when computing "resting order cost" for a given market

Really appreciate the explanation James. 🙏 Could you confirm if my understanding is now correct? - cash balance needs to be able to cover all resting orders on a given market - if cash balance dips below resting order cost for a market, all resting orders are canceled for that market - collateral return / netting is taken into account when computing "resting order cost" for a given market

Melon 2026-06-02 22:57:37 Kalshi

So if you have $100 in your account, you can have $100 of resting orders on an unlimited number of markets?

So if you have $100 in your account, you can have $100 of resting orders on an unlimited number of markets?

Melon 2026-06-02 22:46:24 Kalshi

Does "money available" == balance - total_resting_order_cost ? Or is there any fancy accounting? Perhaps netting out of mutually exclusive resting orders a la collateral return?

Does "money available" == balance - total_resting_order_cost ? Or is there any fancy accounting? Perhaps netting out of mutually exclusive resting orders a la collateral return?

Melon 2026-06-02 22:42:06 Kalshi

Balance in API docs is defined as "This represents the amount available for trading.". If I have $100 in my account and $100 of resting orders, I would say I have $0 remaining / available for trading. Maybe that's just a game of definitions, but to me that's how I would interpret that. > Why would you want your balance to report less your resting orders? At the end of the day, I don't really care if it's included in the balance field specifically. But I think if Kalshi is going to reject my orders, (or from what I've read in previous threads, cancel all other resting orders), it makes sense to expose a field that allows us to know how much cash we have left to post additional resting orders. > I get it might be a bit of a hassle to track the total value of resting orders across different types of markets Why do you say "different *types* of markets" ? Is there some special logic here? My understanding is that if I have $100 is my account and $100 of resting orders, the next order sent will cause all my other resting orders to be canceled. Is that correct? Or is there some kind of cross-market accounting that allows for total resting order volume to exceed the account balance?

Balance in API docs is defined as "This represents the amount available for trading.". If I have $100 in my account and $100 of resting orders, I would say I have $0 remaining / available for trading. Maybe that's just a game of definitions, but to me that's how I would interpret that. > Why would you want your balance to report less your resting orders? At the end of the day, I don't really care if it's included in the balance field specifically. But I think if Kalshi is going to reject my orders, (or from what I've read in previous threads, cancel all other resting orders), it makes sense to expose a field that allows us to know how much cash we have left to post additional resting orders. > I get it might be a bit of a hassle to track the total value of resting orders across different types of markets Why do you say "different *types* of markets" ? Is there some special logic here? My understanding is that if I have $100 is my account and $100 of resting orders, the next order sent will cause all my other resting orders to be canceled. Is that correct? Or is there some kind of cross-market accounting that allows for total resting order volume to exceed the account balance?

Melon 2026-06-02 21:53:33 Kalshi

Annoying that `portfolio/summary/total_resting_order_value` is only for FCM

Annoying that `portfolio/summary/total_resting_order_value` is only for FCM

Melon 2026-06-02 21:49:58 Kalshi

Am I interpreting this correctly?

Am I interpreting this correctly?

Melon 2026-06-02 21:49:22 Kalshi

I'm observing that `portfolio/get-balance` does not account for resting order volume. I.e. , if I have $100 in my account and have $100 of resting orders, this endpoint will return $100. (Which is a bit weird... I would think it should return $0) .

I'm observing that `portfolio/get-balance` does not account for resting order volume. I.e. , if I have $100 in my account and have $100 of resting orders, this endpoint will return $100. (Which is a bit weird... I would think it should return $0) .