Get started › Contract addresses
All contracts on the 482120 side are verified on explorer.btcw.tech. Arbitrum side: exact match on
Sourcify / arbitrum.blockscout.com. Machine-readable version (addresses + ABIs): /developers/contracts.json.
Always identify assets by chainId + address. Symbols such as BTCW and USDW are already used by unrelated assets on other chains.
Assets
| Name | Address (482120) | Notes |
|---|---|---|
| BTCw | native coin — the API uses 0xEeeeeEeeeEeEeeEeEeEeeEEEeeeeEeeeeeeeEEeE | pays gas; paired in every pool |
| USDw | 0x3b5BD179CA6Aab4DAF0f842829776843ABe6e727 | ERC-20, 18 decimals; the asset of the bridge and OracleAMM |
| TokenFactory | 0xa4860BdfaE9B2881B1B593aFFC8740d926eCC1d1 | creates the 200 price-tracker tokens (100 crypto, 100 US stocks); token list: /api/v2/swap/assets |
Swap
| Name | Address (482120) | Notes |
|---|---|---|
| ClpPools | 0x557aDc3d900c471F3907cdDA3a9F5377d6F9E7e0 | 201 THORChain-style pools, each paired with BTCw |
| OracleAMM | 0xd953d53414a81eb6AC5a4edE73d13992181aF51E | BTCw ⇄ USDw at the oracle price ± 0.3% |
| OracleTokenAMM (ETHw) | 0xFd6d78A3b60175D37146793396A2FA7864039D54 | ETHw ⇄ USDw at the oracle price ± 0.3%; the bridge's ETHw destination |
| SwapRouter | 0x397E607eA05eF7909f84540077F3a716778031E4 | chains up to 4 hops across ClpPools / OracleAMM / the ETHw vault into one transaction; ownerless |
| OracleRebalancer | 0x6c811003D301769575e9A8661B9197FAf2A32e69 | pulls token pool prices back to the oracle (crypto and stocks); minter of all 200 price-tracker tokens |
Oracle
| Name | Address (482120) | Notes |
|---|---|---|
| BtcwPriceFeed | 0x6E0687A5D5a5b98CC5fb05c4d8d742fBD75ba96c | BTC/USD, Chainlink AggregatorV3-compatible, 8 decimals |
| PriceHub | 0xE87FDdCC0b668564a20B23F3bE1EE108C805ecb4 | USD prices of the 200 price-tracker tokens, 18 decimals |
Bridge
| Route | Arbitrum One (42161) | Bitcoin Swap (482120) |
|---|---|---|
| USDC | router 0x10B5757aC9a40E3467846e35749ae30b00ef0182 token USDC 0xaf88d065e77c8cC2239327C5EDb3A432268e5831 |
router 0x10EDFF80C17A39940a4dc724b9c24fE9D2E8Fd9b token USDw |
| USD₮0 | router 0x984fDC24D1A2Be538C7290487d0fc212635D98A5 token USD₮0 0xFd086bC7CD5C481DCC9C85ebE478A1C0b69FCbb9 |
router 0xD6d8452FdCC26B155BEc4fc878635c05CaC95FB1 token USDw |
| Mailbox | 0xBf4E868aE56870DC92dC906E1ad21ce038EF3198 | 0x489DC54c2d2f7df9175d7F99716094C85E008392 |
Owner and Treasury wallets
Published so you can filter or monitor them yourself:
| Role | Address |
|---|---|
| Owner — owns every contract above, on both chains | 0x4aFd0A931176103d704Ff0d696614d4E10d74A4a |
| Treasury arbitrage bot (USDw pool) | 0x4b3418e3d21932610faafef8caefdb0f2c05a836 |
The Dashboard and /api/v2/stats report the volume of the bot and OracleRebalancer separately (the treasury_addresses field) — these are the trades
that keep pool prices near the oracle. Owner permissions: Trust model.