Repository navigation
feat(client): add reward market discovery - #346
Merged
Merged
Conversation
kartojal
marked this pull request as ready for review
October 9, 2026 13:12
There was a problem hiding this comment.
Cursor Bugbot has reviewed your changes using default effort and found 1 potential issue.
❌ Bugbot Autofix is OFF. To automatically fix reported issues with cloud agents, have a team admin enable autofix in the Cursor dashboard.
Reviewed by Cursor Bugbot for commit 5779c1d. Configure here.
cesarenaldi
approved these changes
Oct 19, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.

Add
list_reward_marketson sync/async clients through normalized cursor pagination, retaining supported discovery filters across pages. Removeexclude_tag_slugsfrom every signature and request builder after clob-v2 #991 removed the wire filter on October 8. Included tags and exactmin_volume_24hr/max_volume_24hrbounds remain supported.Expose the input-only
RewardMarketSortas supported string literals on all four client signatures, with runtime validation retained for dynamic inputs.Make optional reward-market
end_datedefault to None, so omitted, null and empty values are all accepted. Empty reward configurations remain supported.Validation on 5e51036: Ruff lint/format, Pyright (0 errors), Sphinx, offline wheel/sdist build and 61 focused tests pass, including missing dates and filter retention across two pages in both modes. Full suite before the final sort typing fix: 3,214 passed, 181 deselected, 2 known external wallet-discovery HTTP403 failures, also reproduced on unchanged source. Fresh independent review found no remaining actionable findings after fixing and re-reviewing the Python sort vocabulary. Terminal CI succeeded. Public live reads were blocked by CONNECT tunnel HTTP403.
Companions: TypeScript #411, docs #493.
Note
Low Risk
Read-only public CLOB API with validation and tests; no auth, trading, or payment logic changes.
Overview
Adds reward market discovery via
list_reward_marketson sync/async public and secure clients, callingGET /rewards/markets/multiwith cursor pagination and filters (search, tags, events, sort, volume/spread/price bounds).Introduces
RewardMarketandRewardMarketSortmodels (including optionalend_datenormalized toNonewhen omitted or empty) plusbuild_list_reward_markets_request/parse_reward_markets_pagewith input validation. Types are re-exported from the package root.Unit and transport tests cover query param mapping, parsing edge cases, and filter retention across pages on unsigned CLOB reads.
Reviewed by Cursor Bugbot for commit f67e671. Bugbot is set up for automated code reviews on this repo. Configure here.