BETA — mainnet live (chain 482120); features are still being finished. Transparency →
Bitcoin Swap BETA Chain 482120
Developers · Concepts

Trust model

Who controls what and what they can do — know this before you integrate.

Concepts › Trust model

This page lists who holds which permissions on each contract, read from the chain and the contract sources on 4 Oct 2026, so you can see exactly what each role can and cannot do.

Summary

Owner permissions by contract

ContractOwnerOwner can
Sealed bridge routes: BTCw native vault, USDC.e (482120); WBTC and USDC routers (Arbitrum One)0xB17b…d952 pause the route and manage its allowlist — nothing else. The verification module is fixed at deployment, the remote router is enrolled once and cannot be changed, the hook cannot be changed, and there is no owner withdrawal
WBTCwnoneno owner, no pause, no mint function. New WBTCw is minted only when the vault sends BTCw released against WBTC locked on Arbitrum; it goes to the beneficiary (0xB17b…d952), which has no other power. Anyone can unwrap with withdraw
SimpleEarn · FixedEarn · StakedBTCw0xB17b…d952 create or disable markets, pause new deposits, take back the part of the reward budget not yet paid out (reclaim), recover tokens sent by mistake (sweep, which excludes deposits and booked rewards). FixedEarn: set term rates and the per-asset rate floor; a rate setter may move rates within [minSetterAprBps, maxSetterAprBps]. StakedBTCw: change the unstake cooldown (up to MAX_COOLDOWN, only while paused). Withdrawals, claims, redemptions and unstaking keep working while paused; the owner has no function that moves a depositor's principal
EarnPriceSource0xB17b…d952change the price sources and the maximum price age
UsdClpPools0xB17b…d952create pools, enable/disable pools, change the minimum fee, pause; add or remove Owner-provided liquidity; sweep tokens sent by mistake
UsdRebalancer0xB17b…d952change parameters, set keepers, pause, withdraw its own inventory (it mints nothing)
Uniswap V2 factoryfeeToSetter 0xB17b…d952turn on the protocol fee (feeTo, 1/6 of the 0.30% fee); currently off. Pairs and router have no owner
USDw0x4aFd…74A4amint without limit; change name/symbol
TokenFactory · price-tracker tokens0x4aFd…74A4achange the minter, change mint caps, change name/symbol, transfer token ownership
OracleRebalancer0x4aFd…74A4achange parameters (threshold, step, daily cap…), set the keeper, pause, withdraw the contract's assets
ClpPools0x4aFd…74A4acreate pools, enable/disable individual pools, change the minimum fee (up to 10%), pause; withdraw Owner-provided liquidity. sweep only recovers funds sent by mistake — it cannot withdraw pool depth
OracleAMM · OracleTokenAMM (ETHw)0x4aFd…74A4adeposit/withdraw liquidity, change spread / per-trade cap / max price age, change the price feed, change the peg ratio, pause
BtcwPriceFeed · PriceHub0x4aFd…74A4awrite prices manually (ownerSubmit), change the updater, change the price-jump limit
USDC / USD₮0 ⇄ USDw routes (R-40, 2 routers on each chain)0x4aFd…74A4apause, enable the allowlist, and every permission of a standard Hyperlane warp route: change the ISM, the hook and the remote routers

All of these permissions can be read in the contract sources. We are not aware of any permission outside the list above.

What you can read before every action

Self-verifiable figures (genesis, block cadence): Transparency page.