StakeXDCDocs

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)

ContractAddressTypeNotes
PrimeStakedXDC_V3_20xDc74c0DaED82ae94486DeeF22991d2F54173c734ERC-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.
V32AirdropDistributor0x9ADb9Dfc340375113042b4722e780D34B1123e47Airdrop 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)0x313e8d6Ad3D16be6318dF2AF5a54A87Aea42c280Migration bridgeFor 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

ContractAddressTypeNotes
ReferralRegistry0x9765BE3fd9e0d450bD46Ef2A30A0Feb4B15616B3Referral binderstakeWithReferral(referrer) binds one immutable referrer to the caller and forwards the stake to the vault in one transaction. Minimum bind stake: 100 XDC.
ReferralRewards0xD910E7E0dC457Ccd425E9a5cF716b0F6B7045549Epoch Merkle distributorPays 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)

ContractAddressStatus
PrimeStakedXDC_V3_1 (prior vault)0xa7FD1c5601348633018003C90aE568d1ff7973e4Superseded 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)0x98D916F5773Ac0482b49856f2659d6c32114C4BaSuperseded 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.
V31AirdropDistributor0x3b7185844451a57CC45807243477e442ff1A3553The 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.

ContractAddressTypeNotes
psXDC/WXDC pair (V3.2)0x60189924A43947bE7Bf0350E81be0D2f00D95034UniswapV2PairThe live trading pool, seeded at NAV (1:1). Holds V3.2 psXDC and canonical WXDC.
SpotLimitOrders (V3.2)0xcd81d7d83101884D0B070153A0EBC9cD6C14f6B9Limit-order bookNon-custodial on-chain limit orders settled against the pair. Makers can always cancel for a full refund of unfilled escrow.
UniswapV2Router020xf77440C4Dc3Dcd5Bb93DaA863BF93Fc306EC0791RouterSwap and liquidity entry point; wired to the canonical WXDC.
UniswapV2Factory0x3a718EB1b4b06968F78a0a3b7e3dF07037E83f5dFactoryStakeXDC-owned; created every pair.
WXDC (canonical)0x951857744785E80e2De051c32EE7b25f9c458C42Wrapped XDCShared network-wide wrapper, not operated by StakeXDC.

Superseded spot contracts (do not use)

ContractAddressStatus
psXDC/WXDC pair (V3.1)0x14A11af8980ea7e18B18cAbf4721B61586Bab087Holds 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)0x89dB7715fFc5B8b2C4A604BdD49b006df201247aPaused. 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)0x43a4557d0AF08929680387B2A6edae8068C02FE6Retired 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.

ContractAddressTypeNotes
PartnerVaultRegistry0x325DEEA5C7c0Ce0D774c4A67EcCaAf1cF8953a67Registry (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 registryERC-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.

ContractChainAddressNotes
PsxdcOFTAdapterXDC0xefbb71078cba6425EB6fd957ac1F8a235502D71aLockbox: locks/unlocks real psXDC. One canonical adapter for the whole mesh.
PsxdcRateSenderXDC0x7215e3a0a1F385127eAC1E84D2F30dBF00c76b04Broadcasts previewRedeem(1e18) to all destination oracles. Permissionless push().
PsxdcOFTBase0x98D916F5773Ac0482b49856f2659d6c32114C4BaMint/burn psXDC representation.
PsxdcOFTArbitrum0x98D916F5773Ac0482b49856f2659d6c32114C4BaSame address (deployed at matching nonce).
PsxdcOFTBNB Chain0x98D916F5773Ac0482b49856f2659d6c32114C4BaSame address.
PsxdcOFTHyperEVM0x98D916F5773Ac0482b49856f2659d6c32114C4BaSame address.
PsxdcRateOracleBase0x2927630dfDd66433DbA9370b316EF5a8408d5dD2AggregatorV3Interface psXDC/XDC rate for money markets.
PsxdcRateOracleArbitrum0x2927630dfDd66433DbA9370b316EF5a8408d5dD2Same address.
PsxdcRateOracleBNB Chain0x2927630dfDd66433DbA9370b316EF5a8408d5dD2Same address.
PsxdcRateOracleHyperEVM0x2927630dfDd66433DbA9370b316EF5a8408d5dD2Same 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.

DataEndpointNotes
Liquid staking (V3.2 vault)https://api.goldsky.com/api/public/project_cmfycyhiq9jha01wa1hl9fswz/subgraphs/stakingv3/0.0.9/gnStakes, 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.

On this page