Deployed contracts and addresses
Canonical address book for StakeXDC V3.2, covering the psXDC vault, airdrop distributor, referral program, XDC spot venue, and legacy contracts.
This page is the single source of truth for every address the V3.2 stack interacts with. The UI, indexer, and partner integrations are all wired against the addresses listed here.
V3.2: XDC Liquid Staking (psXDC)
| Contract | Address | Type | Notes |
|---|---|---|---|
PrimeStakedXDC_V3_2 | 0xDc74c0DaED82ae94486DeeF22991d2F54173c734 | ERC-4626 vault (native XDC) | The live psXDC token and vault. Non-upgradeable, deployed with a regular constructor, no proxy. All staking, withdrawals, and share-price reads go here. Permanent-ledger model: rewards accrue at any backing level via the manager reward lane. |
V32AirdropDistributor | 0x9ADb9Dfc340375113042b4722e780D34B1123e47 | Airdrop distributor (finalized) | Batch-minted the snapshot balances of every V3.1 holder onto V3.2 at launch. Permanently finalized; it can never mint again. Kept for on-chain audit trail. |
PrimeStakedXDC_V3_2MigrationBridge (v2 → V3.2) | 0x313e8d6Ad3D16be6318dF2AF5a54A87Aea42c280 | Migration bridge | For V2 stragglers only: burns V2 psXDC and mints V3.2 shares 1:1. It never accepts V3.1 (the airdrop already credited every V3.1 holder 1:1). The vault's migrationBridge repoint to this address is scheduled behind the 24h governance timelock; migration reopens in the app once it executes. |
Referral program
| Contract | Address | Type | Notes |
|---|---|---|---|
ReferralRegistry | 0x9765BE3fd9e0d450bD46Ef2A30A0Feb4B15616B3 | Referral binder | stakeWithReferral(referrer) binds one immutable referrer to the caller and forwards the stake to the vault in one transaction. Minimum bind stake: 100 XDC. |
ReferralRewards | 0xD910E7E0dC457Ccd425E9a5cF716b0F6B7045549 | Epoch Merkle distributor | Pays referrer fee-share per epoch against a posted Merkle root. Roots are immutable per epoch and can never be posted underfunded. |
Superseded liquid-staking vaults (do not use)
| Contract | Address | Status |
|---|---|---|
PrimeStakedXDC_V3_1 (prior vault) | 0xa7FD1c5601348633018003C90aE568d1ff7973e4 | Superseded and paused. Every holder balance at the snapshot was mirrored 1:1 onto V3.2. The V3.1 token is frozen and has no further function. |
PrimeStakedXDC_V3 (original vault) | 0x98D916F5773Ac0482b49856f2659d6c32114C4Ba | Superseded and paused (July 8, 2026: transfers frozen after residual dead-token trading was observed on abandoned pools). Every V3 balance was mirrored 1:1 onto the live token at the snapshot. On XDC this address is the retired token — do not confuse it with the psXDC OFT, which uses the same address on other chains. |
V31AirdropDistributor | 0x3b7185844451a57CC45807243477e442ff1A3553 | The prior (V3 → V3.1) airdrop distributor, finalized. |
Spot Trading (psXDC/XDC DEX)
The protocol-owned spot venue behind stakexdc.com/spot. The factory and router are token-agnostic and carried over from the original deployment; the pair and limit-order book were redeployed against V3.2 in July 2026.
| Contract | Address | Type | Notes |
|---|---|---|---|
| psXDC/WXDC pair (V3.2) | 0x60189924A43947bE7Bf0350E81be0D2f00D95034 | UniswapV2Pair | The live trading pool, seeded at NAV (1:1). Holds V3.2 psXDC and canonical WXDC. |
SpotLimitOrders (V3.2) | 0xcd81d7d83101884D0B070153A0EBC9cD6C14f6B9 | Limit-order book | Non-custodial on-chain limit orders settled against the pair. Makers can always cancel for a full refund of unfilled escrow. |
UniswapV2Router02 | 0xf77440C4Dc3Dcd5Bb93DaA863BF93Fc306EC0791 | Router | Swap and liquidity entry point; wired to the canonical WXDC. |
UniswapV2Factory | 0x3a718EB1b4b06968F78a0a3b7e3dF07037E83f5d | Factory | StakeXDC-owned; created every pair. |
WXDC (canonical) | 0x951857744785E80e2De051c32EE7b25f9c458C42 | Wrapped XDC | Shared network-wide wrapper, not operated by StakeXDC. |
Superseded spot contracts (do not use)
| Contract | Address | Status |
|---|---|---|
| psXDC/WXDC pair (V3.1) | 0x14A11af8980ea7e18B18cAbf4721B61586Bab087 | Holds the now-frozen V3.1 token. LPs were credited their psXDC side in the V3.2 snapshot airdrop; because V3.1 is frozen the pool can no longer be unwound on-chain, so the remaining WXDC leg is refunded manually via the migration-exit page. |
SpotLimitOrders (V3.1) | 0x89dB7715fFc5B8b2C4A604BdD49b006df201247a | Paused. SELL escrow (psXDC) was migrated to V3.2 in the airdrop; BUY orders escrow native XDC and can still be cancelled for a full refund. |
| Old psXDC/WXDC pair (V3) | 0x43a4557d0AF08929680387B2A6edae8068C02FE6 | Retired original-V3 pool. |
Partner Staking
These power the white-label Partner Staking product. The registry is shared; each partner pool is its own independent PartnerStakedXDC_V3 deployment, so pool addresses are discovered dynamically via the registry rather than hard-coded here.
| Contract | Address | Type | Notes |
|---|---|---|---|
PartnerVaultRegistry | 0x325DEEA5C7c0Ce0D774c4A67EcCaAf1cF8953a67 | Registry (Ownable2Step) | On-chain directory of partner pools. Codehash-gated registration; StakeXDC curates which pools are Verified. Enumerate pools via allVaults() / verifiedVaults(). |
PartnerStakedXDC_V3 (per partner) | discover via registry | ERC-4626 vault (native XDC) | Each partner deploys their own pool. Identical runtime bytecode (15% fee constant) so the registry can verify it by codehash. |
Multi-chain: psXDC OFT bridge + rate oracle
psXDC bridges to Base, Arbitrum, BNB Chain and HyperEVM via LayerZero V2. The bridge uses a lockbox on XDC; the rate oracle publishes the psXDC/XDC exchange rate to each chain for lending integrations.
| Contract | Chain | Address | Notes |
|---|---|---|---|
PsxdcOFTAdapter | XDC | 0xefbb71078cba6425EB6fd957ac1F8a235502D71a | Lockbox: locks/unlocks real psXDC. One canonical adapter for the whole mesh. |
PsxdcRateSender | XDC | 0x7215e3a0a1F385127eAC1E84D2F30dBF00c76b04 | Broadcasts previewRedeem(1e18) to all destination oracles. Permissionless push(). |
PsxdcOFT | Base | 0x98D916F5773Ac0482b49856f2659d6c32114C4Ba | Mint/burn psXDC representation. |
PsxdcOFT | Arbitrum | 0x98D916F5773Ac0482b49856f2659d6c32114C4Ba | Same address (deployed at matching nonce). |
PsxdcOFT | BNB Chain | 0x98D916F5773Ac0482b49856f2659d6c32114C4Ba | Same address. |
PsxdcOFT | HyperEVM | 0x98D916F5773Ac0482b49856f2659d6c32114C4Ba | Same address. |
PsxdcRateOracle | Base | 0x2927630dfDd66433DbA9370b316EF5a8408d5dD2 | AggregatorV3Interface psXDC/XDC rate for money markets. |
PsxdcRateOracle | Arbitrum | 0x2927630dfDd66433DbA9370b316EF5a8408d5dD2 | Same address. |
PsxdcRateOracle | BNB Chain | 0x2927630dfDd66433DbA9370b316EF5a8408d5dD2 | Same address. |
PsxdcRateOracle | HyperEVM | 0x2927630dfDd66433DbA9370b316EF5a8408d5dD2 | Same address. |
Every pathway is verified by four required DVNs (Canary, LayerZero Labs, Horizen, Nethermind) — the same operator set that services the live XDC lanes. LayerZero endpoint IDs: XDC 30365, Base 30184, Arbitrum 30110, BNB Chain 30102, HyperEVM 30367.
Indexers (Goldsky subgraphs)
Public GraphQL endpoints the app uses. Versions change when the schema or mapping changes; the previous version stays up for a while after a bump.
| Data | Endpoint | Notes |
|---|---|---|
| Liquid staking (V3.2 vault) | https://api.goldsky.com/api/public/project_cmfycyhiq9jha01wa1hl9fswz/subgraphs/stakingv3/0.0.9/gn | Stakes, redemptions, withdrawal queue, NAV history. Source: staking-v3-indexer. |
Quick reference for integrators
If you are integrating StakeXDC from a partner application, the only contracts you ever call directly are:
PrimeStakedXDC_V3_2(0xDc74…c734) to stake, withdraw, redeem, or read the share price.PrimeStakedXDC_V3_2MigrationBridge(0x313e…c280), only if your users hold V2 psXDC and want to migrate.ReferralRegistry(0x9765…16B3), only if you want a first stake to bind a referrer (stakeWithReferral).
The harvester, bypass facet, distributor, vault implementation, and ProxyAdmin are operated by the protocol and do not need to be called from partner code.
Smart Contract Reference
Two contracts make up Partner Staking: PartnerStakedXDCV32 (the per-partner vault; legacy pools run PartnerStakedXDCV3) and PartnerVaultRegistry (the shared directory).
Audits
All StakeXDC smart contracts undergo independent external audits before deployment and whenever significant updates are introduced.