Channels

A channel is the top-level scoping unit in CRE Connect. Every other resource, including watchers, wallets, operations, queries, and events, lives inside exactly one channel. Channels give you:

  • Isolation. Two unrelated business flows, for example a regulated-fund subscription pipeline and a treasury operations pipeline, run side-by-side without sharing event streams or watcher state.
  • A single, ordered event stream. All events produced inside a channel, including watcher events, operation status updates, wallet status updates, watcher status updates, and query status updates, arrive through one paginated API and one SDK polling loop.
  • A simple lifecycle. A channel is either active or archived. Archiving a channel disables it for future writes; the immutable event history remains queryable.

When to create a separate channel

Use a separate channel whenever you want a separate audit trail, a separate set of subscribers, or a separate set of watchers. Common patterns:

  • One channel per environment: a staging channel for testnets and a production channel for mainnets.
  • One channel per business line: a dta-fund-A channel for one tokenized fund and a dta-fund-B channel for another.
  • One channel per integration: useful when integrating CRE Connect into multiple downstream services that should not see each other's events.

There is no hard limit on the number of channels per tenant; create as many as your operational model needs.

What lives in a channel

Each channel owns:

  • A set of Watchers that monitor on-chain contracts (see Watchers).
  • A set of Wallets (Smart Accounts) authorized to execute operations (see Smart Accounts).
  • A set of Chain Queries: one-shot, DON-backed blockchain reads (see Chain Queries).
  • An ordered, immutable stream of Events in five shapes: watcher.event, watcher.status, wallet.status, operation.status, and query.status. Each carries an Off-Chain Reporting (OCR) proof for verification.
  • A history of submitted Operations and their lifecycle transitions.

Channel lifecycle

Channels move through two states only:

State
MeaningAllowed actions
activeThe channel can accept new watchers, wallets, and operations.Create / Update watchers, create wallets, submit operations, poll events.
archivedThe channel is read-only.Get channel, poll historical events.

A channel cannot be archived while it has active watchers. Archive every watcher in the channel first (see Manage Watcher Lifecycle).

Channel fields

When you create a channel via the SDK or REST API, you provide:

FieldRequiredConstraints
nameYes1–255 characters. Must be unique within your tenant.
descriptionNoFree-form text describing the channel's purpose.

The server returns a UUID id that you use everywhere downstream, when creating watchers, wallets, and operations.

Listing and filtering

When listing channels, you can filter by name (partial match) and status, and paginate through the results. The SDK's channels.ListInput exposes Limit (1–50, default 20) and Offset parameters; see Create and Manage Channels for examples.

Get the latest Chainlink content straight to your inbox.