Are you an LLM? Read llms.txt for a summary of the docs, or llms-full.txt for the full context.
Skip to content

perps_events

Indexer event stream with filter and sort knobs; cursor-paginated.

Signature

def perps_events(
    self,
    *,
    user_addr: Addr | None = None,
    event_type: str | None = None,
    pair_id: PairId | None = None,
    block_height: int | None = None,
    first: int | None = None,
    after: str | None = None,
    sort_by: PerpsEventSortBy = PerpsEventSortBy.BLOCK_HEIGHT_DESC,
) -> Connection[PerpsEvent]

Example

from dango.info import Info
from dango.utils.constants import MAINNET_API_URL
from dango.utils.types import Addr, PerpsEventSortBy
 
info = Info(MAINNET_API_URL, skip_ws=True)
 
page = info.perps_events(
    user_addr=Addr("0x..."),
    event_type="order_filled",
    first=20,
    sort_by=PerpsEventSortBy.BLOCK_HEIGHT_DESC,
)
for event in page.nodes:
    print(event["blockHeight"], event["eventType"], event["data"])

Parameters

user_addrAddr | None, optional.

event_typestr | None, optional. Free-form string (the indexer schema does NOT constrain it to an enum). Common values: "order_filled" (regular and liquidation book fills, both carrying a fill_id), "liquidated", and "deleveraged" (ADL — position transfers at the bankruptcy price, no fill_id).

pair_idPairId | None, optional.

block_heightint | None, optional.

firstint | None, optional. Page size.

afterstr | None, optional. Cursor for the next page.

sort_byPerpsEventSortBy, optional. BLOCK_HEIGHT_ASC or BLOCK_HEIGHT_DESC. Default: BLOCK_HEIGHT_DESC (matches the indexer's server-side default).

Returns

Connection[PerpsEvent] — a page of PerpsEvent plus cursors.

See also