Contract Addresses
Mainnet — Avalanche C-Chain (43114)
Version 10c (latest)
Protocol version 0x10c1, deployed as version 10.2.0.
| Contract | Alias | Address | Version |
|---|---|---|---|
| XPower | moe | 0xa2Ecb675Ad2A2E199c98F5206C5C3fFE5a8D5753 | 10c |
| XPowerNft | nft | 0x659875b46B2f8ed94f1A40a8F2D2A92a2eBCaedf | 10c |
| APowerNft | ppt | 0x7352CbB7264Aaf9CA076fb5384839Af995b9B5FE | 10c |
| APower | sov | 0x96178A1443039E806F8Ffd56dCE7A80f2161aaA2 | 10c |
| MoeTreasury | mty | 0x398F6c2AC2daCaBd2F4776AF39c6fBeD87779840 | 10c |
| NftTreasury | nty | 0xF113c3fb6b557d84B5A96E19b7918ba8fc21a741 | 10c |
Version 10b
| Contract | Alias | Address | Version |
|---|---|---|---|
| XPower | moe | 0xecCB564C288010eC3F437F2d9A7a836BD30DA165 | 10b |
| XPowerNft | nft | 0xfB220D8A1Dea451B6613Acb3EE9836211c1c58eB | 10b |
| APowerNft | ppt | 0x4b9A3F6048852fe1E78aFab8C76fa6C91dc9c6B4 | 10b |
| APower | sov | 0xbde79B2a371eA759a85901e4a185D03399C089C1 | 10b |
| MoeTreasury | mty | 0xc860D6446DB7E9241419ca7106B3053e1e068580 | 10b |
| NftTreasury | nty | 0xC8c2229cA0A3c08b3cf50b9F0f973DD1474D3d20 | 10b |
Version 10a
| Contract | Alias | Address | Version |
|---|---|---|---|
| XPower | moe | 0x8f0A35CaBD10E830C8c10629CF539c2e0f1f3481 | 10a |
| XPowerNft | nft | 0x2a693BC2C1F25168b4E9640185Ca24184c2a7969 | 10a |
| APowerNft | ppt | 0x6189CFd507Bbd11897bB061254873FC03e2a1fda | 10a |
| APower | sov | 0xf3dd4E0a1dB7C5DCbf3b225698Cb6A916AEB24d9 | 10a |
| MoeTreasury | mty | 0x6e6682b9001E13A8665b8C8D6a57391d88F0759f | 10a |
| NftTreasury | nty | 0x2d370cA0B391D77dE09C7C3E1eDe327718ef16d9 | 10a |
Earlier Versions (v9.x selected)
Earlier version contracts (01a through 09c) exist for migration purposes. Each version has entries in the .env.mainnet file with keys like XPOW_MOE_09c, XPOW_NFT_09c, etc. The full history spans:
| Version Range | Type | Contract Count |
|---|---|---|
| 01a–09c | moe (XPower) | 24 contracts |
| 02a–09c | nft (XPowerNft) | 24 contracts |
| 04a–09c | ppt (APowerNft) | 18 contracts |
| 05a–09c | sov (APower) | 15 contracts |
| 04a–09c | mty (MoeTreasury) | 18 contracts |
| 04a–09c | nty (NftTreasury) | 18 contracts |
For full historical addresses, see the .env.mainnet file in the xpower-fy.git repository.
Testnet — Avalanche Fuji (43113)
Version 10c (latest)
| Contract | Alias | Address | Version |
|---|---|---|---|
| XPower | moe | 0x26C02a01a6a26BeAcbE2993BcFdAdC7b29267DE6 | 10c |
| XPowerNft | nft | 0xEF14Ac9D1Eb9fdFbfBF73460bA04eCC58dbda7b7 | 10c |
| APowerNft | ppt | 0x6dC31A9De98Bd5270130Ed98294cb6b8C01DBcF5 | 10c |
| APower | sov | 0xEA1970aBbE7a2B2A8d519b24fa0fb7f5fc0f7705 | 10c |
| MoeTreasury | mty | 0x22bB569597C63ec60F098fe6D27E4F437DA96FB1 | 10c |
| NftTreasury | nty | 0x00Aaf7ec13DbeB91B6f103045972bD4cDAAE9E4A | 10c |
Version 10b
| Contract | Alias | Address | Version |
|---|---|---|---|
| XPower | moe | 0x9aB4c0A3E53F48f6c949a0E6106819bFC40c45f0 | 10b |
| XPowerNft | nft | 0x62f833DbEa15BefF71F17aED923ae8D217c507ed | 10b |
| APowerNft | ppt | 0x0b6573e9f0DE7A81Df8eF713D7A26e779c5321E5 | 10b |
| APower | sov | 0x0A2cD167e3F60f33b255e8fA427cF1F6e63fB129 | 10b |
| MoeTreasury | mty | 0xb5e0603f993a32C2419Bb5d09dD18a184Da14f72 | 10b |
| NftTreasury | nty | 0x3Af55bA649A3a2Fc0ef3BD8Bf115137C3fb033a2 | 10b |
Version 10a
| Contract | Alias | Address | Version |
|---|---|---|---|
| XPower | moe | 0xa57C5a81Aa3A1A6d13c3D9a0a0fB68d7BE049E7e | 10a |
| XPowerNft | nft | 0xC0BB792CC0509c3a0516388EFD4026d778bdBf0d | 10a |
| APowerNft | ppt | 0x3B89488B7bd797eece629bbc7e660B6be3EEdB03 | 10a |
| APower | sov | 0xbecD759dd9C2192067c6e798a0eEc2D5111DEf56 | 10a |
| MoeTreasury | mty | 0xdB82c51380bC013c2A3CE9bDedF5216Db06df7f9 | 10a |
| NftTreasury | nty | 0xEAc90a1070E60E09B642c12f38dF774f340137D6 | 10a |
Version Schema
Versions follow the pattern {major}{minor}{patch} where:
- Major (
10): Protocol generation (v10.x = Foundry-based, v9.x = Hardhat-based) - Minor (
a,b,c): Deployment iteration within the same protocol - Patch (
1): Protocol sub-version encoded inConstant.VERSION = 0x10c1
The c suffix indicates the third (and typically final) deployment for a version. Migration from earlier versions (e.g., 10a → 10b → 10c) is supported via the Migratable/NftMigratable base contracts with a ~4-year deadline (126,230,400 seconds).
What Changed Between Versions
| Version | Protocol | Key Changes |
|---|---|---|
| 08a–09c | 0x1000 | v9.x (Hardhat) — legacy contracts |
| 10a | 0x10a0 | v10.x (Foundry) — initial rewrite, transient storage, Banq system |
| 10b | 0x10b0 | Parameter refinements, migration path hardening |
| 10c | 0x10c1 | Current: polynomial rates, integrator mechanism, RPP guardrails |
Selected v9.x Addresses for Migration (Mainnet)
These are the most recent v9.x contracts that users migrate from:
| Contract | Alias | Version 09c Address |
|---|---|---|
| XPower | moe | 0x735D8f3B6A5d2c96D0405230c50Eaf96794FbB88 |
| XPowerNft | nft | 0x871832d8c04deCE15E87F1b04aCCA01DC1066Ec7 |
| APowerNft | ppt | 0x0d7b30580A94E293BD29A9d33798617a384fCB0C |
| APower | sov | 0x7F9C841FEAdDdB4bdBB2A161cA40bEbc4F215a9A |
| MoeTreasury | mty | 0x6C48c9d2A3eD1153DB507Dc1D6e1ed0FCb39f909 |
| NftTreasury | nty | 0x2a7faFdAb55458429EbB92f59598ED5762754Ab4 |
Network Details
| Property | Mainnet (C-Chain) | Testnet (Fuji) |
|---|---|---|
| Chain ID | 43114 | 43113 |
| RPC URL | https://api.avax.network/ext/bc/C/rpc | https://api.avax-test.network/ext/bc/C/rpc |
| Explorer | snowtrace.io | testnet.snowtrace.io |
| Currency | AVAX | AVAX |
| Block Time | ~2s | ~2s |
| Gas Token | AVAX (18 decimals) | AVAX (18 decimals) |
Reading Addresses Programmatically
From .env Files (Foundry Deployment)
# Load mainnet addresses
source xpower-fy.git/.env.mainnet
echo "XPower 10c: $XPOW_MOE_10c"
echo "XPowerNft 10c: $XPOW_NFT_10c"
echo "APower 10c: $APOW_SOV_10c"Latest Address per Contract (TypeScript)
const CONTRACTS = {
mainnet: {
moe: "0xa2Ecb675Ad2A2E199c98F5206C5C3fFE5a8D5753",
nft: "0x659875b46B2f8ed94f1A40a8F2D2A92a2eBCaedf",
ppt: "0x7352CbB7264Aaf9CA076fb5384839Af995b9B5FE",
sov: "0x96178A1443039E806F8Ffd56dCE7A80f2161aaA2",
mty: "0x398F6c2AC2daCaBd2F4776AF39c6fBeD87779840",
nty: "0xF113c3fb6b557d84B5A96E19b7918ba8fc21a741",
},
testnet: {
moe: "0x26C02a01a6a26BeAcbE2993BcFdAdC7b29267DE6",
nft: "0xEF14Ac9D1Eb9fdFbfBF73460bA04eCC58dbda7b7",
ppt: "0x6dC31A9De98Bd5270130Ed98294cb6b8C01DBcF5",
sov: "0xEA1970aBbE7a2B2A8d519b24fa0fb7f5fc0f7705",
mty: "0x22bB569597C63ec60F098fe6D27E4F437DA96FB1",
nty: "0x00Aaf7ec13DbeB91B6f103045972bD4cDAAE9E4A",
},
} as const;
// Verify version on-chain
// All contracts expose: uint256 public constant VERSION = Constant.VERSION;
// Expected: 0x10c1 (decimal: 4289)On-Chain Version Check
// Verify you're interacting with the correct version
uint256 version = XPower(moeAddress).VERSION();
require(version == 0x10c1, "Wrong contract version");NFT Metadata URIs
| Contract | URI |
|---|---|
| XPowerNft (XPOWNFT) | https://ipfs.xpowermine.com/ipfs/QmYLeF7MaWkb5mvvLLxsokEw8TrCvgX9ENgkVYKV9YHsxa/320x427/{id}.json |
| APowerNft (APOWNFT) | https://ipfs.xpowermine.com/ipfs/QmUgpAqFDfqxPVmarPG1X2G96onUFSvK9bZBimZXXy6FFq/320x427/{id}.json |
Verification
All contract source code is verified on Snowtrace. ABI and source can be accessed via:
- Snowtrace API:
https://api.snowtrace.io/api?module=contract&action=getabi&address=<ADDRESS> - Foundry build output:
out/<ContractName>.sol/<ContractName>.jsoninxpower-fy.git/ - GitHub:
https://github.com/blackhan-software/xpower-fy/tree/main/source/contracts
Deployment Order
All versions follow the same deployment sequence:
moe— XPower (ERC20)nft— XPowerNft (ERC1155)ppt— APowerNft (ERC1155)sov— APower (ERC20)mty— MoeTreasurynty— NftTreasury- Role transfer scripts (
*.role.s.sol)
Post-deployment, ownership is transferred: mty owner → nty; sov owner → mty; ppt owner → nty. This is done in constructors where possible or via role scripts.