Skip to content

Fix dated CDE ticker NRE and futures market-order postOnly - #35

Merged
JKorf merged 2 commits into
JKorf:mainfrom
erwin-beckers:fix/dated-cde-ticker-and-futures-postonly
Aug 13, 2026
Merged

JKorf merged 2 commits into
JKorf:mainfrom
erwin-beckers:fix/dated-cde-ticker-and-futures-postonly

Conversation

@erwin-beckers

Copy link
Copy Markdown
Contributor

Summary

  • Dated CDE futures tickers: GetFuturesTickerAsync / GetFuturesTickersAsync used null-forgiving access on FutureProductDetails / PerpetualDetails. Dated CDE contracts (e.g. XPP-20DEC30-CDE) legitimately have no perpetual funding details, which caused a NullReferenceException. Use null-conditional and leave FundingRate / NextFundingTime unset.
  • Futures market orders: PlaceFuturesOrderAsync passed postOnly: false for non-LimitMaker orders. Coinbase rejects that on market_market_ioc with proto: unknown field "post_only". Match the spot path: true for LimitMaker, null otherwise.

Test plan

  • Call shared GetFuturesTicker(s)Async for a dated CDE symbol — no NRE; funding fields null
  • Call shared GetFuturesTicker(s)Async for a perpetual — funding fields still populated when present
  • Place a futures market order via shared client — accepted (no post_only proto error)
  • Place a futures LimitMaker order — still sends postOnly: true

erwin-beckers and others added 2 commits August 6, 2026 19:22
Dated CDE contracts (e.g. XPP-20DEC30-CDE) have no PerpetualDetails, so
the null-forgiving access in GetFuturesTicker(s)Async threw NRE. Use
null-conditional and leave FundingRate/NextFundingTime unset.

Futures PlaceOrderAsync sent postOnly=false for non-LimitMaker orders.
Coinbase rejects that on market_market_ioc with proto unknown field
"post_only". Match the spot path: true for LimitMaker, null otherwise.

Co-authored-by: Cursor <cursoragent@cursor.com>
@JKorf
JKorf merged commit 04e6618 into JKorf:main Aug 13, 2026
1 check passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants