# OSM

### **Purpose**

It ensures that new price values propagated from the Oracles are not taken up by the system until a specified delay has passed.

### Key Responsibilities

* Periodically feeds a delayed price into the system for a particular collateral type.

### Key Methods

* `peek()`\
  Returns the current feed value and a boolean indicating whether it is valid.
* `read()`\
  Returns the current feed value; reverts if it was not set by some valid mechanism.
* `peep()`\
  Returns the next feed value (i.e. the one that will become the current value upon the next `poke()` call), and a boolean indicating whether it is valid.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.usdd.io/developers/core-contracts/osm.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
