# Registry

*[Documentation index](/llms.txt) · [Full index](/llms-full.txt)*

The `Registry` shared object tracks the Predict object ID and the oracle IDs created by each `OracleSVICap`. The registry module also exposes admin entry points for setup, quote asset management, oracle creation, pricing configuration, risk configuration, and the withdrawal limiter.

Most app integrations do not call these functions directly. They are operator and governance surfaces for deploying and maintaining the protocol.

## API

**Read registered object IDs**

Use these functions to read the active Predict object ID and the oracle IDs associated with an oracle cap.

<!-- External code reference: packages/predict/sources/registry.move -->

**Create the Predict object**

The `create_predict()` function creates the shared `Predict` object once for a quote asset and records its ID in the registry.

<!-- External code reference: packages/predict/sources/registry.move -->

**Create and register oracle caps**

Oracle caps authorize oracle operators to update oracles and tighten per-oracle ask bounds.

<!-- External code reference: packages/predict/sources/registry.move -->

**Create an oracle**

The `create_oracle()` function creates an `OracleSVI`, associates it with the calling cap, and initializes the Predict vault's strike grid for that oracle.

<!-- External code reference: packages/predict/sources/registry.move -->

**Manage quote assets**

Admins can enable or disable quote assets for new supply and mint inflows.

<!-- External code reference: packages/predict/sources/registry.move -->

**Configure pricing**

These functions control global spread, minimum spread, utilization multiplier, and global ask price bounds.

<!-- External code reference: packages/predict/sources/registry.move -->

**Configure oracle ask bounds**

Oracle ask-bound overrides are authorized by the oracle's cap and can only tighten the global bounds.

<!-- External code reference: packages/predict/sources/registry.move -->

**Configure trading and risk controls**

These functions control the trading pause, max total exposure percentage, and LP withdrawal limiter.

<!-- External code reference: packages/predict/sources/registry.move -->

## Structs and events

**`Registry` and `AdminCap`**

<!-- External code reference: packages/predict/sources/registry.move -->

**Registry events**

<!-- External code reference: packages/predict/sources/registry.move -->
