Deployed Addresses

Canonical on-chain deployments of Crane core and vendored protocol surfaces.

Source of truth (machine-readable): files under addresses/.
Solidity constants: contracts/constants/networks/BC_TESTNET.sol
Human tables: generated markdown included below (do not hand-edit generated tables).

After a successful broadcast of scripts/foundry/Script_Promo_BC_Launch.s.sol, the script overwrites:

FilePurpose
addresses/battlechain-sepolia.jsonJSON for agents / tooling
addresses/battlechain-sepolia.table.mdmdBook include table

Agent handoff: when the operator says Wave A is deployed, read the JSON, confirm non-zero addresses, ensure this page reflects the table include, and update status / notes if needed.


BattleChain Testnet (chain 627)

FieldValue
Network aliasbattlechain-sepolia
Chain ID627
RPChttps://testnet.battlechain.com
Explorerexplorer.testnet.battlechain.com
Deploy scriptscripts/foundry/Script_Promo_BC_Launch.s.sol
WaveA — Crane core + ERC20Permit + Uni V2/V4 + Permit2 + Safe Harbor
PolicyUse BC-provided deps; do not replace (WETH, Uni V3, …)
Deployer EOA0xF71ea560c6465727efFe07Cfb4e1a05B40520Dd7
Deployed at block17158
StatusDeployed (Wave A live)

Addresses (Wave A)

ComponentAddress
Create3Factory (core)0x0792632343b6a31e4606452aeb50F18A2DE14c27
DiamondPackageCallBackFactory0x12C636556d0e5e5c0f2006583E32AcA49c8d4Ffb
ERC20Facet0x3547a3e83E88c6b080b2d3202a3c3e062A43b196
ERC5267Facet0xe09934dA5103B49D59d67DE904bda7CBd3fB07E8
ERC2612Facet0x8C52034D050D81807d77de91251d14BbE9AA7Fac
ERC20PermitDFPkg0xDeE300dc0708DeD0517f54e70Ac2ddfDaAE3142A
Sample permit token (CBCG)0xe6513392dCB82De2D0Ec345DDd8bbF7fEd836EE7
WETH (BC-provided)0x4CAc28Fc96bb8fa0e6F94ef0E579384902142f42
Uniswap V2 Factory (Crane)0xA5511E60547Bfe2B9d9ED1d25451A334a0389D82
Uniswap V2 Router02 (Crane)0x2E8825338CDfdFa5e7E39031C6cAcBC47cAbd294
Uniswap V3 Factory (BC-provided)0xd5DCFCab1B60C70F45D61597b351674b4b3C8CDc
Uniswap V3 SwapRouter (BC-provided)0x4FC93149e329C15BfF627E967aaA487079D89d2F
Uniswap V3 NPM (BC-provided)0x43d314e63223041C61460c9A2F5e597Ff7D1cd30
Uniswap V4 PoolManager (Crane)0xd88B78f1b9A1DC78D0D4ef1cDdAB318c179E9267
BetterPermit2 (Crane)0x6f52280B6d2DA1159d4176559e958d0A603C95CD
Safe Harbor agreement0xEA85951dA0600989CbbCAbd5CB98212c57410F55

Solidity import

import {BC_TESTNET} from "@crane/contracts/constants/networks/BC_TESTNET.sol";

// Crane Wave A
address factory = BC_TESTNET.CREATE3_FACTORY;
address uniV2 = BC_TESTNET.UNISWAP_V2_FACTORY;

// BattleChain-provided (do not redeploy)
address weth = BC_TESTNET.WETH;
address uniV3 = BC_TESTNET.UNISWAP_V3_FACTORY;

Notes

  • Safe Harbor root is Create3Factory (0xC8E9…AD3A) with ChildContractScope.All — protocol stubs and diamonds are children by deployer lineage. Agreement: 0xC0C1…08f1.
  • Sample permit token (CBCP) is a demo ERC20Permit diamond; it is not mainnet RICH.
  • WETH and Uniswap V3 (factory, SwapRouter, NPM) are BattleChain-provided — Wave A binds to them and does not redeploy.
  • Crane create3-deploys Uni V2, Uni V4 PoolManager, Permit2, and Crane core when not provided by BC.
  • Canonical BC infrastructure + test tokens + mocks also live in BC_TESTNET for ready use.

Operator broadcast (from Crane root)

export DEPLOYER=$(cast wallet address --account deployer)

forge script scripts/foundry/Script_Promo_BC_Launch.s.sol:Script_Promo_BC_Launch \
  --rpc-url battlechain-sepolia \
  --broadcast \
  --skip-simulation \
  --account deployer \
  --sender $DEPLOYER \
  -vv

Then commit updated docs/deployment/addresses/battlechain-sepolia.* and contracts/constants/networks/BC_TESTNET.sol.


Other networks

No Base / Ethereum mainnet Crane deployment address book yet. Add a new JSON + table under addresses/ and a section here when those land.

BattleChain mainnet (626) infrastructure constants: contracts/constants/networks/BC_MAIN.sol (no Crane Wave A deploy there yet).


See also