Skip to main content
GET
/
v1
/
pm
/
pnl
Get PnL
curl --request GET \
  --url https://relay.bayse.markets/v1/pm/pnl
{
  "realizedPnl": 31.11,
  "realizedPnlPercent": 6.03,
  "settlementPnl": 24.50,
  "tradePnl": 6.61,
  "wins": 8,
  "losses": 6,
  "currency": "USD",
  "breakdown": [
    {
      "eventId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "eventTitle": "Will BTC close above $95k today?",
      "realizedPnl": 12.35,
      "currency": "USD",
      "lastActivity": "2026-03-20T14:30:00Z"
    },
    {
      "eventId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "eventTitle": "Will Super Eagles qualify for AFCON 2026?",
      "realizedPnl": -3.50,
      "currency": "USD",
      "lastActivity": "2026-03-19T09:15:00Z"
    }
  ]
}

Authentication

Read authentication required — X-Public-Key header. See the Authentication guide.

Query parameters

timePeriod
string
Predefined time window. If omitted and no custom range is provided, defaults to all time.Rolling windows: 12H, 24H, 1W, 1M, 1Y — relative to current time (e.g. 1M = last 30 days).Calendar windows: THIS_WEEK, THIS_MONTH, THIS_YEAR — from the start of the current week/month/year to now.
start
string
Custom start time in ISO 8601 format. Overrides timePeriod. Must be paired with end.
end
string
Custom end time in ISO 8601 format. Overrides timePeriod. Must be paired with start.
currency
string
Currency filter — USD or NGN. Defaults to USD if omitted. PnL is computed per currency, so if you traded only in NGN and query USD, all values will be zero.
breakdown
boolean
Include per-event breakdown (top 30 events by most recent activity). Defaults to false.

Example request

curl "https://relay.bayse.markets/v1/pm/pnl?timePeriod=1M&breakdown=true" \
  -H "X-Public-Key: pk_live_abcdef123456"

Response

realizedPnl
number
Total realized PnL — the sum of settlementPnl and tradePnl.
realizedPnlPercent
number
Realized PnL as a percentage of total cost basis. 0 when no cost basis exists in the queried period.
settlementPnl
number
PnL from resolved markets. Computed as total payouts received minus total cost basis of settled positions.
tradePnl
number
PnL from selling shares before market resolution. Computed as proceeds minus cost basis for each sell.
wins
integer
Number of settled positions that received a payout.
losses
integer
Number of settled positions that received zero payout.
currency
string
Currency the PnL is denominated in.
breakdown
array
Per-event PnL breakdown. Only present when breakdown=true.
{
  "realizedPnl": 31.11,
  "realizedPnlPercent": 6.03,
  "settlementPnl": 24.50,
  "tradePnl": 6.61,
  "wins": 8,
  "losses": 6,
  "currency": "USD",
  "breakdown": [
    {
      "eventId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
      "eventTitle": "Will BTC close above $95k today?",
      "realizedPnl": 12.35,
      "currency": "USD",
      "lastActivity": "2026-03-20T14:30:00Z"
    },
    {
      "eventId": "b2c3d4e5-f6a7-8901-bcde-f12345678901",
      "eventTitle": "Will Super Eagles qualify for AFCON 2026?",
      "realizedPnl": -3.50,
      "currency": "USD",
      "lastActivity": "2026-03-19T09:15:00Z"
    }
  ]
}