Contract addresses
Latest deployment: v10c on Avalanche C-Chain (chain ID 43114).
Governance
| Contract | Address | Role |
|---|---|---|
| BOSS | 0x5630140E6eCB6242615E9E628095E1A4Ce3903c3 | Protocol owner (multisig) |
| ACMA | 0x2087e2115a419d81d2F5c13fD4B3d8aa187bF9d1 | Access-control manager (OpenZeppelin AccessManager) |
| CAPS | 0xD7e571faa68653D01a6282bB25F03B360eDf57B9 | Delta-based cap wrapper (incSupply/decSupply/incBorrow/decBorrow) |
| POLS | 0xb7320eD834b564416693687B365b4A1fF17Dedc8 | Protocol-owned-liquidity fetch wrapper (fetch variants) |
CAPS and POLS are supervised singletons deployed alongside the core contracts; they receive per-pool roles at enrollment. See Caps wrapper and circuit breaker and Fetching POL.
Tokens
BTC.b is deployed as a recognised collateral token but has no live pool yet.
Pools and oracles
Each pool pairs two tokens; the oracle (a Seer EWMA price-tracker) reports the spot/TWAP price of one asset in units of the other. The first column is the pool's canonical pair name.
Per-pool position contracts (supply position, borrow position, vault) are read off the pool itself:
IPool pool = IPool(0xBEB2fE4e7Db535aE25A08EFac1d523F373435E1D);
ISupplyPosition supply = pool.supplyOf(IERC20(APOW));
IBorrowPosition borrow = pool.borrowOf(IERC20(XPOW));The supply/borrow positions are ERC20Permit tokens (with the protocol's locking and cap features). A separate ERC4626 wrapper, WSupplyPosition (interface IWPosition), is available for tooling that expects a vault interface. Only supply positions are wrappable — there is no WBorrowPosition.
Source verification
All deployed contracts have verified source on snowscan.xyz. The deployment commit hash matches the corresponding tag in the source repository.
Where to go next
- Integration guide — how to wire up to these contracts
- Architecture overview — what each contract does
- CLI and tools — interact from the command line via
banq-cli