Feeds
- WBTC/USD · Bifrost native price oracle (Chainlink-compatible) · Bifrost Network · 10m heartbeat
- BTCB/USD · Bifrost native price oracle (Chainlink-compatible) · Bifrost Network · 10m heartbeat
- BTC/USD · Bifrost native price oracle (Chainlink-compatible) · Bifrost Network · 10m heartbeat
- BTC/USD (shared with native BTC handler) · Bifrost native price oracle (Chainlink-compatible) · Bifrost Network · 10m heartbeat
WBTC collateral handler
WBTC · max LTV 50% · MCR 200% · On-chain getTokenHandlerBorrowLimit(0)=0.5e18 (50% LTV); mint docs state maximum 50% of collateral. Margin-call/liquidation threshold getTokenHandlerMarginCallLimit(0)=0.95e18 (liquidatable when borrow >= 95% of deposit value).
BiFi-style third-party partialLiquidation when aggregate borrow >= sum(deposit*marginCallLimit); liquidator repays BtcUSD and receives collateral reward via market manager. No delay, grace period, auction window, or bidding queue exists on that path: liquidationManager.partialLiquidation carries only the circuitBreaker modifier, and its eligibility test _checkLiquidation is an instantaneous comparison of current oracle-priced deposit and borrow balances with no timestamp or block-height term. Proved callable at Bifrost block 37501309 (2026-08-09): market manager 0xd7b2128083ffc91a05d77cc90c7a34f8dac59de5 getCircuitBreaker() is false, getTokenHandlerSupport(0) is 1, and partialLiquidationUser reverts Error("LM") for an unauthorized caller while an authorized caller passes every authority check and reaches the collateral arithmetic (Error("unified div by zero") against an empty test position), no timer stands between the two. · liquidation delay None
No stability pool or protocol-owned backstop identified; recovery depends on external liquidators.
Oracle proxy getTokenPrice calls feed.latestAnswer only (BiFi oracleProxy.sol); reverts on zero price; no last-good-price cache and no secondary feed. Owner 0xf357a08c can setOracleFeed/setOracleProxy.
Market manager getCircuitBreaker() was false at observation; owner can freeze handlers via circuit breaker. Zero feed answer reverts pricing. No automatic bad-debt socialization or branch isolation beyond the shared circuit breaker was identified.
BTCB collateral handler
BTCB · max LTV 50% · MCR 200% · getTokenHandlerBorrowLimit(1)=0.5e18; getTokenHandlerMarginCallLimit(1)=0.999e18 (liquidatable only when borrow >= 99.9% of deposit value).
Shared BiFi partialLiquidation path using this handler's margin-call limit and BTCB/USD price; the same delay-free path as the WBTC handler, with the looser 99.9% margin-call limit re-read on-chain at block 37501309 (2026-08-09) as getTokenHandlerMarginCallLimit(1)=0.999e18. liquidationDelaySec 0 is the absence of any waiting period, not an unset field: a BTCB borrower is liquidatable the moment aggregate borrow reaches 99.9% of deposit value. · liquidation delay None
No stability pool or protocol-owned backstop identified; recovery depends on external liquidators.
Same BiFi oracle proxy path: latestAnswer only, zero-price revert, owner-replaceable feed mapping; no secondary feed.
Shared market-manager circuit breaker and zero-price revert; no BTCB-specific isolation beyond distinct feed and margin-call parameter.
Native BTC collateral handler
BTC · max LTV 50% · MCR 200% · getTokenHandlerBorrowLimit(3)=0.5e18; getTokenHandlerMarginCallLimit(3)=0.95e18.
Shared BiFi partialLiquidation path using this handler's margin-call limit and BTC/USD price; the same delay-free path as the WBTC handler, with getTokenHandlerBorrowLimit(3)=0.5e18 and getTokenHandlerMarginCallLimit(3)=0.95e18 re-read on-chain at block 37501309 (2026-08-09). liquidationDelaySec 0 is the absence of any waiting period, not an unset field: liquidation is callable in the same transaction in which the position crosses 95%. · liquidation delay None
No stability pool or protocol-owned backstop identified; recovery depends on external liquidators.
Same BiFi oracle proxy path: latestAnswer only, zero-price revert, owner-replaceable feed mapping; no secondary feed.
Shared market-manager circuit breaker and zero-price revert; no BTC-handler isolation beyond the shared circuit breaker.
cbBTC collateral handler
cbBTC · max LTV 50% · MCR 200% · getTokenHandlerBorrowLimit(4)=0.5e18; getTokenHandlerMarginCallLimit(4)=0.95e18; getOracleFeed(4) equals getOracleFeed(3).
Shared BiFi partialLiquidation path using this handler's margin-call limit and the shared BTC/USD price; the same delay-free path as the WBTC handler, with getTokenHandlerBorrowLimit(4)=0.5e18, getTokenHandlerMarginCallLimit(4)=0.95e18, and getOracleFeed(4)=getOracleFeed(3)=0x1b4b4a439edb741f161b01634cf47bc4896e5cfb re-read on-chain at block 37501309 (2026-08-09). liquidationDelaySec 0 is the absence of any waiting period, not an unset field. · liquidation delay None
No stability pool or protocol-owned backstop identified; recovery depends on external liquidators.
Same BiFi oracle proxy path: latestAnswer only, zero-price revert, owner-replaceable feed mapping; no secondary feed.
Shared market-manager circuit breaker and zero-price revert; shares the BTC/USD feed failure domain with the native BTC handler.