---
title: "Normalized owner activity events"
method: GET
path: "/v3/activity/accounts/{owner}/events"
tags: ["Activity"]
---

# Normalized owner activity events

`GET /v3/activity/accounts/{owner}/events`

Returns one deterministic timeline across the requested chains and the owner's complete
256-address EVC account family, spanning the owner at ID 0 through subaccount ID 255.
Account identities are excluded from request logs and persisted endpoint telemetry.
Coverage is aggregated across chains and reports incomplete
reward claims or unclassified multiply intent as partial. Unsupported sources and indexer
synchronization state are explicit in `meta.coverage`. Any positive safe-integer chain ID is
accepted; chains without V3 Activity indexing return HTTP 200 with an empty timeline and
per-chain `unsupported` coverage. Governance actor and before/after enrichment,
underlying-asset metadata and valuation, and swap asset/vault mapping can be unavailable.
Missing normalized values stay absent, source fields remain in `payload`, and coverage continues
to describe indexed event-family availability. Transient projection failures retain indexed events
and report partial coverage rather than authoritative unsupported or complete coverage.

## Path parameters

- `owner` string, required

## Query parameters

- `chainId` string, required
- `category` string
- `eventType` string
- `cursor` string
- `from` integer
- `to` integer
- `limit` integer

## Response `200`

Normalized owner activity timeline and per-chain indexed-source coverage.

- ActivityResponse
  - `data` ActivityEvent[], required
    - `id` string, required
    - `chainId` integer, required
    - `timestamp` string, date-time, required
    - `blockNumber` string, required
    - `logIndex` integer, required
    - `txHash` string, required
    - `type` 'deposit' | 'withdraw' | 'mint' | 'burn' | 'transfer' | 'borrow' | 'repay' | 'swap' | 'interest_accrued' | 'debt_socialized' | 'pull_debt' | 'liquidation' | 'approval' | 'balance_forwarder_status' | 'convert_fees' | 'set_caps' | 'set_ltv' | 'set_governor_admin' | 'set_config_flags' | 'set_fee_receiver' | 'set_hook_config' | 'set_interest_fee' | 'set_interest_rate_model' | 'set_liquidation_cool_off_time' | 'set_max_liquidation_discount' | 'set_oracle_config' | 'set_fallback_oracle' | 'set_resolved_vault' | 'set_oracle_governor' | 'accrue_interest' | 'update_last_total_assets' | 'update_lost_assets' | 'reallocate_supply' | 'reallocate_withdraw' | 'set_name' | 'set_symbol' | 'set_fee' | 'set_fee_recipient' | 'set_curator' | 'set_guardian' | 'set_timelock' | 'set_cap' | 'set_is_allocator' | 'set_supply_queue' | 'set_withdraw_queue' | 'submit_cap' | 'submit_guardian' | 'submit_timelock' | 'submit_market_removal' | 'revoke_pending_cap' | 'revoke_pending_guardian' | 'revoke_pending_timelock' | 'revoke_pending_market_removal' | 'ownership_transfer_started' | 'ownership_transferred' | 'frozen' | 'unfrozen' | 'paused' | 'unpaused' | 'seized' | 'set_controller_perspective' | 'set_supply_cap' | 'owner_registered' | 'collateral_status' | 'operator_status' | 'controller_status' | 'lockdown_mode_status' | 'nonce_status' | 'nonce_used' | 'permit_disabled_mode_status' | 'reward_lock_created' | 'reward_lock_removed' | 'reward_transfer' | 'reward_whitelist_status' | 'public_reallocate_to' | 'public_withdrawal' | 'set_admin' | 'set_allocation_fee' | 'set_flow_caps' | 'transfer_allocation_fee' | 'buy' | 'terms_of_use_signed', required — Normalized event type. Filters apply to this value, not the source table name.
    - `category` 'lending' | 'borrowing' | 'swaps' | 'liquidations' | 'account' | 'rewards' | 'governance', required
    - `source` 'v3-ponder', required
    - `rawType` string
    - `owner` string
    - `account` string
    - `subAccountIndex` integer
    - `vault` string
    - `vaultType` 'evk' | 'earn' | 'securitize'
    - `actor` string
    - `counterparty` string
    - `assets` ActivityAsset[]
      - `kind` 'assets' | 'shares' | 'value' | 'collateral' | 'yield', required
      - `amountRaw` string, required — Native-unit on-chain amount without decimal normalization.
      - `address` string — Token or vault address that gives the amount context when indexed.
      - `symbol` string
      - `decimals` integer
      - `amount` string — Optional decimal-normalized enrichment.
      - `amountUsd` string — Optional event-time USD enrichment. Absence never means zero.
    - `change` ActivityChange
      - `fields` object, required — Source-specific changed fields retained under normalized event identity.
    - `valuation` ActivityValuation
      - `status` 'available' | 'unavailable' | 'partial', required
      - `amountUsd` string
      - `priceTimestamp` string, date-time
      - `source` string
      - `reason` string
    - `groupId` string
    - `payload` object — Source-specific fallback fields. Normalized properties remain authoritative.
  - `meta` object, required
    - `hasMore` boolean, required
    - `nextCursor` string, nullable, required
    - `source` 'v3-ponder', required
    - `coverage` ActivityCoverage, required
      - `status` 'complete' | 'partial' | 'unsupported' | 'syncing', required
      - `chains` ActivityChainCoverage[], required
        - `chainId` integer, required
        - `status` 'complete' | 'partial' | 'unsupported' | 'syncing', required
        - `indexedFromBlock` string
        - `indexedToBlock` string
        - `missingCategories` ActivityCategory[], required
        - `reason` string
      - `missingCategories` ActivityCategory[], required
      - `reason` string
    - `timestamp` string, date-time, required

## Other responses

- `400` — Bad request
- `429` — Rate limited
- `500` — Internal server error
- `503` — Service unavailable

---

[API](https://skmtc.dev/euler/apis/euler-data-api-v3.md) · [All operations](https://skmtc.dev/euler/apis/euler-data-api-v3/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/euler/euler-data-api-v3/revisions/9573a5fbd4a6/schema)
