# The BTR oracle

BTR prices against marks signed by NX Rates keepers and verified on chain by the ExternalOracle contract. A mark carries the price, a volatility estimate, a source timestamp and a signature; the contract checks the signer set, rejects timestamps from the future, and refuses marks older than the feed’s staleness bound.

Marks are pushed on a threshold-and-heartbeat schedule: a keeper submits when the price moves beyond a per-feed threshold, and again on a heartbeat when it does not. Between pushes the pool still moves, through inventory skew around the last anchored mark, so the quote reflects flow even when the mark has not changed.

Staleness is priced, not merely tolerated. The spread carries a premium proportional to the volatility times the square root of the elapsed time since the mark was signed, which is what makes an external-oracle AMM safe to run at a push cadence measured in seconds rather than blocks.

This page lets you verify the whole path end to end: the current signed mark, its age, the signer set, and the on-chain verification result.

## More

- [Documentation](https://btr.markets/docs) - full protocol corpus, every page with a markdown twin
- [llms.txt](https://btr.markets/llms.txt) - curated index for agents
- [OpenAPI specification](https://btr.markets/openapi.json) - the read-only HTTP API
- [Blog](https://btr.markets/blog)

Canonical: https://btr.markets/oracle
