> For the complete documentation index, see [llms.txt](https://canary-protocol.gitbook.io/canary/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://canary-protocol.gitbook.io/canary/overview/canary-products/canary-time-oracle.md).

# Canary Time Oracle

#### Purpose

Most chains expose time only once per block via `block.timestamp`. On Rise, blocks arrive every one second, which limits applications that need sub-second awareness. Rise’s **shreds** introduce pre-confirmations in as little as **5 ms**, but without a reliable time oracle you still don’t know *where you are inside the block*. The Canary Time Oracle fills that gap by providing a real-time, verifiable time feed.

#### How it works

* A **timer inside the TEE** emits a timestamp every **5 ms**.
* The feeder is **co-located near the Rise RPC node**, yielding \~**3 ms** end-to-end latency to contracts on Rise.
* Each timestamp **flows through the same pipeline** as prices and is **posted on-chain with a TEE attestation**.
* In the video build, Canary Nest runs in **AWS Nitro Enclaves** and uses **AWS’s timestamp service** (nanosecond precision) as the time source.
* Contracts can query the oracle to know **how far into the current block** they are and **how close to the next block boundary**, with a verifiable, high-granularity reference.

#### Security properties

* **TEE-sourced time.** The key security property is that time is taken directly from the TEE and attested; there is no additional transformation.
* **Attested updates.** Each emitted timestamp carries the enclave attestation, proving origin and integrity.
* **Same validations as prices.** The **de-duplication** and **outlier rejection** logic used for price updates also applies to time updates.

#### Operational notes (Rise Testnet)

* **Observed latency:** \~3 ms when co-located with the Rise RPC.
* **Update cadence:** 5 ms tick from the TEE timer.
* **Network feedback:** When previously deployed, Rise infrastructure appeared to interpret the high-frequency posts as spam. The service is **currently paused** but can likely be **restarted**.

#### Why it matters

* **Trading, auctions, payments:** Enables millisecond-aware logic instead of waiting for the next second-long block.
* **Gaming and interactive apps:** Real-time mechanics aligned to a verifiable clock.
* **Predictable execution:** Contracts act on precise timing within the block rather than only at block boundaries.

Check out our 3 min video explaining how it works: <https://x.com/canary_proto/status/1975924117455917372>
