Skip to main content
Profile trade views combine messages, events, and positions.

Messages

Messages are source texture. They preserve what a trader said, when they said it, and attachments or links when available. Use messages for:
  • original reasoning
  • sentiment and conviction
  • source text or media
  • hydrating a Source Message ID referenced by an event
Messages are not a second trade ledger. They should not be used to reconstruct positions manually.

Events

Events are structured trade actions:
  • open
  • increase
  • decrease
  • close
Events connect a trader, asset, direction, timestamp, optional price, related position, and optional source message.

Positions

Positions group related events into one trade record. Position reads are the right surface for:
  • open and closed position history
  • 1D, 7D, and 30D time-based performance
  • position IDs referenced by event rows
Open-position reads are the right surface for current mark-to-market state.

Profile chart and event drawers

On profile pages, chart markers and event drawers are source-backed when source material exists. Some events may be retrospective, assumed, or auto-generated; these classifications explain how the position history was reconstructed. When a return is unavailable, treat it as missing data, not zero. A time-based return can be unavailable because the position is too young, a forward price is missing, the entry price is missing, or a calculation failed.

Hydration pattern

Use this pattern when moving from a profile event to more context:
  1. Start with the event.
  2. Use positionId to hydrate position details and time-based performance.
  3. Use messageId to hydrate source text or attachments when available.
  4. Use trader and asset discovery to render names, symbols, avatars, and logos.
Last modified on June 19, 2026