OperateRunbooks
Quote Server Operations
Run and diagnose the quote server and related signer, M1, liquidation, and oracle-updater paths.
Scope
Use this when quote generation, M1 material, liquidation inventory, or fixed oracle updates are unhealthy.
Start And Health
make quote-dev
make quote-healthIf the server imports stale SDK code, refresh file dependency installs:
pnpm install --frozen-lockfile --filter @steerprotocol/collateral-rail-sdk
pnpm install --frozen-lockfile --filter @steerprotocol/collateral-rail-quote-serverRequired Runtime Inputs
COLLATERAL_MANAGERSETTLEMENT_CONTROLLERfor registered-issuer pathsCHAIN_IDSPONSOR_SIGNER_PRIVATE_KEYor accepted signer aliasesQUOTE_RPC_URL,RPC_URL, orSEPOLIA_RPC_URLM1_JWTfor M1-backed endpoints
Diagnose By Symptom
| Symptom | Likely area | First check |
|---|---|---|
/healthz down | process/config | startup logs and missing env |
| signed quote rejected | signer/domain/policy | signer, chain id, verifying contract |
| M1 deposit/redeem fails | issuer material | M1 auth, permit source, beneficiary capacity |
| liquidation endpoint empty | candidate/index window | block range and controller config |
| fixed oracle stale | updater ownership/config | updater logs and target owner |
Fixed Oracle Updater
Quote-server health does not prove updater success. Look for updater-specific log lines:
- enabled targets and interval.
fixed oracle updated ...fixed oracle already current ...- ownership errors naming updater and current owner.
If one target fails first, later configured targets may not update during that cycle. Diagnose the first failing target before assuming the rest are healthy.
Verification
After a fix:
- quote server starts without config errors.
/healthzresponds.- the affected endpoint returns a structured response or a deliberate fail-closed reason.
- logs show the background updater or LI.FI loop path succeeding when relevant.