---
title: "Event feed"
method: GET
path: "/v1/protocol/activity"
tags: ["Protocol"]
---

# Event feed

`GET /v1/protocol/activity`

On-chain events unioned with balance-derived PnL settlements (`source: derived`; no signature appears in both). Cursor-paginated, newest first. `signature=` returns one transaction's events (no cursor).

## Query parameters

- `limit` integer
- `before` string
- `type` string
- `program` 'exchange' | 'stability-pool'
- `signature` string

## Response `200`

Cache-Control: public, max-age=10.

- Activity
  - `events` ActivityEvent[], required
    - `signature` string, required
    - `eventName` string, required — Raw on-chain event name, e.g. `SwapExoToUsdcEvent`.
    - `eventType` string, required — Canonical type, e.g. `SwapExoToUsdc`.
    - `program` 'exchange' | 'stability-pool', required
    - `blockTime` string, date-time, required
    - `slot` integer, required
    - `eventIndex` integer, required
    - `source` 'event' | 'derived', required — `derived` = balance-derived PnL settlement, not chain-attested.
    - `eventData` object, required — Verbatim decoded payload; snake_case IDL keys, decimals as strings.
  - `cursor` string, nullable — Pass as `before` for the next page; null when history is exhausted. Absent in per-tx mode.

## Other responses

- `400` — Invalid parameter.

---

[API](https://skmtc.dev/hylo/apis/hylo-public-api.md) · [All operations](https://skmtc.dev/hylo/apis/hylo-public-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/hylo/hylo-public-api/revisions/fe91f85eefd4/schema)
