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
Last updated