Skip to main content
Server-streaming RPC. Streams ledger updates from a starting offset (exclusive) up to an optional end offset (inclusive). Each message is either a committed LedgerTransaction or a bare LedgerOffsetCheckpoint. Typically used to confirm transaction submission or to tail the ledger.

Request

begin_exclusive
int64
required
Offset to start streaming from (exclusive). Use the result of GetLedgerEnd to start from “now”.
end_inclusive
int64 (optional)
Optional end offset (inclusive). Omit to stream indefinitely.
template_filters
string[]
Optional Daml template filters.
message GetUpdatesRequest {
  int64 begin_exclusive        = 1;
  optional int64 end_inclusive = 2;
  repeated string template_filters = 3;
}

Response

message GetUpdatesResponse {
  oneof update {
    LedgerTransaction       transaction       = 1;
    LedgerOffsetCheckpoint  offset_checkpoint = 2;
  }
}
offset_checkpoint messages let the server advance your cursor even when no transactions match your filter — always persist the latest observed offset to resume cleanly.

See also

  • GetLedgerEnd — fetch the current offset to use as begin_exclusive.
  • GetActiveContracts — snapshot of currently active contracts (one-shot, not a tail).
  • ExecuteTransactionupdate_id from its response can be matched against LedgerTransaction events here for confirmation.