Skip to main content
Package: monaco.api.trades Source: protos/api/trades.proto Use TradesService for recent trade history, single-trade lookup, and authenticated user trade history.

Notes

  • Recent public trades do not require authentication.
  • GetTrades is cursor-paginated, newest first: send an empty page_token to start, then each response’s next_page_token until it comes back empty; an empty token is definitive. page_size defaults to 25 and must be 1–1000. The walk seeks on (executed_at, id), so a page never repeats or skips a trade when new fills land mid-walk. The token is pinned to its trading_pair_id, so a token reused for another pair, or one minted by ListUserTrades, is rejected. There is no page field: code that still sets it fails to compile against a regenerated stub, and a stub generated from an older proto has the unknown field discarded and reads the first page on every call. The walk covers the recent trades window, not a pair’s full archived history.
  • ListUserTrades is authenticated and gRPC-only.
  • ListUserTrades returns UserTrade.fee as the total fee paid (monaco_fee + builder_fee); builder_fee is "0" for a maker. All three are integer strings in raw quote units, scaled by 10^quoteDecimals (so 4178 is 0.004178 at six decimals); this message carries no separate normalized fee fields.
  • ListUserTrades accepts an optional order_id UUID that returns only trades where that order placed the caller’s own side of the fill, across hot and archived history. Adding or changing it invalidates an existing page_token — restart the cursor walk with an empty token.