> For the complete documentation index, see [llms.txt](https://docs.ducatprotocol.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.ducatprotocol.com/how-ducat-works/oracles.md).

# Oracles

The price oracle is a web server (or group of servers) that responds to requests for a price quote, which is a signed attestation of the Bitcoin to USD exchange rate at a specific point in time. Each quote includes a UTC timestamp and the corresponding exchange rate. Users can request a quote for the latest price or for a historical price by providing a specific timestamp.

Each request also includes a threshold price, which is supplied by the user. This threshold is used by the oracle to generate a unique secret key. The key is then hashed and returned to the user along with the price quote.

This protocol allows the price oracle to trigger stop-loss events within the DUCAT protocol without requiring any awareness of the protocol or its users. The event is triggered using a cryptographic hash embedded in Bitcoin Script, with the secret preimage revealed only when the threshold condition is met.
