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

Swap and bridge on
the Bitcoin Swap chain

201 pools paired with BTCw — 100 crypto tokens, 100 US stocks — an OracleAMM priced by the oracle, and a Hyperlane bridge to Arbitrum One. Every number on this page is read directly from the chain — nothing is typed in by hand.

BTCw price · oracle—
Block—
Pools201
BridgeArbitrum ⇄ 482120

Swap across 201 pools. Every pool is paired with BTCw, plus an OracleAMM for the BTCw ⇄ USDw pair — the page compares both venues and picks the one that returns more.

Highest-priced pools · live
loading…
Live quote · OracleAMM
—
for 0.001 BTCw sold into the OracleAMM, after the 0.3% spread
Open Swap

THORChain-style CLP pools

Output follows the formula y = x·X·Y/(x+X)²: the larger the order relative to depth, the higher the slip fee, with a 5 bps floor.

OracleAMM at the oracle price

BTCw ⇄ USDw fills at the oracle price ± 0.3%, up to 10 BTCw per order; matching stops when the price is older than 5 minutes.

Sign in your own wallet

The page never holds keys. Orders are simulated before your wallet opens — errors are shown in plain words, at no cost.

Bridge Arbitrum ⇄ Bitcoin Swap. USDC and USD₮0 are locked on Arbitrum and USDw is released on chain 482120, 1 : 1 — via Hyperlane, usually in 10–30 seconds.

Flow of a single deposit
Arbitrum OneUSDC / USD₮0 locked in the router vault
→
Hyperlanevalidators sign checkpoints, the relayer delivers the message to the destination chain
→
Bitcoin Swap 482120the router releases USDw from its vault; choose "Receive BTCw" to swap onward
Reading bridge status…

Standard Hyperlane warp route

Contracts from @hyperlane-xyz/core 12.1.0, collateral ⇄ collateral; source verified on the explorer and Sourcify.

Withdrawals never exceed the vault

The amount withdrawn from one side can never exceed what is locked on that side — the invariant holds per route.

Receive BTCw directly

Deposit USDC/USD₮0 and swap USDw → BTCw in the same flow; to withdraw, swap BTCw → USDw and then cross the bridge.

Prices from a self-hosted oracle. Median of multiple sources, written on-chain using the Chainlink AggregatorV3 interface.

BTC/USD price pipeline
6 BTC price sourcesthe feeder takes the median, writes when it deviates ≥ 0.05%
→
BtcwPriceFeedAggregatorV3 · 8 decimals · 10% jump limit per update
Current price
—
 

Price jump limit

Each update may not move the price more than 10% from the previous one — even a leaked updater key cannot drag the price far.

Stops on stale prices

The OracleAMM and bots stop matching when the price is older than 5 minutes, instead of trading on outdated data.

200 tracked tokens

PriceHub keeps USD prices for 100 crypto tokens and 100 US stocks; each symbol is sourced from several feeds, so one feed going down still leaves others.

Transparency first. Every number on this page is read directly from the chain — you can verify it yourself without trusting this page.

Chain identity
Chain ID482120 (0x75b48)
ConsensusHyperledger Besu · QBFT
Block time5 seconds
Latest block—
Verify it yourself

The Transparency page reads directly from the chain: the block 0 hash, the genesis sha256, the block cadence, and commands you can re-run yourself without trusting this page.

View the Transparency page

Final as soon as the block is made

QBFT finalizes transactions within the block — no reorgs, no need to wait for extra confirmations.

Treasury kept separate

Treasury bot orders are counted separately on the Dashboard, never mixed into user figures.

Public source code

Every contract is verified on the explorer; the genesis and block cadence can be checked on the Transparency page.

Built for developers. The price API, swap contracts and bridge are all public — integrate in a few lines.

shell
# BTCw price (oracle)
curl -s https://btcw.tech/api/price

Returns price_usd, bid/ask, age and status. Check stale before using it.

ethers v6
const p = new JsonRpcProvider("https://rpc.btcw.tech", 482120);
const amm = new Contract("0xd953d53414a81eb6AC5a4edE73d13992181aF51E",
  ["function quoteSellBtcw(uint256) view returns (uint256)"], p);
await amm.quoteSellBtcw(parseEther("0.001"));

OracleAMM quote via eth_call — no fee.

foundry
# withdraw 1 USDw → USD₮0 on Arbitrum
cast send 0xD6d8452FdCC26B155BEc4fc878635c05CaC95FB1 \
  "transferRemote(uint32,bytes32,uint256)" \
  42161 $(cast abi-encode "f(address)" $ME) 1000000000000000000

Approve USDw first; the recipient is the address left-padded to 32 bytes.

Read the full docs →

Live chain, live data. The numbers below are read directly from the chain when you open the page.

201pools paired with BTCw
—blocks produced
5 secondsper block · QBFT
2chains linked via Hyperlane

BTCw price

—
 
Buy / Sell—
Oracle price age—
Pool depth—
Status—

Add to wallet

pick a button — your wallet will ask before adding anything.

Network settings — add manually if your wallet does not support the button above

Network nameBitcoin Swap
RPC URLhttps://rpc.btcw.tech
Chain ID482120
SymbolBTCw
Block explorerexplorer.btcw.tech
USDw token0x3b5BD179CA6Aab4DAF0f842829776843ABe6e727

A dedicated EVM chain for swaps and bridging. Open your wallet, add network 482120 and get started.

$ curl -s https://btcw.tech/api/price