For the complete documentation index, see llms.txt. This page is also available as Markdown.

Get Escrow Events

Page an escrow event timeline.

Headers

Name
Value

Content-Type

application/json

x-api-key

<token>

Open API

GET /escrows/{contractId}/events

Pages an escrow's event timeline — every on-chain action recorded against it, in order.

Name
Type
In
Description

contractId

string

path

On-chain escrow address (C…)

limit

number

query

1–200, default 50

cursor

string

query

From the previous page's nextCursor

order

asc | desc

query

Default asc (chronological); desc for newest-first

What this Endpoint returns?

The same paginated envelope as the listing: { data, hasMore, nextCursor }.

Use it to build an activity feed, or to reconstruct what happened to an escrow and when. GET /escrows/{contractId} already includes the first 200 events, so you only need this endpoint when eventsHasMore is true or when you want newest-first.

Use Example:

import axios from "axios";

const http = axios.create({
  baseURL: "https://beta.api.trustlesswork.com",
  timeout: 10000,
  headers: {
    "Content-Type": "application/json",
    "x-api-key": your_api_key,
  },
});

export const useExample = async (contractId: string) => {
  const params = new URLSearchParams({ limit: "50", order: "desc" });

  const { data } = await http.get(
    `/escrows/${contractId}/events?${params.toString()}`,
  );

  return data;
}

These reads come from the read-model, which is eventually consistent. Right after submitting a transaction a 404 usually means "not projected yet", not "does not exist" — poll briefly instead of treating it as an error.