← Back to Documentation

Circuit Breaker API Active

Scope: FeedOracle provides data infrastructure only. This is not certification of any kind, audit, or legal advice. Organizations must perform their own regulatory assessment.

Automated risk detection for stablecoins. Monitors peg stability, reserve ratios, and attestation freshness in real-time.

What it does

The Circuit Breaker continuously monitors RLUSD health and returns actionable status codes for DeFi protocols and risk systems:

  • OK (Code 1) → Normal operations
  • WARNING (Code 2) → Increase collateral / heightened monitoring
  • CRITICAL (Code 3) → Pause withdrawals / halt operations

Endpoints

GET/api/v1/circuit/status

Full status with all health checks and recommended action.

{
  "status": "WARNING",
  "code": 2,
  "action": "INCREASE_COLLATERAL",
  "asset": "RLUSD",
  "checks": {
    "peg": { "status": "OK", "measured_price": 0.9998 },
    "reserve": { "status": "OK", "measured_ratio": 1.042 },
    "attestation_recency": { "status": "WARNING", "measured_days": 66 },
    "data_freshness": { "status": "OK", "measured_hours": 0.3 }
  }
}
GET/api/v1/circuit/operational

Simple boolean for smart contracts. Returns true if OK, false if WARNING or CRITICAL.

{ "operational": true, "code": 1 }
GET/api/v1/circuit/test/warning

Demo endpoint - simulates WARNING state for testing.

GET/api/v1/circuit/test/critical

Demo endpoint - simulates CRITICAL state for testing.

Health Checks

CheckMeasuresOKWARNINGCRITICAL
peg Price deviation from $1.00 < 1% 1-5% > 5%
reserve Reserve ratio (assets/liabilities) > 100% 95-100% < 95%
attestation_recency Days since last attestation report < 45 days 45-60 days > 60 days
data_freshness Hours since last data update < 24h 24-48h > 48h

Status Logic

The overall status is determined by the worst individual check:

IF any check == CRITICAL  →  CRITICAL (Code 3)
ELSE IF any check == WARNING  →  WARNING (Code 2)
ELSE  →  OK (Code 1)

Recommended Actions

StatusCodeActionUse Case
OK1 NORMAL_OPERATIONS Continue normal trading/lending
WARNING2 INCREASE_COLLATERAL Raise collateral requirements, increase monitoring
CRITICAL3 PAUSE_WITHDRAWALS Halt new positions, pause withdrawals

Integration Examples

Quick Health Check (curl)

curl https://api.feedoracle.io/api/v1/circuit/status

Smart Contract Integration (Solidity)

interface ICircuitBreaker {
    function operational() external view returns (bool);
}

contract MyProtocol {
    ICircuitBreaker circuit = ICircuitBreaker(ORACLE_ADDRESS);
    
    function withdraw() external {
        require(circuit.operational(), "Circuit breaker: paused");
        // ... withdrawal logic
    }
}

JavaScript/Node.js

const res = await fetch('https://api.feedoracle.io/api/v1/circuit/status');
const data = await res.json();

if (data.code === 3) {
  console.log('CRITICAL - halt operations');
} else if (data.code === 2) {
  console.log('WARNING - increase monitoring');
} else {
  console.log('OK - normal operations');
}
Tip: Use /api/v1/circuit/operational for simple boolean checks in smart contracts. Use /api/v1/circuit/status for detailed diagnostics in dashboards.
Disclaimer: Data infrastructure only. Circuit Breaker provides risk signals, not financial advice. Users are responsible for their own risk management decisions.

Related