Skip to content

Releases: pbeets/kalshi-trade-rs

v0.3.0

01 Mar 08:22
d2999aa

Choose a tag to compare

What's New

New Features

  • QuoteExecuted WebSocket events: New QuoteExecuted variant on CommunicationData enum for quote execution notifications. Previously these were silently dropped on the communications channel.
  • UserOrders WebSocket channel: Real-time order update notifications with optional market_tickers filtering (requires authentication).
  • Historical data endpoints: 6 new endpoints for accessing archived markets, candlesticks, fills, and orders beyond the rolling cutoff.
  • Fixed-point _fp fields: Across REST and WebSocket types for precise decimal values without floating-point rounding.
  • Subaccount support: Extended across orders, RFQs, quotes, fills, settlements, order groups, and balance queries.
  • Order group enhancements: New trigger_order_group(), update_order_group_limit() endpoints and WebSocket lifecycle channel.
  • Multivariate enrichments: Collection events, associated events, selected-market support for lookups.
  • New REST endpoints: get_api_limits(), get_balance_with_params(), get_order_group_for_subaccount(), and more.

Improvements

  • Added #[serde(default)] to Series fields for resilience against API omissions.
  • Corrected create_order_group endpoint path in API docs.
  • Reduced WebSocket log noise (ping events no longer logged at info level).

Breaking Changes

  • CommunicationData enum gained a new QuoteExecuted variant — exhaustive match arms will need updating.
  • Version bump from 0.2.0 to 0.3.0.

See CHANGELOG.md for the full list of changes.

v0.2.0

19 Jan 04:08

Choose a tag to compare

What's Changed

Added

  • ConnectionLost now includes a subscriptions field containing the channels and markets that were active at the time of disconnection. This enables automatic resubscription after reconnecting.
  • Fixed-point decimal fields (*_dollars suffix) added throughout the API for prices and costs, avoiding floating-point precision issues.
  • WebSocket sharding support via CommunicationsSharding for high-throughput market makers handling RFQ traffic across multiple connections.
  • Exported CommunicationData, RfqData, RfqDeletedData, QuoteData, and QuoteAcceptedData types from the ws module for easier RFQ event handling.
  • New rfq_verify example demonstrating read-only RFQ API verification.
  • RFQ documentation in README with usage examples for creating RFQs, submitting quotes, and streaming events.

Changed

  • Breaking: StreamMessage::ConnectionLost variant now has two fields: reason and subscriptions. Update pattern matches from ConnectionLost { reason } to ConnectionLost { reason, .. } or ConnectionLost { reason, subscriptions }.

Fixed

  • Improved documentation for WebSocket reconnection patterns with examples showing how to use the new subscriptions field.

Full Changelog: v0.1.0...v0.2.0

v0.1.0 - Initial Release

18 Jan 20:08

Choose a tag to compare

Initial Release

A Rust client for the Kalshi trading API and WebSocket streams.

Features

  • REST API client with full endpoint coverage
  • WebSocket streaming client with subscription management
  • RSA-PSS authentication for secure API access
  • Typed DisconnectReason enum for connection lifecycle events
  • Health monitoring with configurable ping/pong timeouts
  • Connection strategies: Simple (fast-fail) and Retry (exponential backoff)
  • Support for all public and authenticated WebSocket channels

Installation

Add to your Cargo.toml:

[dependencies]
kalshi-trade-rs = "0.1.0"

Documentation